我正在开发一个动态脚本,它可以join
任何给定的pyspark数据帧。问题是文件中的列名称会有所不同。连接条件的数量可能会有所不同我可以在一个循环中处理这个,但是我用一个变量名执行连接失败了。
(我的意图是根据文件结构和连接条件动态填充a和b或更多列)
b="incrementalFile.Id1"
a="existingFile.Id"
unChangedRecords = existingFile.join(incrementalFile,(a==b),"left")
回溯(最近一次呼叫最后一次):文件"",第1行,在文件中 " /usr/lib/spark/python/pyspark/sql/dataframe.py" ;,第818行,在加入 断言isinstance(在[0],列上)," on应该是列或列的列表" AssertionError:on应为Column或Column列表
但如果我不在join
条件中放置任何变量,则相同的代码可以正常工作。
unChangedRecords = existingFile.join(
incrementalFile,
(existingFile.Id==incrementalFile.Id1),
"left")