PySpark: как объединить две таблицы с разными ключами И получить все столбцы из каждой?

#pyspark

#pyspark

Вопрос:

Я пытаюсь объединить два фрейма данных в pyspark, но я не могу заставить столбцы второго фрейма данных отображаться в результате:

 df_a.withColumn("loc", f.col("ORIGIN")).join(df_b.withColumn("loc", f.col("call2")), on="loc")
.select([x for x in df_a.columns]   [x for x in df_b.columns])
  

Если я вручную укажу каждый столбец, это будет работать, но это утомительно:

 df_a.withColumn("loc", f.col("ORIGIN")).join(df_b.withColumn("loc", f.col("call2")), on="loc")
.select([x for x in df_a.columns]   ['latitude']   ['longitude']   etc....)
  

Заранее спасибо за вашу помощь!

Комментарии:

1. Пожалуйста, предоставьте больше кода и, желательно, минимальный репродуктор. Как выглядят df_a и df_b, какой результат вы ожидаете и какой результат вы на самом деле получили?

2. Вы также можете попробовать сделать df_a.join(df_b, df_a.ORIGIN == df_b.call2).select('*')

3. Спасибо — у меня была небольшая ошибка!