5

複数行のテキストを含むテキスト ファイル sherlock.txt があります。以下を使用してspark-shellにロードします。

val textFile = sc.textFile("sherlock.txt")

私の目的は、ファイル内の単語数を数えることです。私は仕事をするための2つの代替方法に出くわしました。

最初に flatMap を使用します。

textFile.flatMap(line => line.split(" ")).count()

2 番目に map を使用し、次に reduce を使用します。

textFile.map(line => line.split(" ").size).reduce((a, b) => a + b)

どちらも正しく同じ結果をもたらします。上記の 2 つの代替実装の時間と空間の複雑さの違いを知りたいです。

scala インタープリターは両方を最も効率的な形式に変換しますか?

4

1 に答える 1