Python - DataFrames过滤函数,它与RDD有何不同?

时间:2016-08-02 20:24:57

标签: python apache-spark rdd spark-dataframe

我开始通过摆弄RDD来熟悉Spark,但是我尝试使用DataFrames并且我不太确定哪些有用,哪些与DataFrames过滤器功能无关。

例如,我想通过比较DataFrame中的列是否等于字符串列表中的任何字符串来过滤我的DataFrame。

使用RDD,这就是我所做的:

dataRDD.filter(lambda s: any(substring in s['DATE'] for substring in dateList))

这似乎工作正常。但是当我尝试使用与DataFrame相似的东西时:

lambdaDF = df.filter(any(substring in df.DATE for substring in hours1))

我最终收到此错误:

  

ValueError:无法将列转换为bool:请使用'&'为'和',' |'对于'或','〜'因为'不是'在构建DataFrame布尔表达式时。

我想我还没有完全理解RDD过滤器函数和DataFrame过滤器函数之间的区别,以及我可以用它们做些什么。

感谢任何帮助或建议。谢谢!

0 个答案:

没有答案