У меня огромный набор данных с грязной структурированной схемой.
Скажем, одни и те же поля данных могут иметь разные типы данных, например, data.tags
может быть списком строк или списком объектов
Я попытался загрузить данные JSON из hdfs и распечатать схему, но произошла ошибка ниже.
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)
в этом случае?