Paimon在各大公司生產實踐和優化總結

這是一篇匯總和個人學習文章,主要目的是總結一下Paimon在各大公司的落地做一個學習筆記。

本文的主要內容是關于Paimon在各大公司包括Vivo、Shopee、阿里、抖音等公司的落地實踐,文末有文章來源地址,內容大概分為幾個部分:

1.引入Paimon的背景和主要解決的問題

2.解決方案細節和基本架構

3.核心優化點

引入Paimon的背景和主要解決的問題

離線時效性問題

從各家公司分享的內部應用來看,大多數場景都是Lambda架構同時存在。離線批處理架構最大的問題是存儲和時效,存儲上Hive本身能力有限,大部分場景是insert overwrite,并且基本不關心文件組織形式。

Paimon為代表的湖框架可以精細管理每一個文件,除了簡單的insert overwrite,具備比較強大的ACID能力,能夠流式寫入實現分鐘級更新。

實時鏈路問題

以Flink+MQ為主的實時鏈路,主要的問題包括:

?成本較高,Flink周邊技術棧眾多,管理和運維成本高;并且因為中間結果不落地,需要大量的dump任務輔助進行問題定位和數據修復;

?任務穩定性,有狀態的計算導致延遲等各種問題;

?中間結果不落地,需要大量的輔助任務協助排查問題。

所以我們可以定性的給Paimon解決的問題下一個結論:統一流批鏈路,提升時效的同時降低成本。

核心場景和解決方案

數據統一入湖

在各大公司的分享中,都提到了關于使用Paimon代替傳統的Hive ODS層,將Paimon作為整個業務數據庫的統一鏡像表,提高數據鏈路的時效性并優化存儲空間。

實際生產鏈路帶來的好處如下:

?在傳統離線和實時鏈路中,ODS分別由Hive表和MQ(一般是Kafka)來承載,在新鏈路中Paimon表作為ODS的統一存儲,既滿足流讀又滿足批讀;

?采用Paimon后,由于整個鏈路是準實時的,可以將處理時間從小時級縮短到分鐘級,通常控制在十分鐘以內;

?Paimon對并發寫操作有很好的支持,并且Paimon同時支持主鍵表和非主鍵表;

這里值得一提的是,Shopee開發了基于Paimon Branch的「日切功能」。簡單的說即按照天進行數據切分,避免全量分區的數據冗余存儲問題。

此外,Paimon社區也提供了一套工具,可以幫助大家進行schema evolution,將MySQL甚至Kafka的數據同步到Paimon中,上游增加列,Paimon表也會跟著增加列。

維度表 Lookup Join

Paimon主鍵表作為維度表場景,在各大公司都有成熟應用,實際生產環境經過很多次考驗。

Paimon作為維度表的場景分為兩類,一類是實時維度表:通過Flink任務接業務數據庫實時更新;另一類是離線維度表,也就是通過Spark離線任務T+1更新,也是維度表的絕大數據場景。

Paimon維度表同樣可以支持Flink Streamin SQL任務和Flink Batch任務。

我們在之前的文章Paimon生產環境問題小總結也提到過維度表優化的場景。

Paimon寬表場景

Paimon和其他的很多框架一樣,支持Partial Update,LSM Tree架構使得Paimon有很高的點查與合并性能,但是這里要特別注意幾個點:

?性能瓶頸,在超大規模數據更新或者超多列更新場景,后臺合并性能會有明顯的下降,需要謹慎測試后使用;

?Sequence Group排序,當業務有多個流進行拼接時,會給每個流定義一個單獨的 Sequence Group,對每個Sequence Group排序字段需要合理選擇,甚至會有多個字段排序情況;

PV/UV場景

在螞蟻計算 PV/UV 指標的例子中,之前是使用 Flink 的全狀態鏈路來實現的,但后來發現大量業務難以遷移到這種模式,因此將其替換為 Paimon。

利用 Paimon 的 upsert(更新或插入)更新機制來進行去重,并且利用 Paimon 的輕量級日志 changlog 來消費數據,為下游提供實時的 PV(Page View,頁面瀏覽量)和 UV 計算。

在整體資源消耗方面,Paimon方案使得整體CPU使用率下降了60%,同時checkpoint的穩定性也得到了顯著提升。此外,由于Paimon支持point-to-point(端到端)寫入,任務的回滾和重置時間也大幅減少。整體架構因為變得更加簡單,因此在業務研發成本上也實現了降低。

湖上OLAP

因為Spark和Paimon集成度很高,通過Spark或Flink進行一些ETL操作,將數據寫入Paimon中,基于Paimon進行z-order排序、聚簇,甚至構建文件級索引,然后通過Doris或StarRocks進行OLAP查詢,這樣就可以達到全鏈路OLAP的效果。

總結

基本上面內容就是各大公司落地的主要場景,當然還有一些其他場景我們后續再持續補充。

文章內容來自:大數據技術與架構

更多Paimon文章:博客園 | 巨人肩膀

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84970.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84970.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84970.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

簡析自動駕駛產業鏈及其核心技術體系

一、自動駕駛產業鏈 自動駕駛產業鏈可以細分為感知層、決策層、執行層以及通信層等多個環節。上游部分主要包括提供環境感知所需的各種傳感器(如激光雷達、毫米波雷達、攝像頭等)、高精度地圖服務、定位系統以及其他相關硬件設備;中游涵蓋了…

第一節 布局與盒模型-Flex與Grid布局對比

一、核心特性對比?? 1. ??布局維度?? ??Flex 布局??: ??一維布局??:僅支持單方向(水平或垂直)的排列,通過 flex-direction 控制主軸方向(row 或 column)。??適用場景??&…

國產USRP X410 PRO/PRO+(相參版):寬頻段、大帶寬、多通道的4×4高性能軟件無線電設備

國產USRP X410 PRO/PRO(相參版)高性能軟件無線電,作為USRP X410的進階版本,X410 PRO/PRO核心均升級為Xilinx XCZU48DR FPGA芯片,顯著提升了信號處理能力。平臺延續了Xilinx Zynq UltraScale RFSoC的先進架構,集成四核ARM處理器及高…

Mac電腦-Office 2024 長期支持版(Excel、Word、PPT)

Office 2024 mac 是一款專為蘋果電腦用戶設計的高性能、高安全性的辦公軟件套裝 集成了Word、Excel、PowerPoint、Outlook等經典應用,為用戶提供了一站式的辦公解決方案。 不僅繼承了Office系列一貫的卓越性能,還在功能性和用戶體驗上進行了全面升級。…

vue2通過leaflet實現圖片點位回顯功能

需求:在圖片上標點了,需要根據標記點在圖片上進行回顯功能,并且不會根據窗口大小導致標記點移位 1.效果 2.下載插件 用到的是leaflet插件:一個交互式地圖 JavaScript 庫,我下載是 "leaflet": "^1.9.4&…

OmniDocBench:一鍵評測PDF解析算法

絕大多數文檔格式都能無損轉換至PDF,解決了PDF解析,也就相當于解決了絕大多數文檔的解析。所以,PDF解析算法是文檔服務的基石技術。 PDF解析算法目前有兩類技術路線 pipeline方法,整合layout analysis, OCR, formula/table reco…

[按鍵精靈安卓/ios腳本插件開發] 遍歷獲取LuaAuxLib函數庫命令輔助工具

LuaAuxLib庫 LuaAuxLib是按鍵精靈所有內置命令所在的庫文件,有多種方式來獲取LuaAuxLib庫下的函數命令,例如反編譯按鍵精靈手機端庫文件等。這里咱們來介紹一種淺顯易懂的方式來獲取,直接for循環遍歷獲取函數名。 ScanLuaAuxLib 我們寫一個自…

深度學習和計算機視覺的關系的理解

深度學習和計算機視覺的關系 深度學習作為人工智能的重要分支,近年來在計算機視覺領域取得了革命性突破。計算機視覺的核心任務包括圖像分類、目標檢測、語義分割等,而深度學習通過神經網絡模型自動學習圖像特征,極大提升了這些任務的準確率…

springboot開發項目 SLF4J+Logback日志框架集成【最終篇】

在這篇文章之前,實際對于 springboot和SLF4JLogback日志框架的使用 我已經分享過3篇關于springboot 日志的文章了。為什么會在寫這篇最終篇,因為 前3篇分享的關于springBoot框架日志的配置方案, 發現了一個問題:只有項目啟動的時候…

phpstudy無法啟動apache,80端口被占用,完美解決

phpstudy無法啟動apache,80端口被占用,完美解決 解決方法一(最推薦) 依次點擊網站-管理-修改 將端口由80改為81,再點擊確認后即可重新啟動apache。 需要注意的是,網站的訪問由127.0.0.1變為127.0.0.1:81。默認是80的端口所以可以不…

Loggers 配置解析(log4j.xml)

Loggers 配置解析 我們通過下面的例子來理解 log4j 的 Loggers 配置是如何決定日志輸出規則的。 <Loggers><!-- 根Logger&#xff1a;全局配置 --><Root level"debug"><AppenderRef ref"consoleAppender" level"info"/&g…

Java 大視界 -- Java 大數據在智能政務輿情監測與引導中的情感分析與話題挖掘技術(272)

&#x1f496;親愛的朋友們&#xff0c;熱烈歡迎來到 青云交的博客&#xff01;能與諸位在此相逢&#xff0c;我倍感榮幸。在這飛速更迭的時代&#xff0c;我們都渴望一方心靈凈土&#xff0c;而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識&#xff0c;也…

[NocoDB] 在局域網中調整Float類型顯示精度的部署經驗

在單位局域網環境中,NocoDB有效地連接MySQL數據庫和前端服務,做為中間件很方便。然而,在實際應用中,我們也會遇到一些較為隱藏的設置問題,比如此次經歷的 float 顯示精度不匹配問題。 問題環境 實際數據庫:MySQL,表中有 float 類型的數據 原始數據來源:Excel表格 數據轉…

Dockerfile 常見指令詳解

Dockerfile 是一個文本文件&#xff0c;包含了一系列用于構建 Docker 鏡像的指令。以下是 Dockerfile 中常見指令的詳細解釋&#xff1a; 基礎指令 1. FROM 指定基礎鏡像&#xff0c;必須為第一條指令&#xff08;注釋除外&#xff09;。 FROM ubuntu:20.04 FROM python:3.…

InnoDB Cluster 與 NDB Cluster 對比及部署指南

InnoDB Cluster 與 NDB Cluster 對比及部署指南 一、核心區別對比 特性InnoDB ClusterNDB Cluster存儲引擎InnoDBNDB (內存優先)架構設計基于Group Replication分布式架構(數據節點管理節點SQL節點)一致性模型最終一致性/強一致性強一致性數據持久化磁盤存儲為主內存存儲為主…

PySide環境配置及工具使用

文章目錄 [toc]1 概述1.1 PySide 能做什么&#xff1f;1.2 PySide 的優點1.3 PySide 的缺點1.4 示例代碼&#xff08;簡單窗口&#xff09; 2 環境準備2.1 安裝必要軟件2.2 修改 pip 源 3 PySide23.1 環境要求3.2 配置PySide23.3 工具配置 4 PySide64.1 環境4.2 配置PySide64.3…

數據標注師學習內容

目錄 文本標注詞性標注實體標注 圖像標注語音標注 文本標注 詞性標注 第一篇 第二篇 實體標注 點擊這里 關系標注 事件標注 意圖標注 關鍵詞標注 分類標注 問答標注 對話標注 圖像標注 拉框標注 關鍵點標注 2D標注 3D標注 線標注 目標跟蹤標注 OCR標注 圖像分類標注 語音…

【linux】文件與目錄命令 - rsync

文章目錄 1. 基本用法2. 常用參數3. 用法舉例4. 注意事項 rsync 命令用于快速同步文件和目錄&#xff0c;可用于本地和遠程傳輸&#xff0c;支持增量同步、壓縮、權限保留等特性。 1. 基本用法 語法&#xff1a; rsync [選項] 源 目標功能&#xff1a; 高效增量同步&#xff…

互聯網大廠Java求職面試:電商系統高并發設計

互聯網大廠Java求職面試&#xff1a;電商系統高并發設計 文章內容 面試官&#xff08;技術總監&#xff09;與鄭薪苦的對話 面試官&#xff1a; “鄭薪苦&#xff0c;歡迎來到我們的面試。今天我們會圍繞一個非常熱門的話題——電商系統的高并發設計進行深入探討。你之前在某…

Nginx跨云反向代理排錯:解密配置參數的“陷阱”

前言&#xff1a;在當今的云計算環境中&#xff0c;跨云平臺的應用部署變得越來越常見。為了驗證跨云平臺反向代理的可行性&#xff0c;我們進行了一次測試。本次測試將后端程序部署在阿里云服務器&#xff0c;同時使用在騰訊云注冊的已備案國內域名。我們在騰訊云控制臺將域名…