Сравнение схемы данных с использованием PysparkPython

Программы на Python
Ответить
Anonymous
 Сравнение схемы данных с использованием Pyspark

Сообщение Anonymous »

У меня есть фрейм данных (df).
Для отображения его схемы я использую:

Код: Выделить всё

from pyspark.sql.functions import *
df1.printSchema()
И получаю следующий результат:

Код: Выделить всё

#root
# |-- name: string (nullable = true)
# |-- age: long (nullable = true)
Иногда схема меняется (тип или имя столбца):

Код: Выделить всё

df2.printSchema()

#root
# |-- name: array (nullable = true)
# |-- gender: integer (nullable = true)
# |-- age: long (nullable = true)
Я хотел бы сравнить две схемы ( и df2) и получаем только различия в типах и именах столбцов (иногда столбец может перемещаться в другую позицию).
Результатами должна быть таблица (или фрейм данных), примерно такая:

Код: Выделить всё

   column                df1          df2     diff
name:               string       array     type
gender:              N/A         integer   new column
(

Код: Выделить всё

ageСтолбец 
тот же и не изменился. В случае пропуска столбца будет указание «опущено»)
Как это сделать эффективно, если в каждом много столбцов?

Подробнее здесь: https://stackoverflow.com/questions/486 ... ng-pyspark
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»