将数据从另一个表插入配置单元中的选定列

5q4ezhmt  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(219)

我有两个配置单元表,一个有很多列和数据,另一个有一些匹配的列和一些不匹配的列。
我希望能够从第一个表中插入数据,并指定要将其插入的列,例如:
表1(水果):苹果串、橙子串、梨串、葡萄串、猕猴桃串;
表2(水果和蔬菜):梨串、胡萝卜串、猕猴桃串;
我想要一个接近以下内容的insert语句:

insert overwrite table fruitAndVeg x (x.Pears, x.kiwi) select y.Pears, y.kiwi from fruit y;

我知道下面的代码是可能的,但我的表中有更多的数据,因此尝试指定列,而不是手动插入null或空字符串:

insert overwrite table fruitAndVeg select y.Pears, emptystring, y.kiwi from fruit y;

感谢您的帮助。
注意。也可以使用 Impala ,如果这是比较容易的。

vtwuwzda

vtwuwzda1#

使用insert overwrite时请小心,因为它将替换表中的任何现有数据。如您所说,其中一个表包含大量数据。
对于您的问题,您可以执行以下操作:
将水果和蔬菜(梨、猕猴桃)放入餐桌,从水果中选择梨、猕猴桃;
注意insert into子句中的pears和kiwi的大小写(首选小写),因为hive区分大小写。

相关问题