Как узнать схему из тонны грязных структурированных данных? - PullRequest
0 голосов
/ 05 июня 2019

У меня огромный набор данных с грязной структурированной схемой. Скажем, одни и те же поля данных могут иметь разные типы данных, например, 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)

в этом случае?

1 Ответ

0 голосов
/ 05 июня 2019

Если я правильно понимаю, вы ищете, как вывести схему файла JSON.Вам следует взглянуть на чтение JSON в DataFrame сразу, а не через функцию отображения Python.

Также я имею в виду Как вывести схему файлов JSON? , как я думаю, это отвечает на ваш вопрос.

...