2017-08-04 5 views
0

私はこの単純な質問に疑問を抱いています: は、1パーティションのRDDでzipWithIndex、map、flatMapを収集しますか?は、1パーティションのRDD上のzipWithIndex、map、およびflatMapを収集しますか?

ありがとうございました

+0

私はRDDの要素がこれまでに発注されているとは思わない保存されていないに作用するRDDの順序。あなたがそれについて並べ替えをした場合を除いて、多分、 – philantrovert

答えて

1

RDDはキーによってのみ並べ替えることができます。非キー/値のデータはソートできません。

RDDにソートされたキー/値のデータがある場合、collectはその順序を保持します。ただし、collectAsMap()は順序を保持しません。

map()は返されないRDDがソートされないようにキー以外の値のデータを返します。同じことがflatMap()にも当てはまります。

mapToPair()とflatMapToPairはどうですか?これらの作業に使用するRDDにキー/値データが含まれている場合、出力RDDのキーが同じであると想定する理由はないため、その順序は保持されていると見なすことはできません。キーが変更されていない場合、これらのメソッドが順序を保持するために実装されているとは想像できません。

mapValues()およびflatMapValues()は入力RDDのキーを保持するため、注文は保存されている可能性がありますが、これを自分で調べる必要があります。これによるとzipWithIndexについては

、: How Can I Obtain an Element Position in Spark's RDD? zipWithIndexは

関連する問題