複数のテキスト行を含むテキストファイルsherlock.txtがあります。フラットマップ対マップの効率とそれに続くスパークの削減
val textFile = sc.textFile("sherlock.txt")
私の目的は、ファイル内の単語の数を数えることです。私は仕事をするための2つの代替方法に出くわしました。低減続いマップ使用
textFile.flatMap(line => line.split(" ")).count()
セカンド:
flatMapを用いて第1
textFile.map(line => line.split(" ").size).reduce((a, b) => a + b)
両方が正しく同じ結果をもたらします。私は上記の2つの代替実装の時間と空間の複雑さの違いを知りたいと思います。
scalaインタプリタは、両方を最も効率的な形式に変換しますか?