天天看点

Spark综合性练习(Spark,Kafka,Spark Streaming,MySQL)

写在前面: 博主是一名大数据的初学者,昵称来源于《爱丽丝梦游仙境》中的alice和自己的昵称。作为一名互联网小白,​<code>​写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样处于起步阶段的萌新​</code>​。由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!个人小站:​​http://alices.ibilibili.xyz/​​ , 博客主页:​​https://alice.blog.csdn.net/​​ 尽管当前水平可能不及各位大佬,但我还是希望自己能够做得更好,因为<code>一天的生活就是一生的缩影</code>。我希望<code>在最美的年华,做最好的自己</code>!

        之前刚学spark时分享过一篇磨炼基础的练习题,➤​​ta来了,ta来了,spark基础能力测试题ta来了!​​,收到的反馈还是不错的。于是,在正式结课spark之后,博主又为大家倾情奉献一道关于spark的综合练习题,希望大家能有所收获✍

Spark综合性练习(Spark,Kafka,Spark Streaming,MySQL)

题目

答案

&lt;1&gt; 创建topic

&lt;2&gt; 读取文件,并对数据做过滤并输出到新文件

&lt;3&gt;读取新文件,将数据按照题意发送到kafka的不同分区

&lt;4&gt; 先在数据库中创建好接收数据需要用到的表

&lt;5&gt; 使用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

时间戳

&lt;1&gt; 在kafak中创建rng_comment主题,设置2个分区2个副本

&lt;2&gt;数据预处理,把空行和缺失字段的行过滤掉

&lt;3&gt;请把给出的文件写入到kafka中,根据数据id进行分区,id为奇数的发送到一个分区中,偶数的发送到另一个分区

&lt;4&gt;使用spark streaming对接kafka

&lt;5&gt;使用spark streaming对接kafka之后进行计算

在mysql中创建一个数据库rng_comment

在数据库rng_comment创建vip_rank表,字段为数据的所有字段

在数据库rng_comment创建like_status表,字段为数据的所有字段

在数据库rng_comment创建count_conmment表,字段为 时间,条数

&lt;6&gt;查询出微博会员等级为5的用户,并把这些数据写入到mysql数据库中的vip_rank表中

&lt;7&gt;查询出评论赞的个数在10个以上的数据,并写入到mysql数据库中的like_status表中

&lt;8&gt;分别计算出2018/10/20 ,2018/10/21,2018/10/22,2018/10/23这四天每一天的评论数是多少,并写入到mysql数据库中的count_conmment表中

Spark综合性练习(Spark,Kafka,Spark Streaming,MySQL)

在命令行窗口执行kafka创建topic的命令,并指定对应的分区数和副本数

需要先写一个实现自定义分区逻辑的java类

然后在下面的程序中引用分区类的类路径

下面的代码完成了:

查询出微博会员等级为5的用户,并把这些数据写入到mysql数据库中的vip_rank表中

查询出评论赞的个数在10个以上的数据,并写入到mysql数据库中的like_status表中

运行成功后的效果

Spark综合性练习(Spark,Kafka,Spark Streaming,MySQL)
Spark综合性练习(Spark,Kafka,Spark Streaming,MySQL)

分别计算出2018/10/20 ,2018/10/21,2018/10/22,2018/10/23这四天每一天的评论数是多少,并写入到mysql数据库中的count_conmment表中

count_comment

Spark综合性练习(Spark,Kafka,Spark Streaming,MySQL)
Spark综合性练习(Spark,Kafka,Spark Streaming,MySQL)

        本次的分享就到这里,因为博主还是一个萌新,能力有限,如果以上过程中出现了任何的纰漏错误,烦请大佬们指正。受益的朋友或对大数据技术感兴趣的伙伴记得点赞关注支持一波(^U^)ノ~YO

Spark综合性练习(Spark,Kafka,Spark Streaming,MySQL)

继续阅读