写在前面: 博主是一名大数据的初学者,昵称来源于《爱丽丝梦游仙境》中的alice和自己的昵称。作为一名互联网小白,<code>写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样处于起步阶段的萌新</code>。由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!个人小站:http://alices.ibilibili.xyz/ , 博客主页:https://alice.blog.csdn.net/ 尽管当前水平可能不及各位大佬,但我还是希望自己能够做得更好,因为<code>一天的生活就是一生的缩影</code>。我希望<code>在最美的年华,做最好的自己</code>!
之前刚学spark时分享过一篇磨炼基础的练习题,➤ta来了,ta来了,spark基础能力测试题ta来了!,收到的反馈还是不错的。于是,在正式结课spark之后,博主又为大家倾情奉献一道关于spark的综合练习题,希望大家能有所收获✍
题目
答案
<1> 创建topic
<2> 读取文件,并对数据做过滤并输出到新文件
<3>读取新文件,将数据按照题意发送到kafka的不同分区
<4> 先在数据库中创建好接收数据需要用到的表
<5> 使用spark streaming对接kafka之后进行计算
结语
以下是rng s8 8强赛失败后,官微发表道歉微博下一级评论
数据说明:
<col>
字段
字段含义
index
数据id
child_comment
回复数量
comment_time
评论时间
content
评论内容
da_v
微博个人认证
like_status
赞
pic
图片评论url
user_id
微博用户id
user_name
微博用户名
vip_rank
微博会员等级
stamp
时间戳
<1> 在kafak中创建rng_comment主题,设置2个分区2个副本
<2>数据预处理,把空行和缺失字段的行过滤掉
<3>请把给出的文件写入到kafka中,根据数据id进行分区,id为奇数的发送到一个分区中,偶数的发送到另一个分区
<4>使用spark streaming对接kafka
<5>使用spark streaming对接kafka之后进行计算
在mysql中创建一个数据库rng_comment
在数据库rng_comment创建vip_rank表,字段为数据的所有字段
在数据库rng_comment创建like_status表,字段为数据的所有字段
在数据库rng_comment创建count_conmment表,字段为 时间,条数
<6>查询出微博会员等级为5的用户,并把这些数据写入到mysql数据库中的vip_rank表中
<7>查询出评论赞的个数在10个以上的数据,并写入到mysql数据库中的like_status表中
<8>分别计算出2018/10/20 ,2018/10/21,2018/10/22,2018/10/23这四天每一天的评论数是多少,并写入到mysql数据库中的count_conmment表中
在命令行窗口执行kafka创建topic的命令,并指定对应的分区数和副本数
需要先写一个实现自定义分区逻辑的java类
然后在下面的程序中引用分区类的类路径
下面的代码完成了:
查询出微博会员等级为5的用户,并把这些数据写入到mysql数据库中的vip_rank表中
查询出评论赞的个数在10个以上的数据,并写入到mysql数据库中的like_status表中
运行成功后的效果
分别计算出2018/10/20 ,2018/10/21,2018/10/22,2018/10/23这四天每一天的评论数是多少,并写入到mysql数据库中的count_conmment表中
count_comment
本次的分享就到这里,因为博主还是一个萌新,能力有限,如果以上过程中出现了任何的纰漏错误,烦请大佬们指正。受益的朋友或对大数据技术感兴趣的伙伴记得点赞关注支持一波(^U^)ノ~YO