【发布时间】:2023-01-24 22:37:49
【问题描述】:
我正在做一个简单的镶木地板文件读取并运行查询以从左表中找到不匹配的行。请参阅下面的代码 sn-p。
argTestData = '<path to parquet file>'
tst_DF = spark.read.option('header', True).parquet(argTestData)
argrefData = '<path to parquet file>'
refDF = spark.read.option('header', True).parquet(argrefData)
cond = ["col1", "col2", "col3"]
fi = tst_DF.join(refDF, cond , "left_anti")
到目前为止一切正常。但是,作为一项要求,如果上面给出的计数 > 0,我需要获取元素列表,即如果 fi.count() > 0 的值,那么我需要元素名称。所以,我尝试了下面的代码,但它抛出了错误。
if fi.filter(col("col1").count() > 0).collect():
fi.show()
错误
TypeError: 'Column' object is not callable
笔记:
- 我有 3 列作为连接条件,它们在列表中并分配给变量
cond,我需要获取这 3 列的不匹配记录,因此 if 条件必须容纳它们。当然,由于join,还有许多其他专栏。
请建议我在哪里犯错误。 谢谢
【问题讨论】:
-
“计数”方法不是列对象的方法
标签: python-3.x pyspark