抱歉,只有登录会员才可浏览!<a href='/member/login'>会员登录</a>

实时数据处理:实时指标计算_子任务1_Java语言实现

任务描述

编写Java工程代码,使用Flink消费Kafka中dwd层的Topic数据,表结构与离线数据表结构相同。

1、 使用Flink消费kafka中的数据,统计商品的UV和PV,将结果写入HBase中的表ads:online_uv_pv中。使用Hive cli查询ads.pv_uv_result表,查询出10条数据,将结果截图粘贴至客户端桌面【Release\模块C提交结果.docx】中对应的任务序号下;

任务分析

首先了解题目中相关术语的概念和含义。

(1) 商品的UV:可以理解为独立商品数,即单一商品数统计。但是这里题意模糊,所以假定任务是想要实时统计商品的UV。

(2) 商品的PV:可以理解为商品总数,即订单中商品数量的累加。

注意,这里有两个需求没有说清楚(也许是故意为之,可参考”2023省赛专区”中实时指标计算部分作参考):

(1) Flink消费kafka中的数据是什么数据?长什么样?什么也没说,还得靠猜。那根据题目要求,统计商品相关的UV和PV,就大胆猜测数据来自于订单明细表fact_order_detail。因为商品信息位于商品明细表(order_detail)中。我们另外创建一个fact_order_detail表,然后实时数据获取路径为:insert fact_order_detail => maxwell binlog => Kafka fact_order_detail主题。

(2) 订单中的商品有多种状态(如已下单、已发货、已撤销、已退货等),在统计时规则是什么?这里没有任何说明。如果一个商品先下单,再撤销,那么UV数是0还是1?PV数是2还是1?

(3) 结果写入HBase中时,rowkey的规则是什么?任务描 ......

......

抱歉,只有登录会员才可浏览!会员登录


《Flink原理深入与编程实战》