#azure #pyspark #azure-databricks
#azure #pyspark #azure-databricks
Вопрос:
У меня есть записная книжка databricks, и в одной из ячеек много соединений.
псевдокод:
df_final = df_final.join(dfTest1, on ['ID], how = 'left').drop(dfTest1.ID)
.join(dfTest2, on ['ID], how = 'left').drop(dfTest2.ID)
.join(dfTest3, on ['ID], how = 'left').drop(dfTest3.ID)
Та же команда успешно выполняется с 6.6ML (включает Spark 2.4.5, scala 2.11), но завершается сбоем с версией времени выполнения 7.3 LTS ML (включает Apache Spark 3.0.1, scala 2.12)
Кто-нибудь сталкивался с этой проблемой? Как преодолеть эту проблему? Спасибо.
Комментарии:
1. Что вы подразумеваете под сбоем? Какую ошибку вы получили?
2. Сбой в строке 3 с сообщением «ID» не может быть разрешен
3. не могли бы вы опубликовать минимальный код, который воспроизводит эту ошибку, из того, что вы показали здесь, я не понимаю, почему это происходит
4. Спасибо @mck. Когда я удалил .drop(dfTest *. ID) из всех 3 строк ошибка исчезла. Похоже, это проблема с версией времени выполнения. В более ранней версии ошибка не отображалась. Также нам не нужно удалять столбец, в котором происходит соединение между двумя фреймами данных pyspark. Это была ошибка.
5. Это может быть проблема с вашими данными, похоже
ID
, что ее нет в 3-м df.