Сравнение названий столбцов в Pyspark - PullRequest
0 голосов
/ 27 мая 2020

У меня есть фрейм данных, созданный из исходного файла.

У меня есть еще один фрейм данных, созданный из таблицы в базе данных.

В исходный файл иногда могут быть добавлены новые столбцы.

например: исходный файл сегодня имеет столбцы ниже

col1,col2,col3,col4  

через несколько месяцев исходный файл имеет столбцы ниже

col1,col2,col5,col3,col4,col6  

Примечание : порядок новых добавленных столбцов также может быть изменен, они могут быть или не обязательно находиться в конце файла.

Я хочу сравнить эти столбцы с моим фреймом данных из базы данных (df2) (в котором есть c столбцы) и хочу получить имена вновь добавленных столбцов в фреймворке данных.

(Я продолжаю регулярно добавлять столбцы в таблицу данных, поэтому любые новые столбцы добавляются в базу данных.)

в настоящее время я делаю следующее

set(df1) - set(df2)  

, которое дает следующие

col5,col6

имена столбцов вновь добавленных столбцов, но я не могу преобразовать эти имена столбцов в фрейм данных, чтобы я мог вставить новые имена столбцов в таблицу базы данных

(просто имена столбцов, которые будут загружены - для уведомления пользователя о наличии новых столбцов в исходном файле)
Любая помощь, пожалуйста.

1 Ответ

0 голосов
/ 27 мая 2020

У меня сработало следующее.

df = set(df1) - set(df2)
df3 = spark.createDataFrame(df,StringType())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...