首页 > 解决方案 > 使用火花流从 kafka 读取流并为其分配模式

问题描述

我正在尝试从 kafka 读取一个流,其中的值是一串逗号分隔值(表示数据集中的列)目标是读取两个这样的流并将它们连接起来。

如果我正在从文件中读取,有一种方法可以通过为输入流分配分隔符和模式来做到这一点。这是我能够做到的:

val stearm_L: DataFrame = spark.readStream
      .option("sep", ";")
      .schema(schema_L)
      .csv("inputFileSteam_L")

如果我从 kafka 而不是文件读取,我该怎么做?

标签: scalacsvapache-kafkaspark-streamingspark-structured-streaming

解决方案


而不是csv("filename"),您基本上将其替换为format("kafka").

Spark Streaming 部分下有一个关于 Kafka 集成的页面以获取更多详细信息。

关于获取 CSV 解析,请参阅spark streaming: read CSV string from kafka, write to parquet


推荐阅读