我有一个长这样的JSON文件:
我尝试使用以下代码创建数据框:
当我运行这个程序时,我得到了以下结果。
我们如何根据“lang”关键字的内容创建一个df?我不关心group{},我只需要从“lang”中取出数据并应用以下情况类:
{
"group" : {},
"lang" : [
[ 1, "scala", "functional" ],
[ 2, "java","object" ],
[ 3, "py","interpreted" ]
]
}
我尝试使用以下代码创建数据框:
val path = "some/path/to/jsonFile.json"
val df = sqlContext.read.json(path)
df.show()
当我运行这个程序时,我得到了以下结果。
df: org.apache.spark.sql.DataFrame = [_corrupt_record: string]
我们如何根据“lang”关键字的内容创建一个df?我不关心group{},我只需要从“lang”中取出数据并应用以下情况类:
case class ProgLang (id: Int, lang: String, type: String )
我已经阅读了这篇文章在Apache Spark中读取JSON - “corrupt_record”,并且理解了每个记录都需要换行,但是在我的情况下,我无法更改文件结构。
val readJSON = sc.wholeTextFiles("'home/data.json").map(x => x._2).map(data => data.replaceAll("""[\n]+""", " ")) val df = sqlContext.read.json(readJSON) df.printSchema
- devtest13