Pyspark消费kafka集群某一topic中json数据并保存到hdfs上

本文介绍了如何使用Pyspark从Kafka的特定topic中消费历史JSON数据,并处理时间戳字段问题,最后将数据保存到HDFS。在处理过程中,由于时间戳字段默认被转换为日期格式,解决方案是将这些字段指定为LongType类型,以保留原始毫秒精度。
摘要由CSDN通过智能技术生成

需求

对于进入到Kafka中的实时数据可以通过Flume从Kafka中消费并输出保存到hdfs上。但对于Kafka中历史数据,Flume不起作用了,可以通过spark streaming从头消费Kafka主题中json数据,并将数据以json形式保存到hdfs上。

查看json数据

#执行pyspark进入交互界面,执行以下代码查看从kafka中读到的json数据,
#topic:dl_face, kafka集群:kafka1:9092,kafka2:9092,kafka3:9092, 
#startingOffsets:earliest 代表从头开始消费
lines=spark.readStream.format("kafka").option("kafka.bootstrap.servers","kafka1:9092,kafka2:9092,kafka3:9092").option("subscribe","dl_face").option("startingOffsets","earliest").load()

#输出到终端
lines.writeStream.outputMode("update").format("console").start()


#结果(前20行)
+----+--------------------+-------+---------+------+--------------------+-------------+
| key|               value|  topic|partition|offset|           timestamp|timestampType|
+----+--------------------+-------+---------+------+--------------------+-------------+
|null|[7B 22 73 75 73 7...|dl_face|        4|     3|2020-05-06 19:17:...|            0|
|null|[7B 22 73 75 73 7...|dl_face|        4|     4|2020-05-06 19:17:...|            0|
|null|[7B 22 73 75 73 7...|dl_face|        4|     5|2020-05-06 19:18:...|            0|
|null|[7B 22 73 75 73 7...|dl_face|        4|     6|2020-05-06 19:18:...|            0|
|null|[7B 22 73 75 73 7...
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值