从Spark中的结构化流数据帧推断安全模式

时间:2019-07-03 05:52:23

标签: apache-spark pyspark apache-kafka schema spark-structured-streaming

我想根据来自Kafka的JSON数据推断出安全的模式。

df = spark.readStream.format("kafka").option("kafka.bootstrap.servers", "localhost:9092").option("subscribe", "input").option("auto.offset.reset", "latest").load()
jsonDF = df.selectExpr("CAST(value AS STRING) jsonData")

stackoverflow有两种解决方案:

  1. link表示将一小部分保存到文件中,推断模式,然后将该模式用于流数据帧。虽然这个问题已有一岁了。
  2. link使用schema_of_jsonlit,尽管我无法使其与流DF一起使用。

我知道模式的推断可能很危险,但是我正在开发的spark应用程序具有多个具有不同模式的源(多列)。有没有一种方法可以基于json数据中的列创建模式,并强制将它们强制转换为String以防止数据丢失。

0 个答案:

没有答案