使用参数化位置创建 table
Create table with parameterized location
这是针对 Hive 1.1.0 和 Cloudera 5.4.8。
我已经尝试了 here 建议的解决方案,但它似乎对我不起作用。我已经通过 "hive -e" 和脚本文件尝试了类似以下内容:
set rootpath = 'hdfs:///user/myuser/data';
DROP TABLE mytable;
CREATE [EXTERNAL] TABLE mytable (
Dim1 STRING,
Dim2 STRING,
Dim3 STRING )
LOCATION ${hiveconf:rootpath};
我刚得到错误:
FAILED: ParseException line 1:126 mismatched input '<EOF>' expecting StringLiteral near 'LOCATION' in table location specification
有什么办法可以解决这个问题吗?
您的脚本需要一些小改动
set hiveconf:rootpath='hdfs:///user/myuser/data';
DROP TABLE mytable;
CREATE [EXTERNAL] TABLE mytable (
Dim1 STRING,
Dim2 STRING,
Dim3 STRING )
LOCATION '${hiveconf:rootpath}';
这是针对 Hive 1.1.0 和 Cloudera 5.4.8。
我已经尝试了 here 建议的解决方案,但它似乎对我不起作用。我已经通过 "hive -e" 和脚本文件尝试了类似以下内容:
set rootpath = 'hdfs:///user/myuser/data';
DROP TABLE mytable;
CREATE [EXTERNAL] TABLE mytable (
Dim1 STRING,
Dim2 STRING,
Dim3 STRING )
LOCATION ${hiveconf:rootpath};
我刚得到错误:
FAILED: ParseException line 1:126 mismatched input '<EOF>' expecting StringLiteral near 'LOCATION' in table location specification
有什么办法可以解决这个问题吗?
您的脚本需要一些小改动
set hiveconf:rootpath='hdfs:///user/myuser/data';
DROP TABLE mytable;
CREATE [EXTERNAL] TABLE mytable (
Dim1 STRING,
Dim2 STRING,
Dim3 STRING )
LOCATION '${hiveconf:rootpath}';