Python 比较csv文件与pySpark

Python 比较csv文件与pySpark,python,csv,apache-spark,pyspark,export-to-csv,Python,Csv,Apache Spark,Pyspark,Export To Csv,我是pyspark的新手,但我需要很快深入了解它。 我想比较pyspark中的两个(巨大的)csv文件,到目前为止管理得还不错(我很确定,我的代码不是很花哨) 最后,我要统计匹配的记录和不匹配的记录 我能做到的是: 1.正在将csv加载到RDD中。 act="actual.csv" exp="expected.csv" raw_exp = sc.textFile(exp) raw_act = sc

我是pyspark的新手,但我需要很快深入了解它。 我想比较pyspark中的两个(巨大的)csv文件,到目前为止管理得还不错(我很确定,我的代码不是很花哨) 最后,我要统计匹配的记录和不匹配的记录

我能做到的是:

1.正在将csv加载到RDD中。
act="actual.csv"
exp="expected.csv"
raw_exp = sc.textFile(exp)                                                  
raw_act = sc.textFile(act)
2.我可以使用.count()计算记录的数量
print "Expected: ", raw_exp.count()
print "Actual:", raw_act.count()
3.我可以使用subtract和collect比较RDD,以获得不匹配的记录:
notCompRecords  = raw_exp.subtract(raw_act).collect()
现在我想数一数那些不匹配的记录。 我想我会用:

notCompRecords.count()
但我得到的错误是缺少一个参数:

TypeError: count() takes at least 1 argument (0 given)
我还了解到,我必须通过以下方式将NOTCOM记录的列表转换为字符串:

notCompString   = ''.join(notCompRecords) 
但这也不起作用

如何计算对象/变量/rdd notCompRecords中的行数

谢谢! 任何暗示或线索都将不胜感激。
致以最诚挚的问候,

从notCompRecords=raw\u exp.subtract(raw\u act).collect()中删除.collect()。之后,您可以使用notcompecords.count()。

notcompecords=raw\u exp.subtract(raw\u act.collect()
中删除
.collect()
。之后,您可以使用
notCompRecords.count()
。哇!很好,很快!非常感谢你!感谢您给予快速的保证,这是有效的,有时人们不会回来,当他们的问题正在得到解决。现在我们可以投票支持@jho的评论,因为它确实给问题增加了一些东西——答案;-)只是把它作为答案加上去了。