我有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

01_000001/pyspark.zip/pyspark/sql/dataframe .py“,第818行,在连接中AssertionError:on应该是Column或Column列表