Spark>SparkStreamingKafka 练习题

查看历史记录的命令
history | grep kafka
以下是RNG S8 8强赛失败后,官微发表道歉微博下一级评论

数据说明:
rng_comment.txt文件中的数据

字段 字段含义
index 数据id
child_comment 回复数量
comment_time 评论时间
content 评论内容
da_v 微博个人认证
like_status
pic 图片评论url
user_id 微博用户id
user_name 微博用户名
vip_rank 微博会员等级
stamp 时间戳

1.1、在kafak中创建rng_comment主题,设置2个分区2个副本
1.2、数据预处理,把空行过滤掉
1.3、请把给出的文件写入到kafka中,根据数据id进行分区,id为奇数的发送到一个分区中,偶数的发送到另一个分区
1.5、使用Spark Streaming对接kafka之后进行计算

  • 在mysql中创建一个数据库rng_comment
[root@node01 /]# mysql -uroot -p123456
mysql>create  databases rng_comment;
//切换
mysql>use rng_comment;
//查看表
mysql>show tables;
  • 在数据库rng_comment创建vip_rank表,字段为数据的所有字段
create table vip_rank(
Indexx varchar(255) NOT NULL,
child_comment varchar(255) NOT NULL,
comment_time  varchar(255) NOT NULL,
content  varchar(255) NOT NULL,
da_v varchar(255) NOT NULL,
like_status varchar(255) NOT NULL,
pic varchar(255) NOT NULL,
user_id varchar(255) NOT NULL,
user_name varchar(255) NOT NULL,
vip_rank varchar(255) NOT NULL,
stamp varchar(255) NOT NULL,
PRIMARY KEY (‘indexx’)
)ENGINE=InnoDB AUTO_TNCREMENT=26 DEFAULT CHARSET=udf8;
  • 在数据库rng_comment创建like_status表,字段为数据的所有字段
  • 在数据库rng_comment创建count_conmment表,字段为 时间,条数
    1.5.1、查询出微博会员等级为5的用户,并把这些数据写入到mysql数据库中的vip_rank表中
    1.5.2、查询出评论赞的个数在10个以上的数据,并写入到mysql数据库中的like_status表中
    1.5.3、分别计算出2018/10/20 ,2018/10/21,2018/10/22,2018/10/23这四天每一天的评论数是多少,并写入到mysql数据库中的count_conmment表中

数据如下👇

数据过大,所以放到百度云上,失效请私信博主!
链接: https://pan.baidu.com/s/1jMsJbN9RLh5ItXFDXdwVjw 提取码: 1234

数据预处理,取出空行

package com.Job414.Job

import org.apache.spark.rdd.RDD
import org.apache.spark.sql.{
   DataFrame, SparkSession}
import org.apache.spark.{
   SparkConf, SparkContext}

object FilterNull {
   
  def main(args: Array[String]): Unit = {
   

    //处理数据的思路
    //1.2 需求:数据预处理,把空行过滤掉
    /*
    1 读取数据
    2 处理数据
        如果数据为空就删除掉,反之,就保留数据
    3写出数据
     */

    val spark: SparkSession = SparkSession.builder().appName("FilterNull").master("local").getOrCreate()

    //设置sparkcontext,用于读取数据
    var sc =spark.sparkContext
    //读取数据
    //txtFile是多有数据
    val txtFile: RDD[String] = sc.textFile("F:\\网课\\Spark\\spark练习\\4.14号练习题\\rng_comment.txt")

    //过滤数据
    val datas: RDD[String] = txtFil
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值