Hive UDF初探

本文介绍了在Hive中为解决广告日志曝光PV计算问题,如何创建UDF来判断字段是否有标签。内容涵盖UDF的基本类型,如UDF、UDAF和UDTF,以及如何实现一个判断空标签的GenericUDF,并提供了编译和添加到Hive的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 引言

前一篇中,解决了Hive表中复杂数据结构平铺化以导入Kylin的问题,但是平铺之后计算广告日志的曝光PV是翻倍的,因为一个用户对应于多个标签。所以,为了计算曝光PV,我们得另外创建视图。

分析需求:

  • 每个DSP上的曝光PV,标签覆盖的曝光PV;
  • 累计曝光PV,累计标签覆盖曝光PV

相当于cube(dsp, tag) + measure(pv),HiveQL如下:

select dsp, tag, count(*) as pv
from ad_view
where view = 'view' and day_time between '2016-04-18' and '2016-04-24'
group by dsp, tag with cube;

现在问题来了:如何将原始表中的tags array<struct<tag:string,label:string,src:string&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浅唱书令

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值