Условие динамического соединения PySpark - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть список столбцов PK.Я храню первичные ключи, потому что количество первичных ключей для каждой таблицы может измениться.Я хочу объединить два фрейма данных на основе столбцов в pk_list.

pk_list=['col1',col2', .... 'coln']

Сейчас мой код выглядит так:

full_load_tbl_nc = full_load_tbl.join(delta_load_tbl, (col(f) == col(s) for (f,s) in zip(pk_list,pk_list) ) , "leftanti")

Когда я запускаю код, яполучить эту ошибку:

список преобразования pyspark.sql.column также завершается неудачей col (pk_list) при импорте из файла pyspark.sql.functions import col "/ mnt / yarn / usercache / root / appcache / application_1544185829274_0001/container_1544185829274_0001_01_000001/pyspark.zip/pyspark/sql/dataframe.py ", строка 818, в соединении AssertionError: on должно быть столбцом или списком столбцов

...