这可以按预期工作:
DROP TABLE mytable;
CREATE EXTERNAL TABLE mytable (
Dim1 STRING,
Dim2 STRING,
Dim3 STRING )
LOCATION 'hdfs:///user/myuser/data';
但这不是:
set rootpath = 'hdfs:///user/myuser/data';
DROP TABLE mytable;
CREATE EXTERNAL TABLE mytable (
Dim1 STRING,
Dim2 STRING,
Dim3 STRING )
LOCATION '${hiveconf:rootpath}';
失败并出现以下错误(Hive 0.9.0):
失败:解析错误:第9:11行输入'hdfs'不匹配期待''''附近的EOF
我做错了什么,或者这是一个已知的问题/限制?有没有关于变通方法的建议?
答案 0 :(得分:2)
我认为它应该是LOCATION ${hiveconf:rootpath}
。
答案 1 :(得分:0)
您还可以使用我们经常在create table DDL中使用的环境变量。它可以称为$ {env:variable_name}