Ошибка JSON вложенного SQL Spark:
{
"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
}
}
при чтении spark.sql («выберите приведение (xxxDetails.yyyData.yyy.additionalData.quantity как Long) как количество из таблицы»), это будет работать, но: spark.sql («выберите приведение (xxxDetails.yyyData.130.additionalData.quantity as Long) как количество из таблицы») будет выдано исключение:
org.apache.spark.sql.catalyst.parser.ParseException: нет жизнеспособной альтернативы при вводе 'cast (xxxDetails.yyyData.130.
Когда я использую API datafame для myDF.select ("xxxDetails.yyyData.130.additionalData.quantity") его работы. Любой, у кого естьдостойное объяснение:)