繁体   English   中英

如何使用 Scala 在 spark 中打印 JSON 数据帧?

[英]How can I prettyprint a JSON Dataframe in spark with Scala?

我有一个数据框,我想将它作为有效的 json 写入 json 文件:

我当前的代码如下所示:

val df: DataFrame = myFun(...)
df.toJSON.saveAsTextFile( "myFile.json" )

输出格式为:

{}{}{}

如何将文件内容组织为有效的 JSON?:

[{},{},{}]

我使用 Spray JSON 的解决方法:

def apply(df: DataFrame): Option[String] = {
    val collectedData  = df.toJSON.coalesce(1).collect().mkString("\n")
    val json = "[" + ("}\n".r replaceAllIn (collectedData, "},\n")) + "]"
    val pretty = json.parseJson.prettyPrint
    Some(s"$pretty\n")
}

丑陋且效率低下,但如果最终结果不是大数据,我想要做我想做的事,在这种情况下,无论如何我都不想要一个正确的 json 文件。

我正在使用这个(Python)

import json
from bson import json_util
from bson.json_util import dumps
with open('myJson.json', 'w') as outfile:
        json.dump(myDF, outfile)

我相信你会找到Scala的替代品。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM