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

Hudi 在 vivo 湖倉一體的落地實踐

大數據
在增效降本的大背景下,vivo大數據基礎團隊引入Hudi組件為公司業務部門湖倉加速的場景進行賦能。主要應用在流批同源、實時鏈路優化及寬表拼接等業務場景。

一、Hudi 基礎能力及相關概念介紹

1.1 流批同源能力

與Hive不同,Hudi數據在Spark/Flink寫入后,下游可以繼續使用Spark/Flink引擎以流讀的形式實時讀取數據。同一份Hudi數據源既可以批讀也支持流讀。

Flink、Hive、Spark的流轉批架構:

圖片

Hudi流批同源架構:

圖片

1.2 COW和MOR的概念

Hudi支持COW(Copy On Write)和MOR(Merge On Read)兩種類型:

(1)COW寫時拷貝

每次更新的數據都會拷貝一份新的數據版本出來,用戶通過最新或者指定version的可以進行數據查詢。缺點是寫入的時候往往會有寫內存放大的情況,優點是查詢不需要合并,直接讀取效率相對比較高。JDK中的CopyOnWriteArrayList/

CopyOnWriteArraySet 容器正是采用了 COW 思想。

COW表的數據組織格式如下:

圖片

(2)MOR讀時合并:

每次更新或者插入新的數據時,并寫入parquet文件,而是寫入Avro格式的log文件中,數據按照FileGroup進行分組,每個FileGroup由base文件(parquet文件)和若干log文件組成,每個FileGroup有單獨的FileGroupID;在讀取的時候會在內存中將base文件和log文件進行合并,進而返回查詢的數據。缺點是合并需要花費額外的合并時間,查詢的效率受到影響;優點是寫入的時候效率相較于COW快很多,一般用于要求數據快速寫入的場景。

MOR數據組織格式如下:

圖片

1.3 Hudi的小文件治理方案

Hudi表會針對COW和MOR表制定不同的文件合并方案,分別對應Clustering和Compaction。

Clustering顧名思義,就是將COW表中多個FileGroup下的parquet根據指定的數據大小重新編排合并為新的且文件體積更大的文件塊。如下圖所示:

圖片

Compaction即base parquet文件與相同FileGroup下的其余log文件進行合并,生成最新版本的base文件。如下圖所示:

圖片

1.4 周邊引擎查詢Hudi的原理

當前主流的OLAP引擎等都是從HMS中獲取Hudi的分區元數據信息,從InputFormat屬性中判斷需要啟動HiveCatalog還是HudiCatalog,然后生成查詢計劃最終執行。當前StarRocks、Presto等引擎都支持以外表的形式對Hudi表進行查詢。

圖片圖片

1.5 Procedure介紹

Hudi 支持多種Procedure,即過程處理程序,用戶可以通過這些Procedure方便快速的處理Hudi表的相關邏輯,比如Compaction、Clustering、Clean等相關處理邏輯,不需要進行編碼,直接通過sparksql的語句來執行。

1.6 項目架構

1). 按時效性要求進行分類

秒級延遲:

圖片圖片

分鐘級延遲:

圖片

當前Hudi主要還是應用在準實時場景

上游從Kafka以append模式接入ods的cow表,下游部分dw層業務根據流量大小選擇不同類型的索引表,比如bucket index的mor表,在數據去重后進行dw構建,從而提供統一數據服務層給下游的實時和離線的業務,同時ods層和dw層統一以insert overwrite的方式進行分區級別的容災保障,Timeline上寫入一個replacecommit的instant,不會引發下游流量驟增,如下圖所示:

圖片圖片

1.7 線上達成能力

實時場景:

支持1億條/min量級準實時寫入;流讀延遲穩定在分鐘級

離線場景:

支持千億級別數據單批次離線寫入;查詢性能與查詢Hive持平(部分線上任務較查詢Hive提高20%以上)

小文件治理:

95%以上的合并任務單次執行控制在10min內完成

二、組件能力優化

2.1 組件版本

當前線上所有Hudi的版本已從0.12 升級到 0.14,主要考慮到0.14版本的組件能力更加完備,且與社區前沿動態保持一致。

2.2 流計算場景

1). 限流

數據積壓嚴重的情況下,默認情況會消費所有未消費的commits,往往因消費的commits數目過大,導致任務頻繁OOM,影響任務穩定性;優化后每次用戶可以攝取指定數目的commits,很大程度上避免任務OOM,提高了任務穩定性。

圖片

2). 外置clean算子

避免單并行度的clean算子最終階段影響數據實時寫入的性能;將clean單獨剝離到

compaction/clustering執行。這樣的好處是單個clean算子,不會因為其生成clean計劃和執行導致局部某些Taskmanager出現熱點的問題,極大程度提升了實時任務穩定性。

圖片

3). JM內存優化

部分大流量場景中,盡管已經對Hudi進行了最大程度的調優,但是JM的內存仍然在較高水位波動,還是會間隔性出現內存溢出影響穩定性。這種情況下我們嘗試對 state.backend.fs.memory-threshold 參數進行調整;從默認的20KB調整到1KB,JM內存顯著下降;同時運行至今state相關數據未產生小文件影響。

圖片

2.3 批計算場景

1). Bucket index下的BulkInsert優化

0.14版本后支持了bucket表的bulkinsert,實際使用過程中發現分區數很大的情況下,寫入延遲耗時與計算資源消耗較高;分析后主要是打開的句柄數較多,不斷CPU IO 頻繁切換影響寫入性能。

因此在hudi內核進行了優化,主要是基于partition path和bucket id組合進行預排序,并提前關閉空閑寫入句柄,進而優化cpu資源使用率。

這樣原先50分鐘的任務能降低到30分鐘以內,數據寫入性能提高約30% ~ 40%。

優化前:

圖片

優化后:

圖片

2). 查詢優化

0.14版本中,部分情況下分區裁剪會失效,從而導致條件查詢往往會掃描不相關的分區,在分區數龐大的情況下,會導致driver OOM,對此問題進行了修復,提高了查詢任務的速度和穩定性。

eg:select * from `hudi_test`.`tmp_hudi_test` where day='2023-11-20' and hour=23; 

(其中tmp_hudi_test是一張按日期和小時二級分區的表)

修復前:

圖片

修復后:

圖片

優化后不僅包括減少分區的掃描數目,也減少了一些無效文件RPC的stage。

3). 多種OLAP引擎支持

此外,為了提高MOR表管理的效率,我們禁止了RO/RT表的生成;同時修復了原表的元數據不能正常同步到HMS的缺陷(這種情況下,OLAP引擎例如Presto、StarRocks查詢原表數據默認僅支持對RO/RT表的查詢,原表查詢為空結果)。

圖片圖片

2.4 小文件合并

1). 序列化問題修復

0.14版本Hudi在文件合并場景中,Compaction的性能相較0.12版本有30%左右的資源優化,比如:原先0.12需要6G資源才能正常啟動單個executor的場景下,0.14版本 4G就可以啟動并穩定執行任務;但是clustering存在因TypedProperties重復序列化導致的性能缺陷。完善后,clustering的性能得到30%以上的提升。

可以從executor的修復前后的火焰圖進行比對。

修復前:

圖片

修復后:

圖片

2). 分批compaction/clustering

compaction/clustering默認不支持按commits數分批次執行,為了更好的兼容平臺調度能力,對compaction/clustering相關procedure進行了改進,支持按批次執行。

同時對其他部分procedure也進行了優化,比如copy_to_table支持了列裁剪拷貝、

delete_procedures支持了批量執行等,降低sparksql的執行時間。

3). clean優化

Hudi0.14 在多分區表的場景下clean的時候很容易OOM,主要是因為構建

HoodieTableFileSystemView的時候需要頻繁訪問TimelineServer,因產生大量分區信息請求對象導致內存溢出。具體情況如下:

圖片

對此我們對partition request Job做了相關優化,將多個task分為多個batch來執行,降低對TimelineSever的內存壓力,同時增加了請求前的緩存判斷,如果已經緩存的將不會發起請求。

改造后如下:

圖片

此外實際情況下還可以在FileSystemViewManager構建過程中將 remoteview 和 secondview 的順序互調,絕大部分場景下也能避免clean oom的問題,直接優先從secondview中獲取分區信息即可。

2.5 生命周期管理

當前計算平臺支持用戶表級別生命周期設置,為了提高刪除的效率,我們設計實現了直接從目錄對數據進行刪除的方案,這樣的收益有:

  1. 降低了元數據交互時間,執行時間快;
  2. 無須加鎖、無須停止任務;
  3. 不會影響后續compaction/clustering 相關任務執行(比如執行合并的時候不會報文件不存在等異常)。

刪除前會對compaction/clustering等instants的元數據信息進行掃描,經過合法性判斷后區分用戶需要刪除的目錄是否存在其中,如果有就保存;否則直接刪除。流程如下:

圖片

三、總結

我們分別在流批場景、小文件治理、生命周期管理等方向做了相關優化,上線后的收益主要體現這四個方向:

  1. 部分實時鏈路可以進行合并,降低了計算和存儲資源成本;
  2. 基于watermark有效識別分區寫入的完成度,接入湖倉的后續離線任務平均SLA提前時間不低于60分鐘;
  3. 部分流轉批后的任務上線后執行時間減少約40%(比如原先執行需要150秒的任務可以縮短到100秒左右完成 ;
  4. 離線增量更新場景,部分任務相較于原先Hive任務可以下降30%以上的計算資源。

同時跟進用戶實際使用情況,發現了一些有待優化的問題:

  1. Hudi生成文件的體積相較于原先Hive,體積偏大(平均有1.3 ~ 1.4的比例);
  2. 流讀的指標不夠準確;
  3. Hive—>Hudi遷移需要有一定的學習成本;

針對上述問題,我們也做了如下后續計劃:

  1. 對hoodie parquet索引文件進行精簡優化,此外業務上對主鍵的重新設計也會直接影響到文件體積大小;
  2. 部分流讀的指標不準,我們已經完成初步的指標修復,后續需要補充更多實時的任務指標來提高用戶體驗;
  3. 完善Hudi遷移流程,提供更快更簡潔的遷移工具,此外也會向更多的業務推廣Hudi組件,進一步挖掘Hudi組件的潛在使用價值。
責任編輯:龐桂玉 來源: vivo互聯網技術
相關推薦

2023-06-28 07:28:36

湖倉騰訊架構

2023-03-27 21:24:18

架構數據處理分析服務

2022-12-13 17:42:47

Arctic存儲湖倉

2021-06-11 14:01:51

數據倉庫湖倉一體 Flink

2023-08-30 07:14:27

MaxCompute湖倉一體

2024-03-05 08:21:23

湖倉一體數據湖數據倉庫

2022-09-29 09:22:33

數據倉

2024-09-03 14:59:00

2022-08-11 18:07:35

網易數帆華泰證券Arctic

2022-08-16 16:22:18

湖倉一體網易數帆開源

2021-06-07 10:45:16

大數據數據倉庫數據湖

2025-08-21 09:29:11

2021-06-07 11:22:38

大數據數據倉庫湖倉一體

2023-04-19 15:52:15

ClickHouse大數據

2023-05-26 06:45:08

2023-09-05 07:22:17

Hudi數據存儲

2025-09-12 16:40:08

2023-10-30 07:25:37

數據湖數據處理
點贊
收藏

51CTO技術棧公眾號

啊v视频在线一区二区三区 | 午夜精品电影在线观看| 国产成人一区二区三区影院在线| 激情亚洲另类图片区小说区| 激情亚洲一区二区三区四区 | 91蝌蚪精品视频| 欧美色xxxx| 亚洲精品在线免费看| 国产精品国产精品国产专区| 亚洲网站啪啪| 国产一区二区动漫| 91热视频在线观看| 涩涩视频在线播放| 国产精品久久久久一区| 亚洲综合在线小说| 国产情侣自拍av| 成人免费电影网址| 日韩欧美国产精品一区| 欧美日韩二三区| 五月香视频在线观看| 成人午夜激情片| 国产精品亚洲视频在线观看| 国产高清在线免费观看| 啪啪亚洲精品| 日韩欧美国产电影| 搡女人真爽免费午夜网站| 亚洲性图自拍| 国产三区在线成人av| 亚洲一区中文字幕在线观看| 日韩精品在线不卡| 我不卡伦不卡影院| 亚洲日本中文字幕免费在线不卡| 久久精品国产露脸对白| 中文字幕资源网在线观看免费 | 深夜国产在线播放| 欧美国产欧美亚州国产日韩mv天天看完整| 99在线观看视频| 日韩久久久久久久久久| 99国产精品私拍| 久久人人爽人人爽人人片亚洲| 国内精品久久99人妻无码| 在线精品视频一区| 欧美美女喷水视频| 日韩精品一区二区三区不卡 | 免费国产黄色网址| 中文字幕免费高清电视剧网站在线观看| 久久蜜桃一区二区| 97人人模人人爽视频一区二区| 青青青国产在线 | 国产乱淫av片杨贵妃| 日韩电影在线观看完整版| 国产91露脸合集magnet| 成人午夜小视频| 日韩国产成人在线| 亚洲在线国产日韩欧美| 午夜精品一区二区三区在线 | 成人黄色免费网| 在线综合欧美| 97在线视频精品| 国产精品自拍视频一区| 欧美婷婷在线| 九九热视频这里只有精品| 少妇视频一区二区| 青青草成人影院| 中文字幕亚洲精品| 亚洲女人久久久| 欧美在线亚洲| 韩日欧美一区二区| 成人黄色三级视频| 激情亚洲综合在线| 99久久综合狠狠综合久久止| 黄色aaa毛片| 91免费视频大全| 亚洲午夜高清视频| 在线中文字幕视频观看| 亚洲成人免费在线观看| 免费在线观看日韩视频| av成人免费| 日韩一二三区不卡| 亚洲av无码一区二区三区观看| 国产欧美日韩| 久久精品国产精品亚洲| 日韩 国产 在线| 视频一区视频二区中文字幕| 成人久久久久爱| 三级视频在线看| 中文av字幕一区| 屁屁影院ccyy国产第一页| 亚洲女同志freevdieo| 欧美久久免费观看| 国产视频久久久久久| 欧美午夜精品一区二区三区电影| 久久亚洲成人精品| av大片免费在线观看| 久久精品久久99精品久久| 国产精品一区视频网站| 国产福利片在线| 亚洲妇女屁股眼交7| 在线观看免费黄网站| 国产精品45p| 日韩中文字幕网站| 久久国产精品系列| 激情综合色播五月| 日本一区二区三区视频在线观看| 菠萝菠萝蜜在线观看| 一本大道久久a久久精二百| 一起草最新网址| 国产欧美日韩影院| 欧美精品18videosex性欧美| 中文区中文字幕免费看| 99久久婷婷国产精品综合| 一级做a爰片久久| 亚洲综合电影| 精品国产精品一区二区夜夜嗨| 久久久久亚洲AV成人无在| 99国产精品久久久久久久成人热| 91免费综合在线| 国产日韩精品在线看| 精品久久久久久久大神国产| 麻豆传媒在线看| 久久亚洲成人| 国产激情久久久| 五月天丁香视频| 亚洲综合一区二区| 一级日本黄色片| 欧美电影《睫毛膏》| 国产精品第二页| 日韩在线无毛| 欧美日韩在线看| 亚洲 欧美 日韩在线| 午夜精品亚洲| 91中文在线视频| 国产在线看片| 777xxx欧美| 欧美成人777| 激情综合亚洲精品| 亚洲欧美日韩不卡| 97精品资源在线观看| 这里精品视频免费| 中文字幕+乱码+中文乱码www| 91看片淫黄大片一级| 欧美一区二区中文字幕| 美女午夜精品| 欧美影院久久久| 青青久在线视频免费观看| 午夜不卡av免费| 亚洲av成人片色在线观看高潮| 国产精品激情电影| 国产在线精品一区二区三区| 91九色porn在线资源| 亚洲成人a**站| 久久久久久久伊人| 91污片在线观看| 亚洲欧洲日产国码无码久久99| 中文字幕av一区二区三区人| 日韩69视频在线观看| 国产高清美女一级毛片久久| 欧美日韩在线播| 日韩欧美综合视频| 国产.欧美.日韩| 国产精品网站免费| 国产一区三区在线播放| 国产精品视频一| 香蕉视频在线看| 日韩小视频在线观看专区| 青青草免费av| 久久免费午夜影院| 日本高清一区二区视频| 亚洲午夜黄色| 免费试看一区| 欧美日韩破处视频| 久久97久久97精品免视看 | 亚洲欧洲二区| 欧美激情国内偷拍| 久久国产精品高清一区二区三区| 欧美日韩一区精品| 青草草在线视频| 91麻豆精品一区二区三区| 天天操天天爽天天射| 91超碰国产精品| 精品国产乱码久久久久久郑州公司 | 亚洲国产一区二区三区| www.色多多| 国产麻豆日韩欧美久久| 日韩中文字幕三区| 66久久国产| 免费成人在线观看av| 日本在线一区二区| 51精品国产黑色丝袜高跟鞋| 日本最黄一级片免费在线| 亚洲第一黄色网| 在线观看毛片av| 亚洲成a人片在线观看中文| 天天操天天干天天操天天干| 国产高清久久久| 日本熟妇人妻中出| 激情丁香综合| 亚洲午夜精品久久| 秋霞影院一区二区三区| 91在线观看免费观看| 波多野结衣亚洲| 久久最新资源网| 欧美日韩伦理片| 日韩欧美成人一区| 中文字幕乱码无码人妻系列蜜桃| 亚洲线精品一区二区三区| 大胸美女被爆操| 99re在线精品| 韩国三级在线播放| 黑人精品欧美一区二区蜜桃 | 亚洲欧美99| 日韩成人动漫在线观看| av成人综合网| 久久精品国产福利| 人人爽久久涩噜噜噜网站| 黄色在线观看视频网站| 久久五月情影视| 视频免费一区| 一本一本久久a久久精品综合小说| 亚洲第一天堂影院| 欧美一区二区三区白人| 一道本无吗一区| 欧美色区777第一页| 51国产偷自视频区视频| 亚洲成a天堂v人片| 青青草免费av| 亚洲另类中文字| 国产精品视频看看| 国产精品污污网站在线观看 | 日本精品三区| 日本欧美色综合网站免费| 欧美绝顶高潮抽搐喷水合集| 成人欧美一区二区三区视频| 国产精品日本一区二区不卡视频| 国产精品久久久一区| 欧美国产日韩电影| 日本精品久久久久影院| 中文字幕在线直播| 日韩av片电影专区| 日本免费久久| 国产精品99导航| 蜜桃视频成人m3u8| 国产精品偷伦免费视频观看的| 你懂得影院夜精品a| 国产成人综合精品在线| 欧美大胆性生话| 日韩av观看网址| 日韩制服一区| 成人av资源在线播放| 精品视频在线一区| 成人h视频在线观看| 红杏一区二区三区| 久久久久成人精品免费播放动漫| 天堂成人娱乐在线视频免费播放网站| 久久riav二区三区| 欧美女王vk| 精品久久免费观看| 欧美日韩国产欧| 日本免费不卡一区二区| 丝袜美腿成人在线| 性欧美videossex精品| 久久精品久久99精品久久| 波多野结衣网页| caoporen国产精品视频| 扒开jk护士狂揉免费| 欧美经典三级视频一区二区三区| 战狼4完整免费观看在线播放版| 中文字幕一区在线| 国产在线视频在线观看| 大桥未久av一区二区三区| 国产精品传媒在线观看| 91精品国产一区二区三区蜜臀| 亚洲欧美激情在线观看| 日韩精品中文字幕视频在线| 999在线视频| 久久久人成影片一区二区三区观看| 亚洲美女尤物影院| 成人网址在线观看| 日韩欧美ww| 日本丰满大乳奶| 国产精品日本| 中文字幕资源在线观看| 成a人片国产精品| 久久久久久久久福利| 一区二区三区小说| 精品一区二区无码| 日韩欧美国产麻豆| av播放在线观看| 欧美精品videos| 123成人网| 国产伦精品一区二区三区免| 欧美一二区在线观看| 国产freexxxx性播放麻豆 | 国产精品一区二区三区在线播放| 国产一区二区三区亚洲综合| 久久偷看各类wc女厕嘘嘘偷窃| 欧美激情理论| 中文字幕日本最新乱码视频| 国产自产视频一区二区三区| 男女黄床上色视频| 亚洲一区二区精品视频| 中文字幕一区二区三区四区免费看 | 成人国产精品一区二区| 色橹橹欧美在线观看视频高清| 一区一区视频| 丝袜亚洲精品中文字幕一区| 2一3sex性hd| 亚洲免费伊人电影| 精品国产www| 亚洲美女喷白浆| 欧美理论电影| 91精品视频一区| 日韩一区二区中文| 欧美日韩大尺度| 91捆绑美女网站| 国产情侣在线视频| 精品少妇一区二区三区日产乱码| 午夜视频成人| 国产精品男女猛烈高潮激情| 日本成人7777| 久久这里只有精品23| 国产成人在线视频播放| 99自拍视频在线| 欧美日韩一区在线| 91在线观看| 国产精品极品美女在线观看免费 | 亚洲欧美福利视频| 国产传媒在线| 国产一区二区三区奇米久涩| 国产精品theporn| 香蕉视频1024| 亚洲主播在线观看| 精品人妻无码一区二区三区蜜桃一| 日韩午夜在线视频| 欧美一区二区三区婷婷| 亚洲韩国在线| 美女一区二区视频| 欧美性生交大片| 欧美日韩免费一区二区三区 | 999在线观看| 国产精品另类一区| 亚洲一卡二卡在线| 久久色免费在线视频| av在线播放一区二区| 丰满女人性猛交| 国产成人免费视频网站高清观看视频| 欧美人禽zoz0强交| 精品国产sm最大网站免费看| 黄网av在线| 欧美二区三区| 日韩av不卡一区二区| 成人精品一二三区| 欧美一区二区三区在线看| 综合久久2019| 国精产品99永久一区一区| 国产乱码精品| 欧美黄色高清视频| 91精品国产aⅴ一区二区| 午夜成年人在线免费视频| 国产66精品久久久久999小说| 一区二区三区国产在线| mm131美女视频| 欧美人体做爰大胆视频| 欧洲中文在线| 久久久久se| 久久国产精品99久久久久久老狼| 韩国一级黄色录像| 精品国产青草久久久久福利| 在线天堂资源www在线污| 天堂资源在线亚洲资源| 国产主播一区二区三区| 久久网中文字幕| 亚洲欧美制服另类日韩| 99视频这里有精品| 999在线观看视频| 欧美激情综合五月色丁香| 国产免费福利视频| 69精品小视频| 欧美超碰在线| 蜜桃色一区二区三区| 色婷婷久久久久swag精品| 黄色的网站在线观看| 国产免费一区| 麻豆精品一区二区综合av| 久久精品久久国产| 尤物tv国产一区| 国产精品白丝一区二区三区 | 高清不卡在线观看| 国产真人无遮挡作爱免费视频| 久久国产色av| 国产一区三区在线播放| 激情综合激情五月| 欧美色图片你懂的| 69av成人| 免费看污污视频| 久久久99精品久久| 成人毛片在线精品国产| 国产精品人成电影在线观看| 亚洲黄色在线| 欧美日韩午夜视频|