如何编写配置单元脚本以返回预期格式的数据

时间:2013-05-31 09:32:33

标签: hadoop hive

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_ids。对于“展示”中的所有活动,我想知道转化过程中发生了多少次cookie_id。

我想要这样的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脚本以返回预期格式的数据

1 个答案:

答案 0 :(得分:2)

通过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

此查询不会返回没有转化的组合。

希望有所帮助。