
74
5 章 データのロードとセーブ
SparkContext.wholeTextFiles()
メソッドを使い、入力ファイルの名前をキーとするペア
RDD
を
得ることができます。
wholeTextFiles()
は、それぞれのファイルが一定期間のデータになっている場合にとても便利
です。それぞれのファイルに、異なる期間の販売データが入っているとすれば、それぞれの期間の
平均値は、
5-4
のようにすれば簡単に計算できます。
5-4
Scala
val input = sc.wholeTextFiles("file:///home/holden/salesFiles")
val result = input.mapValues{y =>
val nums = y.split(" ").map(x => x.toDouble)
nums.sum / nums.size.toDouble
}
Spark では、指定されたディレクトリ内のすべてのファイルの読み込みをサポートしており、その
際にワイルドカードの展開を行うことができます(例えば
part-*.txt
など)。大規模なデータセッ
トは複数のファイルにまたがっていることが多いので、特に他のファイル(処理の成功を示すマー
カーなど)が同じディレクトリにあるかもしれないような場合に、この機能が役立ちます。
テキストファイルの保存
テキストファイルの出力も、きわめてシンプルです。
5-5
の
saveAsTextFile()
メソッ ...