【问题标题】:What is the opposite of Union in PysparkPyspark 中 Union 的反义词是什么
【发布时间】:2017-02-21 03:25:05
【问题描述】:

这似乎是一个微不足道的问题,但我在任何地方都找不到答案!

我有两个 RDD,一个带有矢量化文章,另一个带有一堆停用词。我的第一直觉是使用过滤器功能,但显然你不能让两个 RDD 以这种方式交互。我知道 Union 允许 RDD 进行交互,但我需要完全相反的方式,这样我就可以过滤掉我的第一个 RDD 中的所有停用词。

任何帮助将不胜感激。

编辑:

RDD1_filtered = RDD1.filter(lambda word: word not in RDD2)

两个 RDD 都是单词列表。我收到一条错误消息,提示我不能让两个 RDD 交互

【问题讨论】:

  • 你能显示代码吗?您的 RDD 中似乎有一个元组,为什么不能过滤它?
  • 我添加了我试图用来过滤的命令。

标签: python apache-spark pyspark rdd


【解决方案1】:

听起来你想要subtract 函数:

>>> left = sc.parallelize(range(10))
>>> right = sc.parallelize([2, 6])
>>> left.subtract(right).collect()
[0, 1, 3, 4, 5, 7, 8, 9]

【讨论】:

    【解决方案2】:

    如果您使用 DataFrames,您可以使用 Dataframe 方法 substract https://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.DataFrame.subtract

    减(其他)

    返回一个新的 DataFrame 包含此帧中的行但不包含在 另一个框架。

    编辑:似乎subtract 也适用于RDD

    【讨论】:

    • 使用过滤器不起作用,但减法起作用。谢谢你。
    猜你喜欢
    • 2011-01-04
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    相关资源
    最近更新 更多