Spark のキャッシュ、永続化、および checkPoints 関数の違いの詳細な説明

ここに画像の説明を挿入

記事ディレクトリ

以下に 3 つの機能の詳細な説明とそれらの比較を示します。

  1. cache()

    • cache()特別な形式のyes persist()。cache() メソッドを使用します。デフォルトのストレージ レベルは ですMEMORY_ONLYこれは、RDD のデータがノードのメモリに保存されることを意味します。メモリ領域がすべてのデータを保持するのに十分でない場合、キャッシュに保存できなかったデータの一部は、ディスクに保存されるのではなく、必要に応じて再計算されます。このストレージ レベルではMEMORY_AND_DISK、メモリ スペースがすべてのデータを保持するのに十分でない場合、データのオーバーフロー部分がディスクに保存されます。これは、persist(StorageLevel.MEMORY_AND_DISK)によって実現できます。
    • RDD のデータが計算されると、後続の操作ですぐにアクセスできるように、データはノード メモリに保存されます。
    • RDD の依存関係は切断されません。
  2. persist(storageLevel: StorageLevel)

    • persist()ユーザーがさまざまなストレージ レベル ( MEMORY_ONLYMEMORY_AND_DISKMEMORY_ONLY_SERなどを含む) を選択できるようにします。
    • cache()クラスと一緒に

おすすめ

転載: blog.csdn.net/m0_47256162/article/details/132380349