
59
4.3 ペア RDD の変換
storeAddress.rightOuterJoin(storeRating) ==
{(Store("Ritual"),(Some("1026 Valencia St"),4.9)),
(Store("Philz"),(Some("748 Van Ness Ave"),4.8)),
(Store("Philz"), (Some("3101 24th St"),4.8))}
4.3.4
データのート
データのソートは、多くの場合に役立ちます。特に、ダウンストリームへの出力を生成してい
る場合にそうです。キーの順序関係が定義されていれば、キー/値ペアの
RDD
はソートすること
ができます。いったんデータがソートできてしまえば、それ以降にデータに対して
collect()
や
save()
を呼び出せば、ソートされたデータが得られることになります。
RDD
を逆順にしたいこともよくあるので、
sortByKey()
関数は、
ascending
というパラメータ
を取ります。このパラメータは、ソートを正順で行うかどうかを指定します(デフォルトは
true
です)。あるいは、まったく異なる順序でソートをしたいこともあるので、そのために比較関数を
渡すこともできるようになっています。
4-19
から
4-21
では、整数を文字列に変換
し、文字列比較関数を使って
RDD
をソートしています。
4-19
Python
ムーー
rdd.sortByKey(ascending=True, ...