插入表的特定列

时间:2015-11-03 08:41:39

标签: hadoop hive hiveql

根据https://issues.apache.org/jira/browse/HIVE-9481,支持插入Hive的特定列。根据此链接的语法是: 插入目标(colA,colB)选择colX,colY from source;

然而,当我尝试在Hive中执行相同操作时,我收到错误:

语义异常:插入架构规范中的[colA,colB]在default.target的常规列和动态分区中都找不到。

如何通过指定列列表在Hive中插入值? 请帮忙。

2 个答案:

答案 0 :(得分:4)

Hive支持插入并指定列列表。 我犯的错误是我引用了列名,就像它们在我的脚本的create table语句中一样。 通过使用我的表中使用的列的小写名称替换此列表来纠正此问题。 另外,我添加了关键字表,虽然是可选的。 语法:

INSERT INTO TABLE target(cola,colb,colc)从源中选择colx,coly,colz;

答案 1 :(得分:0)

我相信您还需要在目标表名称后放置单词分区。

示例:INSERT INTO TABLE目标 PARTITION (可乐,可乐,可乐)从中选择可乐,可乐,可乐 来源;

否则,我们将注意到与原始帖子中记录的错误