2012-05-07 180 views
0

我正在蜂巢在Oozie的動作設置屬性變量。有沒有一種方法可以在Hive中使用屬性變量?如果是的話,我該如何設置它們?例如:當我創建一個外部表格時,我很願意將該位置設置爲一個外部表格。在蜂巢

CREATE EXTERNAL TABLE IF NOT EXISTS test(
id bigint, 
name string 
) 
row format DELIMITED FIELDS TERMINATED BY "^" 
location "/user/test/data"; 

那麼,是否可以設置位置爲

location ${input} 

凡在我設置$(輸入)在我的屬性文件

+0

可變取代鏈路似乎沒有被激活了。試試這個http://archive.cloudera.com/cdh/3/hive/language_manual/var_substitution.html –

回答

1

發現在從對上述問題的約定,你可以通過在命令蜂巢使用${hiveconf:input}訪問屬性。

爲了定義一個名爲輸入財產,你將不得不修改蜂房的site.xml並添加一個片段像

<property> 
    <name>input</name> 
    <value>input_value</value> 
</property> 

但是,如果輸入是一個環境變量(比如,來自bash),你可以使用${env:input}來訪問它。例如,${env:HOME}${env:PATH}

1

您可以設置一個與set input=/user/test/data${hiveconf:input}檢索。 A的這個更詳細的描述可以在這裏using variables