我有两张像下面这样的table。基本上我想加入他们两个和预期的结果如下。
表2的前3行没有任何活动id为空。
所有字段都用制表符分隔。“33”类有三种描述,如表2所示。
我们需要使用“activity id”来获得“33”类别的结果,因为它有3个值。
有人能告诉我如何实现这个输出吗?
表:1
empid类别活动ID
44126 33列车
44127 10号ufl
44128 12台
44129 33未分配
44130 15微软
44131 33福利
44132 43福利
表2:
类别活动ID类别ESC
10计费
12计费
15不计费
33列车培训
33未分配的工作台
33福利
43福利
预期产量:
44126 33培训
44127 10计费
44128 12计费
44129 33长凳
44130 15非计费
44131 33福利
44132 43福利
2条答案
按热度按时间uwopmtnx1#
我不知道我是否理解你的问题或你的数据,但这会起作用吗?
oymdgrw72#
做这个Hive有点困难,因为有很多限制。我就是这样解决的,但还有更好的办法。
我给你们的table命名如下。表1=EMP活动表2=activitymas
挑战来自表2中的空字段。我创建了一个视图,并使用union来组合来自两个不同查询的结果。
必须使用顶级select子句,因为顶级语句不直接支持union all。这将运行3个mr jobs。下面是我得到的结果。