《5-3 翼支付大數據 BI 分析平臺建設實踐.pdf》由會員分享,可在線閱讀,更多相關《5-3 翼支付大數據 BI 分析平臺建設實踐.pdf(23頁珍藏版)》請在三個皮匠報告上搜索。
1、翼支付大數據BI分析平臺建設實踐演講人:吳曉兵、唐曄2翼支付在金融大數據分析的應用翼支付在金融大數據分析的應用翼支付大數據翼支付大數據 BI 分析平臺架構分析平臺架構一一二二OLAP引擎技術引擎技術實踐實踐三三未來規劃未來規劃四四3業務場景業務場景 業務場景 數據探查 數據可視化 實時數據快速查詢 離線數據快速查詢 存在問題:煙囪式架構 查詢性能及穩定性差 自助式數據獲取門檻過高 數據權限管控混亂 數據質量低下4翼支付在金融大數據分析的應用翼支付在金融大數據分析的應用翼支付大數據翼支付大數據 BI 分析平臺架構分析平臺架構一一二二OLAP引擎技術引擎技術實踐實踐三三未來規劃未來規劃四四5平臺架
2、構平臺架構6翼支付在金融大數據分析的應用翼支付在金融大數據分析的應用翼支付大數據翼支付大數據 BI 分析平臺架構分析平臺架構一一二二OLAP引擎技術引擎技術實踐實踐三三未來規劃未來規劃四四7多租戶權限管控多租戶權限管控 平臺側權限管控:參考presto-parser模塊的代碼用于SQL解析 修改Presto的SqlBase.g4文件,添加對Hive/Spark語法的支持 使用Antlr4的Visitor模式對生成的AST進行遍歷,解析出SQL中的資源信息,隨后與元數據平臺交互來進行權限校驗8多租戶權限管控多租戶權限管控 Tableau權限管控:基于Presto SPI開發SystemAcces
3、sControl Plugin對接元數據平臺進行權限管控 Kylin采用的Project ACL進行權限管控9OLAP MetricsOLAP Metrics收集收集 OLAP集群監控與告警:每種引擎都集成prometheus_agent向Prometheus匯報集群核心Metrics Grafana繪制Cluster Dashboard Alert Platform進行異常指標告警 Query層級監控與分析:基于Presto SPI開發query-event-listener插件匯報單SQL Metrics Kylin通過Metrics-Report模塊向kafka發送cube查詢的指標 C
4、K本身會將查詢信息落到系統表中 最終所有的查詢Metrics落CK,通過QueryId即可對單SQL進行性能瓶頸分析10CK CK joinjoin分布式表不走分布式表不走local joinlocal join的問題的問題 描述:在啟用了local join(set distributed_product_mode=local)之后,直接join分布式表不走local join。更具體描述可參考文章:https:/ CK joinjoin分布式表不走分布式表不走local joinlocal join的問題的問題 相關代碼:src/Interpreters/InJoinSubqueriesP
5、reprocessor.cpp V21.11及以前的代碼V21.12及以后的代碼12CK Global IN/Not INCK Global IN/Not IN性能問題性能問題 描述:在使用global in/not in時,出現嚴重的性能問題,甚至查詢超時。具體分析可參考文章:https:/ select xxxfrom t where xxx global in(select xxxfrom t2 where xxx)Clickhouse mergetreeClickhouse mergetree引擎并行讀取機制與本場景中引擎并行讀取機制與本場景中t2t2表的數據分布導致讀入了大量碎片表的
6、數據分布導致讀入了大量碎片block block StorageMemory StorageMemory的數據以的數據以blockblock形式存儲,粒度與寫入時一致,不會進行合并形式存儲,粒度與寫入時一致,不會進行合并 Send ExternsTables Send ExternsTables時按時按blockblock逐個發送數據到逐個發送數據到remote noderemote node13CK Global IN/Not INCK Global IN/Not IN性能問題性能問題 相關代碼:src/Interpreters/GlobalSubqueriesVisitor.hV21.8及
7、以前代碼使用SquashingBlockInputStream緊湊block14CKCK添加添加PartialReplacingMergeTreePartialReplacingMergeTree引擎引擎 需求:標簽數據以部分字段增量的方式直接推送clickhouse,去除對hbase的依賴。意義:去除對hbase的依賴,縮短推數鏈路,合并出最新快照交由clickhouse完成,性能和穩定性會有所提高。每日定時人群包推送通過select xxx from t final的方式可提早服務就緒時間。15CKCK添加添加PartialReplacingMergeTreePartialReplacin
8、gMergeTree引擎引擎 實現:基于主鍵(primary key),按照指定順序(order by),根據用戶指定的字段index(從1開始)進行部分字段更新,并支持刪除功能。代碼:https:/ TABLE partial_rep_test(id UInt64,name String,age UInt8,col_idxes_arr Array(UInt16),version DateTime)ENGINE=PartialReplacingMergeTree(col_idxes_arr)PARTITION BY idPRIMARY KEY idORDER BY(id,version);id
9、為主鍵,id相同的記錄會被合并。col_idxes_arr指定需要更新的字段序號列表,從1開始,單獨一個元素0表示刪除記錄,沒有任何元素表示覆蓋所有字段。數據按照id,version的順序進行合并。16CKCK添加添加PartialReplacingMergeTreePartialReplacingMergeTree引擎引擎17CKCK執行計劃執行計劃以及以及優化器改造優化器改造 clickhouse最大的短板在執行計劃及優化器模塊V20.4及以前.FilterBlockInputStreamMergeTreeSelectBlockInputStream18 從V20.5逐步到最新的版本,初步
10、執行計劃及優化器模塊雛形 不過QueryPlan的優化是基于簡單的幾條優化規則進行,暫時還是不具備CBO特征CKCK執行計劃執行計劃以及以及優化器改造優化器改造V20.5開始.FilterStepReadFromMergeTreefilterPushDownlimitPushDownsplitFilter.19CKCK執行計劃執行計劃以及以及優化器改造優化器改造 GreenPlum:DuckDB:20 意義:clickhouse具備性能強悍的算子,配合完善的優化器將更能發揮性能優勢,能解決更多問題。進一步提升我們對clickhouse的掌控度。CKCK執行計劃執行計劃以及以及優化器改造優化器改造21翼支付在金融大數據分析的應用翼支付在金融大數據分析的應用翼支付大數據翼支付大數據 BI 分析平臺架構分析平臺架構一一二二OLAP引擎技術引擎技術實踐實踐三三未來規劃未來規劃四四22未來規劃未來規劃 平臺和OLAP引擎側全面云原生化 對用戶屏蔽不同SQL的語法差異,實現不同SQL語法的互轉 基于規則的智能路由引擎Thank you Thank you !