美好的一天!!
我正在编写一个Scala代码来从json文件中选择多个子标记但是我没有得到确切的解决方案。代码如下所示,
代码:
val spark = SparkSession.builder.master("local").appName("").config("spark.sql.warehouse.dir", "C:/temp").getOrCreate()
val df = spark.read.option("header", "true").json("C:/Users/Desktop/data.json").select("type", "city", "id","name")
println(df.show())
Data.json
{"claims":[
{ "type":"Part B",
"city":"Chennai",
"subscriber":[
{ "id":11 },
{ "name":"Harvey" }
] },
{ "type":"Part D",
"city":"Bangalore",
"subscriber":[
{ "id":12 },
{ "name":"andrew" }
] } ]}
预期结果:
type city subscriber/0/id subscriber/1/name
Part B Chennai 11 Harvey
Part D Bangalore 12 Andrew
请帮我处理上述代码。
答案 0 :(得分:0)
如果我没有弄错的话,Apache Spark希望每一行都是一个单独的JSON对象,所以如果你试图加载一个非常格式化的JSON文件,它将会失败。
https://spark.apache.org/docs/latest/sql-programming-guide.html#json-datasets http://jsonlines.org/examples/