日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spark调优1

發布時間:2025/7/14 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spark调优1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

https://spark.apache.org/docs/1.2.1/tuning.html

Data Serialization

spark現在提供Java serialization和Kryo serialization庫

Java serialization比較慢,Kryo serialization比較快

Memory Tuning

Determining Memory Consumption

衡量你的數據集消耗內存量最好的方式是創建RDD,并放入cache中,通過查看你的driver程序SparkContext logs來得出結論。

Tuning Data Structures

降低內存消耗的第一種方式是避免使用增加開銷的java特性,例如基于指針的數據結構和封裝的對象。有幾種方法來避免:

1.將你的數據結構設計為對象的數組,或者原始類型,而不是java或者scala集合類(例如HashMap)

fastutil庫提供原始數據類型的方便集合類,并且這些類與java標準庫兼容。(http://fastutil.di.unimi.it/)

2.如果可以的話,避免使用有很多小對象的內嵌數據結構

3.考慮使用數字id或者枚舉對象來代替string作為key

4.如果給spark使用的內存少于32g,設置JVM flag -XX:+UseCompressedOops來使指針的大小從原來的8個byte變成4個byte.

你可以在spark-env.sh里添加這個參數。

Serialized RDD Storage

當你的對象通過調優高效地存儲后仍然很大,一個簡單的減少內存使用的方式是以序列化格式的方式存儲對象,使用 RDD persistence API中序列化的等級來指定,例如MEMORY_ONLY_SER。

spark將每個RDD塊存儲為一個大的byte數組。將存儲的數據序列化唯一的缺點是訪問時間變慢了,這應歸于服務器一直在忙碌于每個對象的反序列化。

如果你想在內存中以序列化格式保存數據,我們極力地推薦使用Kryo庫,因為這會產生比java序列化小很多的文件大小。(當然會比沒有序列化的原生java object更小)


Garbage Collection Tuning


轉載于:https://my.oschina.net/forrest420/blog/502460

總結

以上是生活随笔為你收集整理的spark调优1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。