【发布时间】:2019-10-20 18:33:54
【问题描述】:
我有一个庞大的数据集,其中包含杂乱的结构化架构。
比如说,相同的数据字段可以有不同数据类型的数据,例如data.tags可以是字符串列表,也可以是对象列表
我尝试从 hdfs 加载 JSON 数据并打印架构,但出现以下错误。
TypeError: Can not merge type <class 'pyspark.sql.types.ArrayType'> and <class 'pyspark.sql.types.StringType'>
这里是代码
data_json = sc.textFile(data_path)
data_dataset = data_json.map(json.loads)
data_dataset_df = data_dataset.toDF()
data_dataset_df.printSchema()
是否有可能找出类似的架构
root
|-- children: array (nullable = true)
| |-- element: map (containsNull = true)
| | |-- key: string
| | |-- value: boolean (valueContainsNull = true)
| |-- element: string
|-- first_name: string (nullable = true)
|-- last_name: string (nullable = true)
|-- occupation: string (nullable = true)
在这种情况下?
【问题讨论】:
标签: apache-spark pyspark bigdata