2013-04-21 34 views
1

我在RHEL上安裝了Hive cdh4。無論何時從目錄啓動Hive,它都會在其中創建metastore_db目錄,並創建一個derby.log文件。這是一種正常的行爲嗎?而且,當我創建一個表時,從一個特定的目錄啓動Hive;當我從一個目錄啓動Hive時,我無法看到該表格,除此之外。從另一個目錄啓動時Hive不顯示錶格

例如, 假設我從我的家庭目錄開始Hive,即$ HOME或〜,並且我在Hive中創建表。但是當我從/ path /到/ my/Hive /目錄啓動Hive並執行一個顯示錶時,我剛剛創建的表不會顯示出來。但是,如果再次從我的主目錄啓動Hive並查找表格,我可以看到表格。

此外,如果我在hive-site.xml中做了一些更改,它們僅僅被Hive忽略。

請幫我我哪裏錯了。

回答

2

你可以改變這一點,並通過更新 「$ HIVE_HOME/conf目錄/蜂房default.xml中」 文件的 「javax.jdo.option.ConnectionURL」 使用一個metastore_db如下:

<property> 
     <name>javax.jdo.option.ConnectionURL</name> 
     <value>jdbc:derby:;databaseName=/path/to/my/metastore_db;create=true</value> 
     <description>JDBC connect string for a JDBC metastore</description> 
    </property> 

哪裏/path/to/my/metastore_db是你想保持元存儲分貝的位置。

+0

hi @ scarle88!謝謝你的幫助。但是,如果我在hive-site.xml中做了一些更改,他們僅僅被Hive忽略了。在新的Hive中,它們在$ HIVE_HOME/conf中擁有hive-default.xml.tempelate,而hive-site.xml位於$ HIVE_HOME/src/conf/hive-site.xml或$ HIVE_HOME/src/common/src /測試/資源/蜂房site.xml中。那麼,現在我該更換哪一個? – Harman 2013-04-21 17:55:56

+0

默認情況下$ HIVE_HOME/conf /文件夾中沒有hive-site.xml。 hive-default.xml中充滿了您可以在配置單元中覆蓋的示例設置。爲了覆蓋設置,你需要在$ HIVE_HOME/conf /中創建一個hive-site.xml文件,並添加上面的megastore.dB設置,它應該可以工作。 – 2013-04-21 18:26:48

+0

謝謝@ scarle88。我還有一個問題,它可能聽起來很愚蠢,但是有沒有辦法設置一個默認目錄,其中可以創建derby.log而不是任何地方? – Harman 2013-04-21 18:30:39

相關問題