Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
spark在解析JSON文件时显示空值_Json_Apache Spark - Fatal编程技术网

spark在解析JSON文件时显示空值

spark在解析JSON文件时显示空值,json,apache-spark,Json,Apache Spark,我在spark中读取了一个JSON文件 然而,当我试图读取info列或任何子元素时,模式会显示出来,它始终为空。(不为空) //读取文件 val df=spark.read.json(“文件路径”) df.printSchema() 根 |--数据_为:布尔值(nullable=true) |--学生:struct(nullable=true) ||--Id:string(nullable=true) ||--JoinDate:string(nullable=true) ||--LeaveDat

我在spark中读取了一个JSON文件

然而,当我试图读取info列或任何子元素时,模式会显示出来,它始终为空。(不为空)

//读取文件
val df=spark.read.json(“文件路径”)
df.printSchema()
根
|--数据_为:布尔值(nullable=true)
|--学生:struct(nullable=true)
||--Id:string(nullable=true)
||--JoinDate:string(nullable=true)
||--LeaveDate:string(nullable=true)
|--信息:结构(nullable=true)
||--详细信息:数组(nullable=true)
|| |--元素:struct(containsnall=true)
|| | |--父亲工资:双倍(nullable=true)
|| | |--母亲工资:双倍(nullable=true)
|| | |--地址:字符串(nullable=true)
||--studentInfo:struct(nullable=true)
|| |--Age:double(nullable=true)
|| |--Name:String(nullable=true)
df.选择(“学生”).show()
显示Student元素中的字段值 即使当我解析
Student.Id
时,我也可以得到Id

但是每当解析信息时,我总是得到一个在文件中不为NULL的NULL值

df.select("Info").show() // is showing as NULL
df.select("Info.detail").show() // is showing as NULL
甚至
Info.Summary
也为空

有人能建议如何获取实际字段值而不是NULL吗

JSON文件

{“学生”:{“加入日期”:“20200909”,“离开日期”:“20200909”,“id”:“XA12”},“信息”:{“学生信息”:{“年龄”:13,“姓名”:“亚历克斯”},“详情”:[{“父亲工资”:1234.00,“母亲工资”:0,“地址”:“}”,数据是:真的}

发布您的sample@Lamanus,我添加了示例json文件。我试着按照您显示的方式读取日期,然后运行select,一切正常。你还有什么没给我们看的吗?除了上面的注释,在选择“Info.detail”时似乎还有一个输入错误,因为在JSON字符串中,键名实际上是“Info.details”。