美文网首页
理解spark中的kafka数据源

理解spark中的kafka数据源

作者: hongshen | 来源:发表于2019-03-31 23:08 被阅读0次

当前spark最新版本是2.4.0,以该版本为例,详细的文档链接是structured-streaming-kafka-integration

我们注意到kafka版本仅支持0.10
groupId = org.apache.spark
artifactId = spark-sql-kafka-0-10_2.11
version = 2.4.0

batch和stream模式都支持读写kafka
从代码片段可以看出
1、spark用到的参数不是kafka producer和consumer原生的配置参数
2、支持多topic,且支持topic名字正则方式

A、订阅配置和数据格式

Row的scheme

我们自己使用kafka consumer消费数据的时候,大多数情况下只关注value,而spark将kafka中一条message相关的一些元数据信息,比如offset,timestamp,key等也都跟value一起作为“一行”数据暴露给你处理,这是需要特别注意的地方。

spark重新定义了一些kafka配置项,我们必须按照它的要求,添加配置
必须项其实是2个:

assign|subscribe|subscribePattern 任选一个
kafka.bootstrap.servers 必选

可选项比较多,具体含义自行翻译理解即可。

A、写kafka配置和数据格式

写数据格式

注意点:
1、topic要么配置,要么数据内容里要有topic字段。
2、value字段是必须要有的,topic如果没有配置也必须要有
3、key不是必须的,如果没有key字段,那么spark会设置key为null
kafka.bootstrap.servers同样是必须的。

相关文章

网友评论

      本文标题:理解spark中的kafka数据源

      本文链接:https://www.haomeiwen.com/subject/ntspbqtx.html