Расширение на случай использования, указанный здесь:
Как избежать дублирования столбцов после объединения?
У меня есть два кадра данных с сотнями столбцов. Ниже приведены некоторые примеры со столбцами соединения:
df1.columns
// Array(ts, id, X1, X2, ...)
и
df2.columns
// Array(ts, id, X1, Y2, ...)
После того как я сделаю:
val df_combined = df1.join(df2, df1.X1===df2.X1 and df1.X2==df2.Y2)
Я получаю следующие столбцы: Array(ts, id, X1, X2, ts, id, X1, Y2)
. X1
дублируется.
Я не могу использовать join(right: Dataset[_], usingColumns: Seq[String])
api, так как для использования этого API все столбцы должны быть в обоих фреймах данных, что здесь не так (X2
и Y2
). Единственный вариант, который я вижу, - это переименовать столбец и удалить столбец позже или создать псевдоним датафрейма и удалить столбец позже из 2-го кадра данных.
Разве нет простого API для этого? Например. автоматически отбрасывать один из столбцов соединения в случае равенства соединения.