gpt4 book ai didi

apache-spark - 如何使用 from_json 允许消息具有不同的字段?

转载 作者:行者123 更新时间:2023-12-02 11:10:39 26 4
gpt4 key购买 nike

我正在尝试使用 Spark 结构化流处理来自 Kafka 的数据。摄取数据的代码如下:

val enriched = df.select($"value" cast "string" as "json")
.select(from_json($"json", schema) as "data")
.select("data.*")

ds 是一个 DataFrame,其中包含从 Kafka 消费的数据。

当我尝试读取 JSON 格式以便进行更快的查询时,问题就出现了。来自 org.apache.spark.sql.functions 的函数 from_json() 要求必须提供模式。如果消息有一些不同的字段怎么办?

最佳答案

正如 @zero323 和他或她引用的答案所暗示的那样,您在问一个矛盾的问题:本质上,当人们不知道模式时,如何强加一种模式?当然不能。我认为使用开放式集合类型的想法是最好的选择。

最终,几乎可以肯定的是,您可以使用案例类来表示数据,即使这意味着使用大量 Option、需要解析的字符串以及需要解析的映射审问。投入精力来定义该案例类别。否则,您的 Spark 作业本质上将是大量临时的、耗时的忙碌工作。

关于apache-spark - 如何使用 from_json 允许消息具有不同的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43121283/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com