使用参数化位置创建表

brc7rcf0  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(368)

这适用于hive 1.1.0和cloudera 5.4.8。
我已经尝试了这里建议的解决方案,但是它似乎对我不起作用。我通过“hive-e”和脚本文件尝试了以下方法:

  1. set rootpath = 'hdfs:///user/myuser/data';
  2. DROP TABLE mytable;
  3. CREATE [EXTERNAL] TABLE mytable (
  4. Dim1 STRING,
  5. Dim2 STRING,
  6. Dim3 STRING )
  7. LOCATION ${hiveconf:rootpath};

我只是得到一个错误:

  1. FAILED: ParseException line 1:126 mismatched input '<EOF>' expecting StringLiteral near 'LOCATION' in table location specification

我能做些什么来解决这个问题吗?

xzlaal3s

xzlaal3s1#

脚本中需要一些小的更改

  1. set hiveconf:rootpath='hdfs:///user/myuser/data';
  2. DROP TABLE mytable;
  3. CREATE [EXTERNAL] TABLE mytable (
  4. Dim1 STRING,
  5. Dim2 STRING,
  6. Dim3 STRING )
  7. LOCATION '${hiveconf:rootpath}';

相关问题