【发布时间】:2015-01-10 06:01:38
【问题描述】:
我用 Non-partition 表创建了一个 Hive 表,并使用选择查询将数据插入到 Partitioned Hive 表中。
- 通过上面的链接,我的分区表包含重复值。以下是设置
这是我的示例员工数据集:link1
我尝试了以下查询:link2
但在更新 Hive 表中的值后,
将 EmployeeID 为 19 的 Steven 的工资更新为 50000。
插入覆盖表 Unm_Parti_Trail 分区(部门 = 'A') SELECT employeeid,firstname,designation, CASE WHEN employeeid=19 THEN 50000 ELSE 工资 END AS 工资 FROM Unm_Parti_Trail;
值正在重复。
7 Nirmal Tech 12000 A
7 Nirmal Tech 12000 B
Nirmal 仅放置在部门 A,但会复制到部门 B。
我做错了什么吗?
请提出建议。
【问题讨论】:
-
似乎在您第一次插入新表时,所有行都被选中。 SELECT EmployeeID, FirstName,Designation,Salary FROM Unm_Dup_Parti_Trail WHERE department='A' 是什么意思?返回?
-
@kabamaru:返回9条记录,不重复
-
尝试同时选择您选择的部门字段,看看这是否适合您。例如:SELECT EmployeeID, FirstName,Designation,Salary, Department FROM Unm_Dup_Parti_Trail WHERE department='A';
-
Unm_Dup_Parti_Trail 表不包含任何重复项,重复项在分区表中 Unm_Parti_Trail.Unm_Dup_Parti_Trail 表是为了将数据加载到分区表中而创建的。我按照上面的链接进行操作。不知道它是否正确。
-
@kabamaru:这是我引用的链接blog.safaribooksonline.com/2012/12/03/…