我正在尝试使用额外的列从另一个表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)。谁能帮助我弄清楚我做错了什么?
答案 0 :(得分:2)
@Santanu:试试这个应该有效
INSERT overwrite table ERRTABLE
SELECT '${APPLICATION_NAME}' as appname, err.id as id, err.msg as msg FROM ERRCODE err;