根据https://issues.apache.org/jira/browse/HIVE-9481,支持插入Hive的特定列。根据此链接的语法是: 插入目标(colA,colB)选择colX,colY from source;
然而,当我尝试在Hive中执行相同操作时,我收到错误:
语义异常:插入架构规范中的[colA,colB]在default.target的常规列和动态分区中都找不到。
如何通过指定列列表在Hive中插入值? 请帮忙。
答案 0 :(得分:4)
Hive支持插入并指定列列表。 我犯的错误是我引用了列名,就像它们在我的脚本的create table语句中一样。 通过使用我的表中使用的列的小写名称替换此列表来纠正此问题。 另外,我添加了关键字表,虽然是可选的。 语法:
INSERT INTO TABLE target(cola,colb,colc)从源中选择colx,coly,colz;
答案 1 :(得分:0)
我相信您还需要在目标表名称后放置单词分区。
示例:INSERT INTO TABLE目标 PARTITION (可乐,可乐,可乐)从中选择可乐,可乐,可乐 来源;
否则,我们将注意到与原始帖子中记录的错误