1

这按预期工作:

 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

我做错了什么,还是这是一个已知问题/限制?对解决方法有什么建议吗?

4

2 回答 2

2

我认为它应该读LOCATION ${hiveconf:rootpath}

于 2013-03-13T12:02:31.107 回答
0

您还可以使用我们在创建表 DDL 中经常使用的环境变量。它可以称为 ${env:variable_name}

于 2014-02-03T20:53:31.683 回答