精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

快手自研Spark向量化引擎正式發布,性能提升200% 原創

發布于 2024-9-29 15:24
瀏覽
0收藏

Blaze 是快手自研的基于Rust語言和DataFusion框架開發的Spark向量化執行引擎,旨在通過本機矢量化執行技術來加速Spark SQL的查詢處理。Blaze在快手內部上線的數倉生產作業也觀測到了平均30%的算力提升,實現了較大的降本增效。本文將深入剖析blaze的技術原理、實現細節及在快手實際生產環境中的真實表現。

一、研究背景

當下,Spark 的重要發展方向之一是通過向量化執行進一步提升性能。向量化執行的思想是將算子的執行粒度從每次處理一行變成每次處理一個行組,以此來避免大量的函數調用。通過對行組內部處理按列進行計算,同時利用編譯技術減少分支判斷檢查以及更多的 SIMD 優化執行計劃。

Blaze 是快手自研的基于Rust語言和DataFusion框架開發的Spark向量化執行引擎,旨在通過本機矢量化執行技術來加速Spark SQL的查詢處理。在性能方面,Blaze展現出顯著的優勢:在TPC-DS 1TB的測試中,Blaze相較于Spark 3.3版本減少了60%的計算時間、Spark 3.5版本減少了40%的計算時間,并大幅降低了集群資源的消耗;此外,Blaze在快手內部上線的數倉生產作業也觀測到了平均30%的算力提升,實現了較大幅度的降本增效。

如今,Blaze已開源,擁抱更廣闊的開發者社區。開源版本全面兼容Spark 3.0~3.5,用戶能夠輕松集成Blaze至現有Spark環境中,僅需簡單添加Jar包,即可解鎖Blaze帶來的極致性能優化,享受前所未有的數據處理速度與資源效率。

Github地址: https://github.com/kwai/blaze

二、Blaze的整體架構及核心

Spark on Blaze架構的整體流向

Spark+Blaze 的架構設計原理如下圖:

快手自研Spark向量化引擎正式發布,性能提升200%-AI.x社區
對比Spark原生的執行流程,引入Blaze Session Extension組件所帶來的作用是顯著的,特別是在提升數據處理效率和性能方面。

Spark原生執行流程主要依賴于Java虛擬機(JVM)進行任務的執行,盡管JVM在提供跨平臺、內存管理等方面有著卓越的表現,但在大數據處理場景下,尤其是涉及大規模數據計算和復雜查詢時,JVM的性能開銷可能會成為瓶頸。

Blaze Session Extension組件的引入,巧妙地解決了這一問題。該組件在Spark生成物理執行計劃之后介入,通過其翻譯邏輯將這一計劃轉換為等效的、native向量化引擎可以識別的形式,隨后提交到Executor端由native引擎執行計算,從而實現了數據處理效率的飛躍。

快手自研Spark向量化引擎正式發布,性能提升200%-AI.x社區
而這一切的背后,離不開Native向量化引擎這一核心模塊的支持。該引擎由Rust語言實現,憑借其卓越的性能、安全性和并發處理能力,成功實現了Spark中大多數關鍵算子的等效替代,包括但不限于Project、Filter、Sort等。這些經過優化的算子在執行過程中,通過向量化技術顯著提升了計算效率,使得數據處理過程更加流暢、快速。

四大核心組件

Blaze 架構中的核心模塊有四個,共同驅動著大數據性能的顯著提升。這些模塊分別為:

  • Native Engine:基于 Datafusion 框架實現的與 Spark 功能一致的 Native 算子,以及相關內存管理、FFI 交互等功能。
  • ProtoBuf:定義用于 JVM 和 native 之間的算子描述協議,對 Datafusion 執行計劃進行序列化和反序列化。
  • JNI Bridge:實現 Spark Extension 和 Native Engine 之間的互相調用。
  • Spark Extension:Spark 插件,實現 Spark 算子到 Native 算子之間的翻譯。

具體的執行過程中,遵循以下步驟:

物理執行計劃的轉換:首先,Spark Extension將 Spark 生成的物理執行計劃轉換為對應的 Native Plan;

生成和提交Native Plan:轉換完成后,Native Plan通過JNI Bridge被提交給Native Engine進行進一步的處理。

Native 執行層:最后,Native Engine利用其高效的內存管理機制和向量化處理技術,對Native Plan進行真正的執行。執行結果通過JNI Bridge返回給Spark,從而完成整個數據處理流程。

三、Blaze的技術優勢:面向生產的深度優化

在跑通 tpch 和 tpcds 測試集并取得預期性能提升后,我們面向線上生產環境進一步做了系列深度優化,包括性能和穩定性等方面工作:

細粒度的FailBack機制

我們針對Spark執行效率的提升,設計并實現了演進式向量化執行方案。這一方案旨在逐步優化算子與表達式的向量化覆蓋,同時解決Java UDF無法直接轉化為Native執行的問題。通過引入細粒度的FailBack機制,Blaze在翻譯過程中遇到暫無Native實現的算子、單個表達式或UDF時,支持算子/單個表達式粒度的回退,能夠靈活回退到Spark原生執行。此機制首先確定算子/表達式的依賴參數列,利用Arrow FFI技術將這些參數列作為行傳遞給Spark進行處理,然后將結果以列的形式回傳至Blaze,從而在JVM與Native執行之間構建了一座橋梁。

此方案不僅加速了向量化執行的全面部署,還確保了即便在用戶SQL中有少量UDF等不支持的場景,細粒度回退單個表達式開銷較小,作業整體依然可以得到優化。

快手自研Spark向量化引擎正式發布,性能提升200%-AI.x社區

更高效的向量化數據傳輸格式

在Spark中,Shuffle操作因其復雜的數據流轉過程成為性能瓶頸,涉及編碼、壓縮、網絡傳輸、解壓及解碼等多個環節。原生Spark采用基于行的序列化與壓縮方式,而業界向量化數據則傾向于Arrow格式傳輸,但實踐中發現Arrow與主流輕量壓縮算法適配不佳,導致壓縮率低下且存在冗余信息。針對此問題,Blaze定制了優化的數據傳輸格式,不僅去除了列名、數據類型等冗余數據,還使用了byte-transpose列式數據序列化技術,通過重組整型/浮點型數據的字節順序,顯著提升數據壓縮效率。這一改進大幅減少了Shuffle過程中的數據傳輸量,并在實際測試與TPC-DS基準測試中展現出顯著的性能提升與資源消耗降低,有效解決了原有問題并優化了系統整體性能。

快手自研Spark向量化引擎正式發布,性能提升200%-AI.x社區

::: hljs-center

線上2000多個作業的真實數據,上線后輸入數據量小幅上漲的情況下,Shuffle數據量相比spark降近30%

:::

減少用戶成本的多級內容管理策略

面對Spark與Native執行模式在內存管理上的差異,我們設計了跨堆內堆外的自適應內存管理機制。該機制根據任務的向量化覆蓋情況智能調整內存分配,確保資源高效利用。同時,我們構建了堆外內存、堆內內存與磁盤文件之間的多級管理體系,有效防止了內存不足及頻繁數據溢寫的問題。這些措施不僅保障了向量化引擎上線后任務的穩定運行,無需用戶手動調整內存參數,大幅降低了用戶操作成本,提升了整體系統的易用性與可靠性。

快手自研Spark向量化引擎正式發布,性能提升200%-AI.x社區

復雜度更優的聚合算法實現

為深度適配Spark的復雜需求,Blaze在aggregate、sort、shuffle等關鍵算子的實現上并未直接采用DataFusion的現成方案,而是進行了定制化開發。以HashAggregate為例,當面對大規模group-by聚合且內存不足時,Spark會轉而采用基于排序的聚合,這涉及高復雜度的排序與歸并過程。而在Blaze中,我們采用了基于分桶的歸并方式,利用基數排序在spill時進行分桶、溢寫,并在合并階段通過hash 表快速合并,整個流程保持O(n)的復雜度,顯著提升了聚合算子的執行效率與資源利用率。

快手自研Spark向量化引擎正式發布,性能提升200%-AI.x社區

向量化計算場景的表達式重復計算優化

針對SQL執行中算子間常見的重復表達式計算問題,Blaze借鑒了Spark的Whole-stage codegen技術,應用了這一項優化策略。該策略能夠智能識別并合并包含重復表達式的算子,如下圖中的Project與Filter合并為一個大算子,并在其中對表達式計算結果進行緩存、復用,達到了減少重復計算、提高執行效率的目的。這一優化在應對復雜計算邏輯(如JSON解析多個字段、UDF調用)時尤為顯著,能將執行效率提升一倍以上。特別是在內部業務場景中,對于高頻調用的重負載UDF,該優化成功減少了約40%的計算開銷,顯著增強了系統的整體性能與響應速度。

快手自研Spark向量化引擎正式發布,性能提升200%-AI.x社區

四、當前進展及未來規劃

當前進展

Blaze 作為一款高性能數據處理引擎,已取得了顯著進展,全面支持多項核心功能,展現出強大的技術實力與廣泛的應用潛力。具體而言,Blaze 目前已具備以下關鍵能力:

  • Parquet向量化讀寫能力:實現了對Parquet格式數據的高效向量化讀寫,極大地提升了數據處理的速度與效率。
  • 全面算子與表達式支持:覆蓋了線上常用的所有算子與表達式,少量不支持的表達式和UDF也可以細粒度回退,確保用戶能夠無縫遷移并享受向量化處理帶來的性能提升。
  • Remote Shuffle Service集成:內部集成了自研的Remote Shuffle Service,同時我們也在和阿里合作,增加對Apache Celeborn 的支持,預計9月份可以提交到社區。
  • TPC-H/TPC-DS測試優異表現:在業界權威的TPC-H/TPC-DS基準測試中,Blaze成功通過全部測試場景,并以TPC-H平均3倍以上、TPC-DS 2.5倍的性能提升展示了其在復雜查詢處理上的卓越能力。

快手自研Spark向量化引擎正式發布,性能提升200%-AI.x社區
在真實的生產環境中,向量化引擎大規模上線應用,算力平均提升 30%+,成本節約年化數千萬元。

未來規劃

1、持續迭代優化,內部線上推全:通過不斷收集用戶反饋與性能數據,我們將精準定位并修復潛在問題,同時引入更多先進的算法與優化策略,以進一步提升Blaze的性能與穩定性。

2、支持更多引擎或場景,例如數據湖等:為了滿足用戶日益多樣化的數據處理需求,我們將不斷拓展Blaze的應用場景,支持更多類型的數據處理引擎與場景,如數據湖等。通過加強與業界主流技術的兼容性,我們將為用戶提供更加靈活、便捷的數據處理方案,助力用戶解鎖數據價值,推動業務創新與發展。

3、加強開源社區運營建設,共建生態繁榮:我們深知開源社區對于技術發展與生態繁榮的重要性。因此,我們將在之后加強Blaze開源社區的運營建設,積極構建一個開放、包容、協作的社區環境。當前我們已經與阿里、B站、攜程、聯通云等公司達成合作。

如果您對該項目感興趣,歡迎您為項目點個star。
項目地址:https://github.com/kwai/blaze

本文作者:快手技術王磊

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
日韩理论片中文av| 亚洲区国产区| 欧美精品久久99| 中文字幕久久综合| 国产美女明星三级做爰| 亚洲区综合中文字幕日日| 欧美一区二区视频免费观看| 蜜桃视频一区二区在线观看| 欧美一级片免费| 性欧美精品高清| 国产午夜精品全部视频播放| 岛国毛片在线播放| 欧美黄色视屏| 91小视频免费观看| 亲子乱一区二区三区电影 | 国内精品福利| 亚洲黄色有码视频| 国产成人手机视频| 污视频在线免费观看网站| 成人激情午夜影院| 国产精品v日韩精品| 天天操天天操天天操天天操天天操| 日韩免费一级| 日本韩国一区二区| 成人在线免费观看网址| 无码国产精品96久久久久| 免费久久精品视频| 午夜精品免费视频| 刘亦菲国产毛片bd| 国产乱人伦精品一区| 一本到高清视频免费精品| 伊人久久大香线蕉综合75| 色噜噜在线播放| 蜜臀av性久久久久av蜜臀妖精| 欧美国产日韩免费| 亚洲观看黄色网| 伊人久久精品| 欧美视频第一页| 中国一级大黄大黄大色毛片| 国产女主播在线直播| 国产69精品久久久久毛片 | 亚洲成人短视频| 国产精品免费av| 免费试看一区| 亚洲va久久久噜噜噜无码久久| 久久国产一二区| 欧美久久久精品| 国产又粗又长又硬| 三级精品视频| 亚洲成色999久久网站| 最新天堂在线视频| 日韩av首页| 夜夜嗨av一区二区三区| 一区二区高清视频| 国产在线一二三| 粉嫩一区二区三区性色av| 国产精品专区一| 秋霞精品一区二区三区| 国产精品九九| 久久视频在线免费观看| 无码人妻一区二区三区在线视频| 筱崎爱全乳无删减在线观看| 亚洲国产成人高清精品| 国产人妻人伦精品| 黄a在线观看| 国产亚洲午夜高清国产拍精品 | 美女av免费观看| 麻豆tv免费在线观看| 欧美高清在线精品一区| 色综合久久88色综合天天提莫| 天天摸夜夜添狠狠添婷婷| 成人一区二区三区视频在线观看 | 国产精品美女| 91精品国产99| 丰满少妇乱子伦精品看片| 亚洲午夜电影| 久久精品99国产精品酒店日本 | **国产精品| 欧美二区三区91| 香港日本韩国三级网站| 免费成人高清在线视频| 欧美性生交片4| 麻豆一区二区三区视频| 日韩一级特黄| 欧美视频在线一区| 国产区二区三区| av日韩一区| 欧美成人三级在线| 中文字幕99页| 一道在线中文一区二区三区| 亚洲精品福利在线观看| xxxx黄色片| 国产va免费精品观看精品视频| 亚洲欧美一区二区三区情侣bbw| 久久精品一区二区免费播放| 欧美日韩国产免费观看视频| www.国产精品一二区| 欧美色图亚洲视频| 日韩一级在线| 国产精品www| 国产黄色片免费| av福利精品导航| 日本成人三级| 免费**毛片在线| 精品久久久久久国产91| 亚洲最大综合网| 日本亚州欧洲精品不卡| 亚洲精品www久久久久久广东| www.色天使| 天天射—综合中文网| 欧美大片在线免费观看| www亚洲视频| 狠狠久久亚洲欧美| 国产欧美一区二区三区另类精品| 国内精品一区视频| 亚洲欧美综合网| 喜爱夜蒲2在线| 日韩脚交footjobhd| 欧美日韩一区二区三区免费看| 人妻少妇偷人精品久久久任期| 男人的天堂久久| 色偷偷噜噜噜亚洲男人| 免费一级特黄特色大片| 日韩电影网1区2区| 不卡视频一区二区| 99青草视频在线播放视| 亚洲大型综合色站| 亚洲精品性视频| 老司机在线精品视频| 亚洲热线99精品视频| 看免费黄色录像| 巨乳诱惑日韩免费av| 99久久伊人精品影院| 国产大学生校花援交在线播放| 亚洲自拍偷拍欧美| www.日本一区| 日韩美女国产精品| 欧美人与性动交a欧美精品| 无码人妻久久一区二区三区| caoporn国产一区二区| 乱子伦一区二区| 国产精品成人国产| 亚洲国产精品久久91精品| 亚洲AV无码成人精品区明星换面| 亚洲国产裸拍裸体视频在线观看乱了中文| 国产精品自拍视频| 欧美日本网站| 五月婷婷另类国产| 无码人妻久久一区二区三区蜜桃 | 国产视频亚洲视频| 久草国产在线视频| 国产美女精品一区二区三区| 欧美日本韩国国产| 五月天国产在线| 亚洲成人网在线| 欧美日韩一级大片| 日韩高清在线一区| 日产国产精品精品a∨| 午夜av不卡| 精品无人国产偷自产在线| 国产精品theporn动漫| 国产精品一区二区果冻传媒| 中文字幕超清在线免费观看| 国产伊人久久| 最近2019年日本中文免费字幕| 波多野结衣日韩| 91麻豆视频网站| 久艹视频在线免费观看| 高清一区二区中文字幕| 亚洲午夜性刺激影院| 欧美黄色一级大片| 国产三级精品在线| 天天综合网日韩| 久久久综合色| 国产日韩欧美夫妻视频在线观看| a√在线中文网新版址在线| 欧美日韩在线观看一区二区| 国产激情av在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲7777| 香蕉久久一区| 久久久久久久久久久亚洲| 黄色一级大片在线免费看国产| 亚洲国产毛片aaaaa无费看 | 日韩区一区二| 午夜免费在线观看精品视频| 日韩精品系列| 欧美日韩综合不卡| 亚洲国产精品久| www.超碰com| 成人动漫视频| 久久男人的天堂| 污视频在线免费| 欧美日韩中文字幕| 韩国三级hd中文字幕| 美女视频免费一区| 日韩不卡一二区| 久久人人爽人人爽人人片av不| 8x拔播拔播x8国产精品| 国产片在线观看| 91.com视频| 亚洲一区电影在线观看| 久久国产视频网| 国产91在线亚洲| 婷婷精品在线观看| 国产免费一区二区三区在线能观看 | 性欧美8khd高清极品| 亚洲成人av福利| 国产精品高清无码在线观看| 久久精品国产一区二区三区免费看 | 国产成人精品一区二区免费看京| 国产伊人精品在线| 超碰中文在线| 色吧影院999| 欧美一级淫片免费视频魅影视频| 欧美性猛交视频| 亚洲二区在线播放| 久久久青草青青国产亚洲免观| 欧美婷婷精品激情| 在线欧美不卡| 中文字幕一区综合| 台湾亚洲精品一区二区tv| 成人精品网站在线观看| 在线看片国产福利你懂的| 久久久www成人免费精品张筱雨| 午夜视频在线播放| 欧美一区二区在线免费观看| 亚洲综合久久网| 亚洲伊人色欲综合网| 9.1成人看片免费版| 成人免费毛片aaaaa**| 不卡的av中文字幕| 麻豆91精品| 欧美一级欧美一级| 小小影院久久| 日韩高清dvd| 日本成人a网站| 亚洲综合av影视| 97欧美成人| 日韩av男人的天堂| 肉体视频在线| 欧美丰满少妇xxxxx做受| 亚洲搞黄视频| 亚洲新中文字幕| 天堂av2024| 日韩女优制服丝袜电影| 国产精品久久欧美久久一区| 欧美性xxxxx极品少妇| 日韩免费视频一区二区视频在线观看| 亚洲精品乱码久久久久久久久| 国产黄色录像视频| 91丨porny丨户外露出| 成人无码www在线看免费| 成人午夜av在线| 337p日本欧洲亚洲大胆张筱雨 | 成年人小视频网站| 性娇小13――14欧美| 国产不卡一区二区视频| 黑人一区二区三区四区五区| 强开小嫩苞一区二区三区网站| 成人在线电影在线观看视频| 精品91免费| 女一区二区三区| 精品日本一区二区| 极品国产人妖chinesets亚洲人妖| 成人精品在线视频| 欧美日韩伦理一区二区| 国产精品丝袜久久久久久高清| 国产高清不卡| 国产成人欧美在线观看| 国产麻豆久久| 国产福利视频一区二区| 日韩大陆av| 91亚洲精品一区二区| 9999在线精品视频| 亚洲一区二区三区久久| 日韩在线精品强乱中文字幕| 成人h片在线播放免费网站| 99久久婷婷国产综合精品首页| 国产在线视频2019最新视频| 亚洲高清影院| http;//www.99re视频| 精品亚洲精品| 欧美黄色直播| 91亚洲国产| 四虎4hu永久免费入口| 欧美久久一级| 国产午夜伦鲁鲁| 久久精品五月| 粉色视频免费看| 国产 欧美在线| 日本少妇毛茸茸| 久久精品视频免费| 欧洲美女女同性互添| 夜夜嗨av一区二区三区中文字幕| 天天操天天射天天爽| 狠狠躁18三区二区一区| 中文字幕av第一页| 91精品国产91久久久久久一区二区| 国产成人免费看一级大黄| 欧美精品一区二区久久久| 日韩精品视频无播放器在线看 | 亚洲专区视频| 中文字幕欧美日韩一区二区| 国内揄拍国内精品久久| 一本色道无码道dvd在线观看| 久久99久久99小草精品免视看| 韩国三级视频在线观看| 久久综合狠狠综合| 国产大片免费看| 欧美视频13p| 亚洲天堂网在线视频| 欧美大片拔萝卜| 成人三级黄色免费网站| 久久99青青精品免费观看| 国产综合色区在线观看| 懂色av一区二区三区在线播放| 久久99影视| 国产精品无码免费专区午夜| 国产欧美一区二区色老头| 天天操夜夜操很很操| 久久精品一区四区| 国产精品1000| 欧美高清hd18日本| 欧美扣逼视频| 久久久久久久999精品视频| 岛国精品在线| 国产成人av一区二区三区| 先锋资源久久| 国产精品igao| 97国产精品videossex| 中文字幕乱码av| 色噜噜偷拍精品综合在线| 亚洲AV无码精品自拍| 日韩中文字幕精品视频| 老司机2019福利精品视频导航| 91丨九色丨国产在线| 国产成人三级| 18岁网站在线观看| 高清久久久久久| 农村妇女精品一区二区| 欧美日韩一区二区三区高清| 色av男人的天堂免费在线| 久久久久久伊人| 国产视频一区二区在线播放| 一区二区三区四区五区精品| 视频一区二区中文字幕| xxxx黄色片| 亚洲一区二区三区四区的| 91中文字幕在线播放| 最近日韩中文字幕中文| 性欧美videohd高精| 欧美黑人xxxxx| 亚洲精品四区| 日韩网站在线播放| 富二代精品短视频| 熟妇人妻av无码一区二区三区| 久久亚洲影音av资源网| 91麻豆精品国产综合久久久| 香蕉久久夜色| 久久国产欧美日韩精品| 国产全是老熟女太爽了| 日韩欧美亚洲范冰冰与中字| 欧美日韩视频精品二区| 97超级碰在线看视频免费在线看| 精品国产一区二区三区不卡蜜臂| 国产aaa免费视频| 国产aⅴ综合色| 国产大片中文字幕在线观看| 日韩欧美国产不卡| 激情国产在线| 久久久影院一区二区三区| 欧美亚洲免费| 亚洲精品视频久久久| 欧美性受xxxx黑人xyx| 日本在线免费网| 国产精品久久久久久久久久久久久久| 久久婷婷蜜乳一本欲蜜臀| 天天操狠狠操夜夜操| 亚洲人成伊人成综合网小说| www.蜜臀av.com| 78色国产精品| 红桃视频在线观看一区二区| 亚洲这里只有精品| 亚洲欧美国产毛片在线| 亚洲av无码片一区二区三区 | 久久精品国产美女| 国产免费成人| 亚洲а∨天堂久久精品2021| 欧美日韩高清一区二区三区| 在线观看男女av免费网址| 91免费版黄色| 老司机午夜免费精品视频| 精品一区二区三孕妇视频| 日韩一区二区在线免费观看| 91高清视频在线观看| 欧美日本韩国国产| 国产最新精品精品你懂的| 免费在线观看亚洲| 亚洲激情久久久|