Мой СДР состоит из кортежей в виде
((sender_emaiaddress,receiver_email_address), the number of emails sent from sender to receiver))
Моя задача - создать СДР, который содержит все кортежи с указанием количества сообщений электронной почты, отправленных каждым отправителем.Я создал следующие коды с 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()
Теперь я хочу нарисовать график линии этого кода, и я не уверен, что преобразование «substract» вызывает случайное перемешивание.
В общем, я знаю, что некоторые преобразования вызывают случайное перемешивание (http://spark.apache.org/docs/latest/rdd-programming-guide.html#shuffle-operations), но как я могу быть уверен, что эти преобразования вызовут случайное перемешивание, или я могу быть уверен, что любое преобразование из этого списка никогда не произойдетвызывает тасовку?