
60
4 章 キー/値ペアの処理
4.4
ア
RDD
るアクン
変換と同様に、ベースの
RDD
で使える通常のアクションは、ペア
RDD
でも使うことができま
す。ペア
RDD
で使えるアクションはそれ以外にもあり、データがキー/値形式になっていること
の利点を生かすことができます。
4-3
を参照してください。
4-3
RDD
({(1, 2), (3, 4), (3, 6)})
countByKey()
キーごとの要素数をカウントする。
rdd.countByKey() {(1, 1),
(3, 2)
}
collectAsMap()
容易にルックアップできるよう、結果を
map
として返す。同じキーのエントリが複数ある
場合は、そのうち
1
つだけが返される。
rdd.collectAsMap() Map{(1, 2),
(3, 6)
}
lookup(key)
指定されたキーに関連づけられたすべての値
を返す。
rdd.lookup(3) [4, 6]
ペア
RDD
には、この他にも
RDD
を保存するアクションが複数あります。それらについては、
5
で取り上げます。
4.5
データのーテニング()
本章で最後に議論する
Spark
の機能は、データセットのノード間でのパーティショニングを制
御する方法です。分散プログラムでは、通信は非常にコストが高いので、ネットワークトラフィッ
クを最小限に抑えるようにデータを配置することによって、パフォーマンスを大幅に向上させるこ
とができます。単一ノードのプログラムにおいて、レコードのコレクションで適切なデータ構造を ...