Spark SQL nested JSON error :
{
"xxxDetails":{
"yyyData":{
"0":{
"additionalData":{
},
"quantity":80000,
"www":12.6,
"ddd":5.0,
"eee":72000,
"rrr":false
},
"130":{
"additionalData":{
"quantity":1
},
"quantity":0,
"www":1.0,
"ddd":0.0,
"eee":0,
"rrr":false
},
"yyy":{
"additionalData":{
"quantity":1
},
"quantity":0,
"www":1.0,
"ddd":0.0,
"eee":0,
"rrr":false
}
}
},
"mmmDto":{
"id":0,
"name":"",
"data":null
}
}
when reading spark.sql("select cast (xxxDetails.yyyData.yyy.additionalData.quantity as Long) as quantity from table") it will work but: spark.sql("select cast (xxxDetails.yyyData.130.additionalData.quantity as Long) as quantity from table") will throw Exception :
org.apache.spark.sql.catalyst.parser.ParseException: no viable alternative at input 'cast (xxxDetails.yyyData.130.
When I"m usning datafame API for myDF.select("xxxDetails.yyyData.130.additionalData.quantity") its work . Anyone with decent explanation :)