使用HiveQL进行重复数据消除
我有一个带有字段“a”(int)、“b”(string)、“c”(bigint)、“d”(bigint)和“e”(string)的配置单元表。使用HiveQL进行重复数据消除,hive,hiveql,deduplication,Hive,Hiveql,Deduplication,我有一个带有字段“a”(int)、“b”(string)、“c”(bigint)、“d”(bigint)和“e”(string)的配置单元表。 我有如下数据: a b c d e --------------- 1 a 10 18 i 2 b 11 19 j 3 c 12 20 k 4 d 13 21 l 1 e 14 22 m 4 f 15 23 n 2 g 16 24 o 3 h 17 25 p 表按键“b”排序。
我有如下数据:
a b c d e
---------------
1 a 10 18 i
2 b 11 19 j
3 c 12 20 k
4 d 13 21 l
1 e 14 22 m
4 f 15 23 n
2 g 16 24 o
3 h 17 25 p
表按键“b”排序。现在我们希望输出如下所示:
a b c d e
---------------
1 e 14 22 m
4 f 15 23 n
2 g 16 24 o
3 h 17 25 p
将在键“a”上删除重复数据,但保留最后一个(最新的)“b”
是否可以使用配置单元查询(HiveQL)?如果列b是唯一的,请尝试遵循hql:
select
*
from
(
select max(b) as max_b
from
table
group by a
) table1
join table on table1.max_b = table.b
这可以用一个非常简单的Map/Reduce作业来表示,该作业只有一个映射器