我在斯卡拉学习火花。我有一个JSON文件如下:
[
{
"name": "ali",
"age": "13",
"phone": "09123455737",
"sex": "m"
},{
"name": "amir",
"age": "24",
"phone": "09123475737",
"sex": "m"
}
]
并且只有这个代码:
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val jsonFile = sqlContext.read.json("path-to-json-file")
我刚收到corrupted_row : String
没有别的
但是当把每个人(或对象)放在一行时,代码工作正常
如何在spark中读取多行代码中的JSON sqlContext?
答案 0 :(得分:5)
您必须自己将其读入RDD,然后将其转换为数据集:
spark.read.json(sparkContext.wholeTextFiles(...).values)
答案 1 :(得分:0)
由于您有多行json行而引起此问题。尽管默认情况下spark.read.json期望一行位于一行,但这是可配置的:
您可以设置选项combined = [*a, *b, *c, *d]