减法是否会引起火花打乱?

时间:2019-04-14 12:33:43

标签: apache-spark pyspark

我的RDD由元组组成,形式为

((sender_emaiaddress,receiver_email_address), the number of emails sent from sender to receiver))

我的任务是创建包含所有元组的RDD,该元组显示每个发件人发送的电子邮件数量。我使用PySpark创建了以下代码

r_senders=rdd.map(lambda x:(x[0][0],x[1]))
r_receivers=rdd.map(lambda x:x[0][1])
rdd_zero=r_receivers.subtract(r_senders.keys()).distinct().map(lambda x:(0,x))
rdd_notzero=r_senders.reduceByKey(lambda a,x:a+x).map(lambda x:(x[1],x[0])).sortByKey(False)
rdd_notzero.union(rdd_zero).collect()

现在,我想绘制此代码的谱系图,并且不确定“减法”转换是否会引起混排。

一般来说,我知道某些转换会导致混排(http://spark.apache.org/docs/latest/rdd-programming-guide.html#shuffle-operations),但是我如何确定这些转换何时触发混排呢,或者我可以确保列表之外的任何转换都不会引起混排?

0 个答案:

没有答案