91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spark中如何以序列化方式調優

發布時間:2021-12-16 11:39:58 來源:億速云 閱讀:147 作者:小新 欄目:大數據

小編給大家分享一下Spark中如何以序列化方式調優,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

在任何分布式應用中序列化都扮演者一個重要的角色。序列化過程非常慢的或者消耗大量字節的序列化格式,都是會巨大的減緩計算速度。通常這是優化spark應用程序的第一件事情。Spark目標是在你的操作中直接便利的使用java類型和性能找到一個平衡點。目前,spark提供兩種序列化的庫:

1.Java serialization:默認情況下,spark使用Java的 ObjectOutputStream框架,序列化對象。可以應用于任何繼承了java.io.Serializable的自創建類。你也可以通過更密切的繼承java.io.Externalizable,來控制你自己的序列化方式的性能。JAVA的序列化雖然靈活,但是通常是非常慢的,同時針對很多類會導致大的序列化格式。

2.Kryo serialization:Spark也可以用 Kryo library (version 2) 來加速序列化。Kryo比java序列化更快,更緊湊(往往搞出10倍),但是并不支持所有的序列化類型,為了達到最佳的性能需要提前注冊你在你的程序中使用的類。

你可以通過使用SparkConf更改spark的序列化方式。這個設置不僅影響到worker間傳輸的Shuffle數據也會序列化準備寫到磁盤的RDD。Kryo不是默認序列化方式的主要原因是需要自定義注冊。我們建議使用它在任何網絡密集型應用程序中。

Spark會自動的包括Kryo,針對大多數通用的scala類。

向Kryo注冊你的類,可以通過registerKryoClasses 方法

val conf = new SparkConf().setMaster(...).setAppName(...)

conf.registerKryoClasses(Array(classOf[MyClass1], classOf[MyClass2]))

val sc = new SparkContext(conf)

    https://github.com/EsotericSoftware/kryo 鏈接文檔描述了更先進的kryo注冊選項,如添加自定義序列化代碼。

如果你的對象非常大,你需要增加spark.kryoserializer.buffer。這個值要大于你要序列化的最大的對象。

最后,如果不向Kyro注冊你的自定義類型,Kyro也會繼續工作,但是他會保存你每個對象的類全名,這非常浪費。

關于spark對Kyro的配置的支持,請參考。

http://spark.apache.org/docs/1.6.0/configuration.html#compression-and-serialization

Spark中如何以序列化方式調優

以上是“Spark中如何以序列化方式調優”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

怀集县| 鄂尔多斯市| 克什克腾旗| 武鸣县| 庆安县| 广饶县| 玉山县| 海兴县| 马关县| 兴和县| 建始县| 林口县| 德阳市| 太仆寺旗| 旺苍县| 探索| 呼玛县| 杨浦区| 桑植县| 丹棱县| 得荣县| 辽源市| 景东| 平罗县| 大方县| 古浪县| 施秉县| 渝北区| 贺州市| 綦江县| 岳西县| 静安区| 迁西县| 清涧县| 东平县| 宿迁市| 永德县| 乌拉特前旗| 新源县| 郑州市| 洛隆县|