gpt4 book ai didi

json - 如何将内存中的 JSON 字符串读入 Spark DataFrame

转载 作者:行者123 更新时间:2023-12-04 17:07:51 25 4
gpt4 key购买 nike

我正在尝试读取内存中的 JSON 字符串 即时进入 Spark DataFrame:

var someJSON : String = getJSONSomehow()
val someDF : DataFrame = magic.convert(someJSON)

我花了很多时间查看 Spark API,我能找到的最好的方法是使用 sqlContext像这样:
var someJSON : String = getJSONSomehow()
val tmpFile : Output = Resource
.fromFile(s"/tmp/json/${UUID.randomUUID().toString()}")
tmpFile.write("hello")(Codec.UTF8)
val someDF : DataFrame = sqlContext.read().json(tmpFile)

但这感觉有点尴尬/不稳定,并强加了以下限制:
  • 它要求我将 JSON 格式化为每行一个对象( per documentation );和
  • 它迫使我将 JSON 写入临时文件,这既缓慢又笨拙;和
  • 它迫使我随着时间的推移清理临时文件,这很麻烦,对我来说感觉“错误”

  • 所以我问: 是否有直接且更有效的方法将 JSON 字符串转换为 Spark DataFrame?

    最佳答案

    来自 Spark SQL 指南:

    val otherPeopleRDD = spark.sparkContext.makeRDD(
    """{"name":"Yin","address":{"city":"Columbus","state":"Ohio"}}""" :: Nil)
    val otherPeople = spark.read.json(otherPeopleRDD)
    otherPeople.show()

    这从中间 RDD(通过传递字符串创建)创建了一个 DataFrame。

    关于json - 如何将内存中的 JSON 字符串读入 Spark DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39619782/

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