event1 id1 foo_id1
event1 id1 foo_id2
event1 id1 foo_id3
event1 id1 foo_id4
event1 id1 foo_id1
event1 id2 foo_id1
event1 id2 foo_id2
event1 id3 foo_id1
event1 id1 foo_id1
event1 id3 foo_id3
event1 id4 foo_id1
event1 id4 foo_id2
event1 id1 foo_id1
event1 id4 foo_id3
event1 id4 foo_id4
event2 foo_id1
event2 foo_id2
event2 foo_id3
event2 foo_id3
所有事件(即,事件1、事件2)都有foo\u id。对于“event1”中的所有事件,我想知道这些foo\u id在event2中发生了多少次。
我希望o/p是这样的:
id1 foo_id1 1
id1 foo_id2 1
id1 foo_id3 1
id2 foo_id1 1
id2 foo_id2 1
如何编写配置单元脚本以按预期格式返回数据
INSERT OVERWRITE TABLE table1
SELECT e1.id, e1.foo_id, count(e2.foo_id)
FROM events e1
LEFT OUTER JOIN events e2
ON e1.foo_id = e2.foo_id
WHERE e2.event = 'event2'
AND e1.event = 'event1'
GROUP BY e1.id, e1.foo_id;
我试过上面的Hive脚本。但是,o/p显示如下:
id1 foo_id1 4
id1 foo_id2 1
id1 foo_id3 2
id2 foo_id1 1
id2 foo_id2 1
如何编写配置单元脚本以按预期格式返回数据?
1条答案
按热度按时间h5qlskok1#
如果只是格式化和将第三列设置为count=x的问题,那么可以使用
concat
配置单元中的自定义项: