亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

spark執行查詢任務性能調優-重構RDD架構以及RDD持久化

2024-06-24 09:35:39
5
0

RDD架構重構與優化

在用spark查詢的場景中,盡量去復用RDD,差不多的RDD,可以抽取成為一個共同的RDD,在后面的RDD計算過程總,反復使用。

公共RDD一定要實現持久化

對于要多次計算和使用的公共RDD,一定要進行持久化。

持久化,就是將RDD的數據緩存到內存中/磁盤中(BlockManager)以后無論對這個RDD做多少次計算,那么都是直接取這個RDD的持久化的數據,比如從內存中或者磁盤中,直接提取一份數據,減少了加載數據底層的數據。

持久化,是可以進行序列化的

如果正常將數據持久化在內存中,那么可能會導致內存的占用過大,這樣的話,也許,會導致OOM內存溢出。

當純內存無法支撐公共RDD數據完全存放的時候,就優先考慮使用序列化的方式在純內存中存儲。將RDD的每個partition的數據,序列化成一個大的字節數組,就一個對象。序列化后,大大減少內存的空間占用。

序列化的方式,唯一的缺點就是,在獲取數據的時候,需要反序列化。

如果序列化純內存方式,還是導致OOM內存溢出,就只能考慮磁盤的方式、內存+磁盤的普通方式(無序列化)、內存+磁盤(序列化)。

為了數據的高可靠性,而且內存充足,可以使用雙副本機制,進行持久化。

持久化的雙副本機制,持久化后的一個副本,因為機器宕機了,副本丟了,就還是得重新計算一次。持久化的每個數據單元,存儲一份副本,放在其他節點上面。從而進行容錯。一個副本丟了,不用重新計算,還可以使用另外一份副本。這種方式,僅僅針對你的內存資源極度充足的情況。

0條評論
作者已關閉評論
l****n
7文章數
0粉絲數
l****n
7 文章 | 0 粉絲
原創

spark執行查詢任務性能調優-重構RDD架構以及RDD持久化

2024-06-24 09:35:39
5
0

RDD架構重構與優化

在用spark查詢的場景中,盡量去復用RDD,差不多的RDD,可以抽取成為一個共同的RDD,在后面的RDD計算過程總,反復使用。

公共RDD一定要實現持久化

對于要多次計算和使用的公共RDD,一定要進行持久化。

持久化,就是將RDD的數據緩存到內存中/磁盤中(BlockManager)以后無論對這個RDD做多少次計算,那么都是直接取這個RDD的持久化的數據,比如從內存中或者磁盤中,直接提取一份數據,減少了加載數據底層的數據。

持久化,是可以進行序列化的

如果正常將數據持久化在內存中,那么可能會導致內存的占用過大,這樣的話,也許,會導致OOM內存溢出。

當純內存無法支撐公共RDD數據完全存放的時候,就優先考慮使用序列化的方式在純內存中存儲。將RDD的每個partition的數據,序列化成一個大的字節數組,就一個對象。序列化后,大大減少內存的空間占用。

序列化的方式,唯一的缺點就是,在獲取數據的時候,需要反序列化。

如果序列化純內存方式,還是導致OOM內存溢出,就只能考慮磁盤的方式、內存+磁盤的普通方式(無序列化)、內存+磁盤(序列化)。

為了數據的高可靠性,而且內存充足,可以使用雙副本機制,進行持久化。

持久化的雙副本機制,持久化后的一個副本,因為機器宕機了,副本丟了,就還是得重新計算一次。持久化的每個數據單元,存儲一份副本,放在其他節點上面。從而進行容錯。一個副本丟了,不用重新計算,還可以使用另外一份副本。這種方式,僅僅針對你的內存資源極度充足的情況。

文章來自個人專欄
文章 | 訂閱
0條評論
作者已關閉評論
作者已關閉評論
0
0