apache-spark - 使用来自 Kafka 的数据时如何跳过多行记录中的标题?
问题描述
我想知道当火花消耗来自kafka的数据时如何跳过标题。
我的 kafka 主题在特定时间包含如下消息:
name,age,year
ton,33,2018
fon,34,2019
每当我使用来自 kafka 的数据时,我都想跳过标题部分。
我的火花结构化流媒体消费者如下;
val kafkaDatademostr = spark.readStream.format("kafka").option("kafka.bootstrap.servers","fffff.dl.ggg.com:8023").option("subscribe","dfo").option("kafka.security.protocol","SASL_PLAINTEXT").load
val interval=kafkaDatademostr.select(col("value").cast("string"),col("timestamp")).alias("csv").select("csv.*")
有人可以帮助我在使用来自 kafka 的数据时如何跳过标题部分吗?我是激发结构化流媒体的新手
解决方案
value
column 是 Kafka 记录的值,在您的情况下,它看起来只是一个多行字符串(带有换行符和第一行,您称之为标题)。Spark 不知道,因此您必须在从 Kafka 中提取记录后自己解析记录。
顺便说一句,它在 Spark SQL 中与 Kafka 数据源类似。替换readStream
并read
看到你自己。
推荐阅读
- java - DesignPattern:在运行时创建未知实例成员的部分对象
- kotlin - 如何将 Kotlin 的协程与集合一起使用
- leaflet.markercluster - 如何检查标记是否在集群中?
- python-3.x - for循环列表KeyError:664
- angular - 将http响应映射到角度7中的接口
- c++ - 函数成员签名的类模板别名
- apache-spark - Pyspark ML:如何使用 CrossValidator() 获取子模型值
- android - 如何在 Android 中创建非线性滑块?
- python - 如何修复应用程序上的 KIVY 默认窗口在启动时显得很薄......几乎没有宽度?
- javascript - Angular - 如何使用不同的参数(多个 API 调用)订阅相同的服务响应?