Моя версия pyspark - 2.1.1.Я пытаюсь объединить два кадра данных (слева), имеющих два столбца id и priority .Я создаю свои фреймы данных следующим образом:
a = "select 123 as id, 1 as priority"
a_df = spark.sql(a)
b = "select 123 as id, 1 as priority union select 112 as uid, 1 as priority"
b_df = spark.sql(b)
c_df = a_df.join(b_df, (a_df.id==b_df.id), 'left').drop(b_df.priority)
c_df схема приходит как DataFrame[uid: int, priority: int, uid: int, priority: int]
Функция удаления не удаляет столбцы.
Но если я попытаюсь сделать:
c_df = a_df.join(b_df, (a_df.id==b_df.id), 'left').drop(a_df.priority)
Тогда столбец приоритета для a_df будет удален.
Не уверен, если есть проблема с изменением версии или что-то еще, нокажется очень странным, что функция отбрасывания будет вести себя так.
Я знаю, что обходной путь может заключаться в том, чтобы сначала удалить ненужные столбцы, а затем выполнить объединение.Но все еще не уверен, почему функция сброса не работает?
Заранее спасибо.