gpt4 book ai didi

apache-spark - Apache Spark - 使用 2 个 RDD : complement of RDDs

转载 作者:行者123 更新时间:2023-12-04 05:49:46 25 4
gpt4 key购买 nike

我有 2 个 RDD,每个都是从不同类型的日志文件中读取的,这些日志文件有一些共同的数据。因此,我们有 EventA 类型的 RDD 和 EventB 类型的 RDD,其中 EventA 和 EventB 类继承自 Event。

相对于类型为 EventA 的 RDD,获得具有不同事件的 EventB 类型的 RDD 的最佳方法是什么?

从逻辑上讲,如果我在“集合论”中表述问题,我对集合的补充感兴趣:RDD[EventB] ∖ RDD[EventA]。我打算使用 Event 中定义的 equals 方法来推断哪些事件是相同的。

最佳答案

我想你想要 subtract或者如果重要数据在 key 中 subtractByKey .

基本用法:rdd.subtractByKey(otherRdd)
当第一个 RDD 较小时,此操作会更有效率,因为第一个 RDD 可以保存在内存中,而第二个是流式传输的。从您的问题来看,不清楚您是否想要 A that isn't in B 中的所有内容。或 everything that isn't in the intersection of A and B .所以第二种方法的解决方案是合并两个减法的结果:

val newRdd = rdd.subtractByKey(otherRdd).union(otherRdd.subtractByKey(rdd))

关于apache-spark - Apache Spark - 使用 2 个 RDD : complement of RDDs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25117080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com