Spark - Scala:当 json 数据分布在多行时,读取 json 文件作为数据帧不起作用?
Posted
技术标签:
【中文标题】Spark - Scala:当 json 数据分布在多行时,读取 json 文件作为数据帧不起作用?【英文标题】:Spark - Scala : Read json file as dataframe doesn't work when json data is spread across multiple lines? 【发布时间】:2016-03-15 13:06:02 【问题描述】:Json 数据:
"blogID" : "FJY26J1333", "date" : "2012-04-01",
"name" : "vpxnksu", "comment" : "good stuff"
"blogID" : "VSAUMDFGSD", "date" : "2012-04-12", "name" : "yhftrcx", "comment" : "another comment"
代码:
val dataFrame=sqlContext.read.json("sample.json")
dataFrame.show()
输出:
_corrupt_record blogID comment date name
"blogID" : "FJY... null null null null
"name" : "vpxnksu... null null null null
null VSAUMDFGSD another comment 2012-04-12 yhftrcx
我怎样才能把它读成两条记录?
【问题讨论】:
【参考方案1】:确保源文件中的每一行都有一个 json 对象,如下所示:
"blogID" : "FJY26J1333", "date" : "2012-04-01", "name" : "vpxnksu", "comment" : "good stuff"
"blogID" : "VSAUMDFGSD", "date" : "2012-04-12", "name" : "yhftrcx", "comment" : "another comment"
【讨论】:
除了你刚刚移动了问题,你还没有解决它。您可能想要使用 spark 将 PB 的多行 json 文本文件处理为您建议的文件格式,所以您又要问如何使用 spark 读取多行 json 文件。以上是关于Spark - Scala:当 json 数据分布在多行时,读取 json 文件作为数据帧不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Apache Spark 和 Scala 创建嵌套 json
如何使用 Spark scala 从字符串格式的复杂 JSON 创建数据帧