Вы не можете присоединиться к схеме, если то, что вы имели в виду, было каким-то образом связано с тем, что join
включает столбцы типа dtypes. Что вы можете сделать, это извлечь имена столбцов сначала, а затем передать их через как список аргументов для on=
, как это:
join_cols = df_1.columns
df_1.join(df_2, on=join_cols, how='left_outer')
Теперь, очевидно, придется редактировать содержимое join_cols
, чтобы убедиться, что он имеет только имена, которые вы на самом деле хотите присоединиться df_1
и df_2
. Но если есть сотни допустимых столбцов, которые, вероятно, намного быстрее, чем добавление их по одному. Вы также можете сделать join_cols пересечением столбцов df_1
и df_2
, а затем отредактировать оттуда, если это более подходит.
Редактировать: Хотя я должен добавить, что выпуск Spark 2.0 буквально в любой день теперь, и я еще не разбирался во всех изменениях. Так что, возможно, стоит заглянуть в это, или обеспечить будущее решение.