删除重复项而无需 shuffle Spark

信仰

我有一个带有列的 Cassandra 表 XYX(id uuid,插入时间戳,标题文本)

其中 id 和 insert 是复合主键。

我正在使用 Dataframe,在我的 spark shell 中,我正在获取 id 和 header 列。我想根据 id 和标题列有不同的行。

由于 Spark Cassandra 连接器确保给定 Cassandra 分区的所有行都在同一个 Spark 分区中,因此我看到了很多改组,但情况并非如此。

获取后,我使用 dropDuplicates 来获取不同的记录。

阿尔乔姆·阿利耶夫

Spark Dataframe API目前还不支持自定义分区程序。因此连接器无法将 C* 分区器引入 Dataframe 引擎。另一个 RDD Spark API 支持自定义分区器。因此,您可以将数据加载到 RDD 中,然后将其转换为 df。这是关于 C* 分区器使用的连接器文档:https : //github.com/datastax/spark-cassandra-connector/blob/master/doc/16_partitioning.md

keyBy() 函数允许您定义用于分组的键列

这是工作示例。它并不短,所以我希望有人可以改进它:

//load data into RDD and define a group key
val rdd = sc.cassandraTable[(String, String)] ("test", "test")
   .select("id" as "_1", "header" as "_2")
   .keyBy[Tuple1[Int]]("id")
// check that partitioner is CassandraPartitioner
rdd.partitioner
// call distinct for each group, flat it, get two column DF
val df = rdd.groupByKey.flatMap {case (key,group) => group.toSeq.distinct}
    .toDF("id", "header")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

什么是引起Shuffle的Spark转换?

来自分类Dev

Apache Spark Shuffle 写入但没有 Shuffle 读取

来自分类Dev

从Spark JavaPairDStream / JavaDStream删除重复项

来自分类Dev

Spark DataFrame通过GroupBy删除重复项保持第一

来自分类Dev

比较文档并删除Spark和Scala中的重复项

来自分类Dev

比较文档并删除Spark和Scala中的重复项

来自分类Dev

如何从列表中删除重复项而无需在Java中重新排序?

来自分类Dev

追加数组并删除重复项,而无需更改目标c中的顺序

来自分类常见问题

spark.sql.shuffle.partitions和spark.default.parallelism有什么区别?

来自分类Dev

Spark-1.6.0 +:spark.shuffle.memoryFraction已过时-何时会发生泄漏?

来自分类Dev

Spark-1.6.0 +:spark.shuffle.memoryFraction已过时-何时会发生泄漏?

来自分类Dev

从Spark Scala删除重复的密钥

来自分类Dev

如何修复外部Spark Shuffle服务上的“错误打开块StreamChunkId”

来自分类Dev

为什么Spark执行器可以将Shuffle读取超过内存分配?

来自分类Dev

根据RDD / Spark DataFrame中的特定列从行中删除重复项

来自分类Dev

通过 Spark Dataframe 中数组结构中的最后一项删除重复的数组结构

来自分类Dev

Spark 2.2.0:如何从列表列的数据集中删除特定重复项

来自分类Dev

如何在NetworkWordCount Spark Streaming应用程序中修复“ org.apache.spark.shuffle.FetchFailedException:无法连接”?

来自分类Dev

JavaScript:随机配对数组中的项,而无需重复

来自分类Dev

JavaScript:随机配对数组中的项,而无需重复

来自分类Dev

Spark:从多个文件排序RDD,而无需使用collect

来自分类Dev

Spark Dataframe Union 给出重复项

来自分类Dev

添加/删除/切换onClick元素,而无需重复

来自分类Dev

Spark从DataFrame中删除重复的行

来自分类Dev

根据spark中的值删除重复的键

来自分类Dev

根据spark中的值删除重复的键

来自分类Dev

org.apache.spark.shuffle.FetchFailedException:来自server1 / xxx.xxx.x.xxx:7337的连接已关闭

来自分类Dev

如何在Scala中使用Spark RDD删除重复项(更像是基于多个属性的过滤器)?

来自分类Dev

taskwarrior,删除多个重复执行的任务,而无需删除所有待处理的请求

Related 相关文章

  1. 1

    什么是引起Shuffle的Spark转换?

  2. 2

    Apache Spark Shuffle 写入但没有 Shuffle 读取

  3. 3

    从Spark JavaPairDStream / JavaDStream删除重复项

  4. 4

    Spark DataFrame通过GroupBy删除重复项保持第一

  5. 5

    比较文档并删除Spark和Scala中的重复项

  6. 6

    比较文档并删除Spark和Scala中的重复项

  7. 7

    如何从列表中删除重复项而无需在Java中重新排序?

  8. 8

    追加数组并删除重复项,而无需更改目标c中的顺序

  9. 9

    spark.sql.shuffle.partitions和spark.default.parallelism有什么区别?

  10. 10

    Spark-1.6.0 +:spark.shuffle.memoryFraction已过时-何时会发生泄漏?

  11. 11

    Spark-1.6.0 +:spark.shuffle.memoryFraction已过时-何时会发生泄漏?

  12. 12

    从Spark Scala删除重复的密钥

  13. 13

    如何修复外部Spark Shuffle服务上的“错误打开块StreamChunkId”

  14. 14

    为什么Spark执行器可以将Shuffle读取超过内存分配?

  15. 15

    根据RDD / Spark DataFrame中的特定列从行中删除重复项

  16. 16

    通过 Spark Dataframe 中数组结构中的最后一项删除重复的数组结构

  17. 17

    Spark 2.2.0:如何从列表列的数据集中删除特定重复项

  18. 18

    如何在NetworkWordCount Spark Streaming应用程序中修复“ org.apache.spark.shuffle.FetchFailedException:无法连接”?

  19. 19

    JavaScript:随机配对数组中的项,而无需重复

  20. 20

    JavaScript:随机配对数组中的项,而无需重复

  21. 21

    Spark:从多个文件排序RDD,而无需使用collect

  22. 22

    Spark Dataframe Union 给出重复项

  23. 23

    添加/删除/切换onClick元素,而无需重复

  24. 24

    Spark从DataFrame中删除重复的行

  25. 25

    根据spark中的值删除重复的键

  26. 26

    根据spark中的值删除重复的键

  27. 27

    org.apache.spark.shuffle.FetchFailedException:来自server1 / xxx.xxx.x.xxx:7337的连接已关闭

  28. 28

    如何在Scala中使用Spark RDD删除重复项(更像是基于多个属性的过滤器)?

  29. 29

    taskwarrior,删除多个重复执行的任务,而无需删除所有待处理的请求

热门标签

归档