【发布时间】:2014-12-31 11:13:08
【问题描述】:
我正在寻找一种以 JSON 格式将数据从 Apache Spark 导出到各种其他工具的方法。我想一定有一个非常简单的方法来做到这一点。
示例:我有以下 JSON 文件 'jfile.json':
{"key":value_a1, "key2":value_b1},
{"key":value_a2, "key2":value_b2},
{...}
文件的每一行都是一个 JSON 对象。使用
可以轻松地将这类文件读入 PySparkjsonRDD = jsonFile('jfile.json')
然后看起来像(通过调用 jsonRDD.collect()):
[Row(key=value_a1, key2=value_b1),Row(key=value_a2, key2=value_b2)]
现在我想将这些类型的文件保存回纯 JSON 文件。
我在 Spark 用户列表中找到了这个条目:
http://apache-spark-user-list.1001560.n3.nabble.com/Updating-exising-JSON-files-td12211.html
声称使用
RDD.saveAsTextFile(jsonRDD)
这样做之后,文本文件看起来像
Row(key=value_a1, key2=value_b1)
Row(key=value_a2, key2=value_b2)
,即 jsonRDD 刚刚被明确写入文件。在阅读 Spark 用户列表条目后,我会期待一种“自动”转换回 JSON 格式。我的目标是有一个看起来像开头提到的“jfile.json”的文件。
我是否错过了一个非常明显的简单方法?
我阅读了http://spark.apache.org/docs/latest/programming-guide.html,在 google、用户列表和堆栈溢出中搜索了答案,但几乎所有答案都涉及读取 JSON 并将其解析为 Spark。我什至买了《Learning Spark》这本书,但那里的示例(第 71 页)只是导致与上面相同的输出文件。
有人可以帮我吗?我觉得我在这里只缺少一个小链接
提前干杯和感谢!
【问题讨论】:
标签: python json apache-spark