在配置单元中添加具有常量值的新列

时间:2014-05-02 17:22:31

标签: hive hiveql

我正在尝试使用额外的列从另一个表errcode创建一个名为errtable的表。 errcode表具有以下模式:

id STRING,
msg STRING

errtable有一个额外的列,即app_name

appname STRING,
id STRING,
msg STRING

我尝试运行的查询如下:

INSRT overwrite table ERRTABLE
SELECT ${APPLICATION_NAME} as appname, err.id, err.msg
FROM (
  SELECT * from ERRCODE
)ERR;

APPLICATION_NAME是一个常量变量,使用-d选项(-d APPLICATION_NAME = myapp)传递给我的配置单元脚本。我收到以下错误消息: FAILED:SemanticException [错误10004]:第4行:7无效的表别名或列引用 ' myapp' :(可能的列名是:id,msg)。谁能帮助我弄清楚我做错了什么?

1 个答案:

答案 0 :(得分:2)

@Santanu:试试这个应该有效

INSERT overwrite table ERRTABLE  
SELECT '${APPLICATION_NAME}' as appname, err.id as id, err.msg as msg FROM ERRCODE err;