存算分離下寫性能提升10倍以上,EMR Spark引擎是如何做到的?

引言

隨着大數據技術架構的演進,存儲與計算分離的架構能更好的滿足用戶對降低數據存儲成本,按需調度計算資源的訴求,正在成爲越來越多人的選擇。相較 HDFS,數據存儲在對象存儲上可以節約存儲成本,但與此同時,對象存儲對海量文件的寫性能也會差很多。

騰訊雲彈性 MapReduce(EMR) 是騰訊雲的一個雲端託管的彈性開源泛 Hadoop 服務,支持 Spark、Hbase、Presto、Flink、Druid 等大數據框架。

近期,在支持一位 EMR 客戶時,遇到典型的存儲計算分離應用場景。客戶使用了 EMR 中的 Spark 組件作爲計算引擎,數據存儲在對象存儲上。在幫助客戶技術調優過程中,發現了 Spark 在海量文件場景下寫入性能比較低,影響了架構的整體性能表現。

在深入分析和優化後,我們最終將寫入性能大幅提升,特別是將寫入對象存儲的性能提升了 10 倍以上,加速了業務處理,獲得了客戶好評。

本篇文章將介紹在存儲計算分離架構中,騰訊雲 EMR Spark 計算引擎如何提升在海量文件場景下的寫性能,希望與大家一同交流。文章作者:鍾德艮,騰訊後臺開發工程師。

一、問題背景

Apache Spark 是專爲大規模數據處理而設計的快速通用的計算引擎,可用來構建大型的、低延遲的數據分析應用程序。Spark 是 UC Berkeley AMP lab (加州大學伯克利分校的 AMP 實驗室)所開源的類 Hadoop MapReduce 的通用並行框架,Spark 擁有 Hadoop MapReduce 所具有的優點。

原文鏈接:【https://www.infoq.cn/article/pGEeR83ptNQDxhGEIjr5】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章