gpt4 book ai didi

java - 来自 URI 的 Scala 或 Java Json 模式解析器/加载器

转载 作者:行者123 更新时间:2023-12-01 23:30:29 26 4
gpt4 key购买 nike

我想从 AWS S3 读取一些 json 模式文件并将它们转换为 Spark StructType。其中一些具有其他 json 模式文件的引用,因此我可以重用它们。 scala 或 java 中是否有任何库可以用来加载合并的架构,该架构组合了所有 json 架构文件并将它们转换为 StructType json 格式?

非常感谢。

最佳答案

您无需使用任何 JSON 库,只需使用 Spark 即可完成此操作:

import spark.implicits._

val logData = spark.read.json(logFile)
logData.select("city", "street", "place").as[Row]

但是如果您需要使用 JSON 库来对数据进行建模,则可以使用 spray-json,并且当您想要将 spray 对象转换为 Spark 结构体时,您可以将 Spray 对象转换为简单字符串并将其作为 JSON 输入传递给 Spark,如下所示:

import spark.implicits._

val rawJsonString = sprayModel.toJson.compactPrint
val otherPeopleDataset = spark.createDataset(
rawJsonString :: Nil)
val otherPeople = spark.read.json(otherPeopleDataset)

要了解 spray-json 如何在 Scala 中工作,您可以查看 GitHub 页面:

https://github.com/spray/spray-json

希望对你有帮助!

关于java - 来自 URI 的 Scala 或 Java Json 模式解析器/加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58292063/

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