【问题标题】:Spark DataFrame Removing duplicates via GroupBy keep firstSpark DataFrame通过GroupBy删除重复项保持第一
【发布时间】:2016-11-23 00:30:05
【问题描述】:

我正在使用 groupBy 函数从 spark DataFrame 中删除重复项。对于每个组,我只想占据第一行,这将是最近的一行。

我不想执行max() 聚合,因为我知道结果已经按顺序存储在 Cassandra 中,并且希望避免不必要的计算。请参阅this approach 使用 pandas,这正是我所追求的,除了 Spark。

df = sqlContext.read\
            .format("org.apache.spark.sql.cassandra")\
            .options(table="table", keyspace="keyspace")\
            .load()\
            .groupBy("key")\
            #what goes here?

【问题讨论】:

    标签: apache-spark cassandra pyspark spark-dataframe


    【解决方案1】:

    只需 dropDuplicates 即可完成这项工作。

    试试df.dropDuplicates(Seq("column")).show

    查看question了解更多详情。

    【讨论】:

    • 感谢您的回答。我实际上转而使用这种方法。 dropDuplicates(['column']) 也可以
    • @stacksonstacks 我会将其标记为已接受,因为它更直接地解决了您的根本问题,但您还应该重新命名问题。
    • @JustinPihony 你对重命名的标题有何建议?
    • 获取每个分组在 DataFrame 或类似中的第一行? @stacksonstacks
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-05
    • 2016-05-31
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 2022-12-04
    相关资源
    最近更新 更多