1.foreach
ヴァルリスト= 新しいArrayBuffer() myRdd.foreach(レコード => { リスト + = レコード })
2.foreachPartition
ヴァルリスト= 新しいArrayBuffer rdd.foreachPartition(それ => { It.foreach(R => { リスト + = R }) })
説明:
foreachPartitionモデルの効率を向上させることができ、オペレータの操作に属します。たとえば、foreachのを使用した場合、すべてのデータがRDDモンゴを書かされ、データはデータ書き込みの一部となり、各関数呼び出しは、データベース接続を作成することがあります、頻繁にデータベース接続を作成し、破壊するためにバインドされて、パフォーマンスそれは非常に低く、しかしオペレータforeachPartitions使い捨て処理と、データ・パーティションは、各パーティションに対して、限り、接続がデータベースを作成し、一括挿入操作を実行するように、性能はこの時点で比較的高いです。
説明の公式ウェブサイトを参照してください。
https://spark.apache.org/docs/latest/streaming-programming-guide.html