1. 程式人生 > >大資料實時計算Spark學習筆記(8)—— RDD 持久化

大資料實時計算Spark學習筆記(8)—— RDD 持久化

1 RDD 持久化

  • 跨操作進行RDD的記憶體式儲存;
  • 持久化 RDD時,節點上的每個分割槽都會儲存到記憶體中;
  • 快取技術是迭代計算和互動式查詢的重要工具;
  • 使用 persist()cache() 進行 RDD 的持久化,cache()perisit() 的一種;
  • action 第一次操作時會發生 persist()
  • spark的 cache是容錯的,如果RDD的任何一個分割槽丟失了,都可以通過最初建立 的RDD 重新計算;
  • persist 可以使用不同的儲存級別進行持久化;

1.1 刪除持久化資料

  • rdd.unpersist()

2 Spark累加器,廣播變數

  • 啟動叢集
    在這裡插入圖片描述
  • spark shell 連線到叢集
    在這裡插入圖片描述

在這裡插入圖片描述

2.1 資料傳遞

  • map,filter等的高階函式中訪問的物件被序列化到各個節點。每個節點都有一份拷貝
  • 變數值並不會回傳到 driver 程式

2.2 共享變數

  • spark 通過廣播變數和累加器實現共享變數
    在這裡插入圖片描述
  • 累加器