在配置单元中添加具有恒定值的新列
Posted
技术标签:
【中文标题】在配置单元中添加具有恒定值的新列【英文标题】:Adding a new column with a constant value in hive 【发布时间】:2014-05-02 17:22:30 【问题描述】:我正在尝试从另一个带有额外列的表 errcode 创建一个名为 errtable 的表。 errcode 表具有以下架构:
标识字符串, 消息字符串errtable 有一个额外的列,即 app_name
应用名称字符串, 标识字符串, 消息字符串我尝试运行的查询如下:
INSRT 覆盖表 ERRTABLE 选择 $APPLICATION_NAME 作为应用名称、err.id、err.msg 从 ( 从错误代码中选择 * )呃;APPLICATION_NAME 是一个常量变量,它使用 -d 选项 (-d APPLICATION_NAME=myapp) 传递给我的配置单元脚本。我收到以下错误消息: 失败:SemanticException [错误 10004]:第 4:7 行无效的表别名或列引用 'myapp':(可能的列名是:id、msg)。谁能帮我弄清楚我做错了什么?
【问题讨论】:
【参考方案1】:@Santanu:试试这个应该可以的
INSERT overwrite table ERRTABLE
SELECT '$APPLICATION_NAME' as appname, err.id as id, err.msg as msg FROM ERRCODE err;
【讨论】:
以上是关于在配置单元中添加具有恒定值的新列的主要内容,如果未能解决你的问题,请参考以下文章