impression lineid1 cookieid1
impression lineid1 cookieid2
impression lineid1 cookieid3
impression lineid1 cookieid4
impression lineid1 cookieid1
impression lineid2 cookieid1
impression lineid2 cookieid2
impression lineid3 cookieid1
impression lineid1 cookieid1
impression lineid3 cookieid3
impression lineid4 cookieid1
impression lineid4 cookieid2
impression lineid1 cookieid1
impression lineid4 cookieid3
impression lineid4 cookieid4
conversion cookieid1
conversion cookieid2
conversion cookieid3
conversion cookieid3
所有事件(即印象、转化)都有 cookie_id。对于“印象”中的所有事件,我想知道这些 cookie_id(s) 在转换中发生了多少次。
我想要这样的 o/p:
line_id1 cookie_id1 count=1
line_id1 cookie_id2 count=1
line_id1 cookie_id3 count=1
line_id2 cookie_id1 count=1
line_id2 cookie_id2 count=1
如何编写一个hive脚本以期望的格式返回数据
最佳答案
通过cookieid加入表本身。过滤左行是展示而右行是转化的行。按 lineid 和 cookieid 分组以获取计数。
select lineid, cookieid, count(*) as count
from table t1 join table t2
on t1.cookieid = t2.cookieid
where t1.event = 'impression'
and t2.event = 'conversion'
group by lineid, cookieid
此查询不会返回没有转化的组合。
希望对您有所帮助。
关于hadoop - 如何编写配置单元脚本以预期格式返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16854162/