插入覆盖分区蜂巢表 - 价值观得到复制(Insert overwrite partition in

2019-10-21 06:39发布

我创建非分区表,并使用我插入数据到分区蜂巢表选择查询蜂房表。

Refered网站

  1. 通过以上下面的链接我的分区表包含重复的值。 下面是setps

这是我的样本数据集的员工: 链接1

我尝试了以下疑问: 链接2

但在蜂巢表更新值之后,

更新史蒂芬的薪水与雇员19至50000。

INSERT OVERWRITE TABLE Unm_Parti_Trail PARTITION(部门= 'A')SELECT雇员,姓名,名称,CASE WHEN雇员= 19 THEN ELSE 50000薪水END AS薪金FROM Unm_Parti_Trail;

值越来越重复。

7       Nirmal  Tech    12000   A
7       Nirmal  Tech    12000   B

尼尔默尔只放置在处,但它被复制到部门B。

难道我做错了什么?

请建议。

Answer 1:

好像你在过去的INSERT OVERWRITE忘了WHERE子句:

INSERT INTO TABLE Unm_Parti_Trail PARTITION (Department = 'A') 
SELECT employeeid,firstname,designation, CASE WHEN employeeid=19 
THEN 50000 ELSE salary END AS salary FROM Unm_Parti_Trail 
WHERE department = 'A';


Answer 2:

一个可能的解决方案。

当你插入,必须选择分区字段的查询最后的。 例如:

INSERT INTO TABLE Unm_Parti_Trail PARTITION(department='A') 
SELECT EmployeeID, FirstName,Designation,Salary, Department 
FROM Unm_Dup_Parti_Trail
WHERE department='A';

看到这个链接获取更多信息。



文章来源: Insert overwrite partition in Hive table - Values getting duplicated