2016-05-06 2 views
4

通常のRDDとRDDの違いを理解しています。通常のRDDではなく、一対のRDDが使用されるユースケースは何ですか?可能であれば、RDDペアの内部を理解したいと思います。ありがとうRDDとペアRDDの相違点と使用例

答えて

0

ペアのRDDは、キーと値のペア、つまりデータのタプルを含むRDDを参照する単なる方法です。他のものを使用するのではなく、実際に使用することではありません。たとえば、IDに基づいて何かを計算する場合は、入力をIDでグループ化します。あなたが値を減らすためか、に基づいてデータをソートすることができますあなたがで終わることに

val pairs = lines.map(x => (x.split(" ")(0), x)) 

ペアRDD:この例は、単なるテキストの行を分割し、キーとして最初の単語を使用してペアRDDを返します[1]いくつかの例を挙げると、キーです。

ペアのRDDの理解とタプルの操作方法は、あなたがやることの多くにとって非常に基本的なものなので、下のリンクを読んでみるとよいでしょう。スパークでペアを設定したら、通常は何をしたいかを理解するために、「ペアRDDのトランスフォーメーション」を読んでください。

[1] https://www.safaribooksonline.com/library/view/learning-spark/9781449359034/ch04.html

0

スパークは、キー/値のペアを含むRDDSに特別な操作を提供します。これらのRDDはペアRDDと呼ばれます。ペアRDDは、ネットワーク上で並列に各キーを操作したり、データを再編成する操作を公開するため、多くのプログラムで有用な構成要素です。たとえば、ペアのRDDには、各キーごとにデータを個別に集計できるreduceByKey()メソッドと、要素を同じキーでグループ化して2つのRDDをマージできるjoin()メソッドがあります。 RDD(イベント時間、顧客ID、または他の識別子を表す)からフィールドを抽出し、これらのフィールドをペアのRDD操作のキーとして使用するのが一般的です。

0

キーdifferncesは、(そのようなマップ、reduceByKeyなどとして)

pairRDD操作はキーと値のペアを生成します。 RDDの操作(flatMapやreduceなど)では値のコレクションまたは単一の値が得られます

pairRDD操作は各キー/要素に並列で適用されます.RDDの操作(flatMapなど)はコレクション全体に適用されます。

関連する問題