2012-05-07 183 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