在Python数据帧连接中动态填充列名

时间:2018-02-24 00:27:50

标签: python apache-spark dataframe pyspark

我正在开发一个动态脚本,它可以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")

0 个答案:

没有答案