私は Spark で遊んでいましたが、なんとかデータをクランチすることができました。私のデータは、50 列と約 2000 万行からなるフラット区切りのテキスト ファイルで構成されています。各列を処理するスカラ スクリプトがあります。
並列処理に関しては、RDD 操作が複数のノードで実行されることを知っています。したがって、列を処理するたびに、それらは並行して処理されますが、列自体は順次処理されます。
簡単な例: 私のデータが 5 列のテキスト区切りファイルで、各列にテキストが含まれていて、各列の単語数をカウントしたい場合。私はするだろう:
for(i <- 0 until 4){
data.map(_.split("\t",-1)(i)).map((_,1)).reduce(_+_)
}
各列の操作は並行して実行されますが、列自体は順次処理されます (悪い言い回しです。申し訳ありません!)。つまり、列 1 が完了した後に列 2 が処理されます。列 3 は、列 1 と 2 が完了した後に処理されます。
私の質問は、一度に複数の列を処理する方法はありますか? チュートリアルなどの方法をご存知でしたら、私と共有していただけませんか?
ありがとうございました!!