【发布时间】:2017-11-19 00:16:00
【问题描述】:
我正在尝试将复杂的 json 文件读入 spark 数据框。 Spark 可以识别模式,但会将字段错误地视为字符串,而该字符串恰好是一个空数组。 (不知道为什么它必须是数组类型时是字符串类型) 以下是我期待的样本
arrayfield:[{"name":"somename"},{"address" : "someadress"}]
目前数据如下
arrayfield:[]
这对我的代码的影响是,当我尝试查询 arrayfield.name 时,它会失败。我知道我可以在读取文件时输入模式,但由于 json 结构非常复杂,因此从头开始编写它并没有真正奏效。我尝试使用 df.schema(显示在 StructType 中)获取架构并根据我的要求对其进行修改,但是如何将字符串传回 StructType ?这可能真的很愚蠢,但我发现很难解决这个问题。是否有任何工具/实用程序可以帮助我生成 strutType
【问题讨论】:
标签: json apache-spark pyspark apache-spark-sql