我正在运行Hive作为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 :(得分:1)
您可以使用set input=/user/test/data
设置一个并使用${hiveconf:input}
进行检索。
有关详细说明,请参见using variables
答案 1 :(得分:1)
遵循上述问题的惯例,您可以在hive命令中使用${hiveconf:input}
来访问该属性。
为了定义名为 input 的属性,您必须修改hive-site.xml并添加一个代码片段
<property>
<name>input</name>
<value>input_value</value>
</property>
但是,如果 input 是环境变量(例如,来自bash),则可以使用${env:input}
访问它。例如,${env:HOME}
或${env:PATH}