




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
周渝豪-小米-大數據軟件工程師DataFunSummit#2023CONTENT01架構定位DataFunSummit#2023CLIMetadataWorkerJDBCCLIMetadataWorkerJDBCWorkerHTTPWorkerHiveIcebergKuduMySQL…HDFSHDFSOSSOSSMySQLMySQL……架構清晰架構清晰Master-Slave架構全內存運算Pipeline模式動態代碼生成可拔插Connector數跨源聯邦查詢方便自定義函存算分離無依賴系統獨立單主節點加上內存限制單個節點一般32G以上基于內存模式設計和元數據服務小米的OLAP和元數據服務ServiceEngineEngineManagerMetastoreMetastoreService權限驗證引擎發現元信息獲取HTTPHTTPJDBC/ThriftJDBC/ThriftWebWebUISQLSQLParserKyuubiKyuubiServerEngineOLAP接入方式SQL代理層SQL引擎層KyuubiEngine執行SparkSQL任務,讀寫擅長Hive、KyuubiEngine執行SparkSQL任務,讀寫擅長Hive、Spark和MySQL對接Spark語法解析兼容SparkSQL語法,只讀Metacat對統一管理元數據>>統一使用SparkSQL語法不僅是數據量大,還有種類來源豐富:不僅是數據量大,還有種類來源豐富:?Kudu存儲引擎?Iceberg數據湖?關系型數據庫在小米Trino主要被用來提升用戶可見部分的性即席查詢,統計報表等讓大數據更快到達用戶眼前。更快的接入新數據源,更快的分析處理速度。內部場景測試相比SparkSQL,Trino能夠提供5-10倍的性能提升。初步引入功能完善基本成熟初步引入功能完善基本成熟升級386版本應用場景優化升級386版本應用場景優化基于352版本內部特性適配核心能力提升緊跟社區的步伐,每年進行一次大版本升級02DataFunSummit#20230203010203兼容SparkSQL兼容SparkSQL優化Iceberg使用動態Catalog加載動態UDF加載集成測試和自動發布兼容SparkSQLSparkSQLSELECTSELECT‘1’`id`,“Bob’sSon”`name`FROMtestSELECTSELECT‘1’“id”,‘Bob’’sSon’FROMtest“”Tips:小米統一使用SparkSQL作為標準OLAP查詢語言>字面量和標識符的引用方式不同>語法不同,比如Array>語義不同,比如ArraySpark和Trino的SQL語法和語義都存在不同SparkSqlRewriterSparkSQLSparkSQLSQLParserYesSQLSuccess?QuerySparkSqlRewriterSparkSQLSparkSQLSQLParserYesSQLSuccess?QueryExecuteSparkSparkSQLParserSparkSparkSQLSparkSQLRewriter解決了80%以上的語法兼容問題隱式轉換兼容SparkSQL隱式轉換類型轉換類型轉換?INT轉成BIGINT:加寬類型(Typewidening)?STRING轉INT:翻譯類型(Typetranslation)顯/隱式轉換顯/隱式轉換?顯示轉換:用CAST進行類型轉換,比如CAST(1ASDOUBLE)?隱式轉換:計算引擎自動根據需要的類型對數據進行轉換,比如1/‘2’(String轉換成Int)Trino只支持加寬類型的隱式轉換>session參數use_spark_syntax>配置級別參數use-spark-syntax>ANTI/SEMIJOIN>ANTI/SEMIJOIN>Hints語法>Table-valuedFunctions>部分Spark函數99.6%99.6%兼容率核心能力優化Iceberg使用IcebergIceberg?適用于大型分析數據集的開放表格式?支持事務性,模式演進,隱式分區和行級更新等?適用于各種云存儲和HDFS等?讀取內存占用高,容易導致集群OOM?對Timestamp處理和Spark不一致(非錯誤)?表的讀取存在正確性和性能問題>降低讀取Iceberg元數據內存需求>優化Trino計算過程內存統計>支持按照session時區讀取timestamp>支持高效讀取Iceberg行級更新表>修復Iceberg表讀取列錯誤問題Unixtimestamp0Spark核心能力優化Iceberg使用Unixtimestamp0SparkTimestampTimestamp1970-01-0100:00:00Timestamp類型一般與Unix時間戳對應IcebergIcebergTableSchema1970-01-0100:00:000TimestampTimestamp1970-01-0108:00:00Spark會將Timestamp轉換成本地時間TimestampTimestamp1970-01-0100:00:00Iceberg定義使用Unixtimestamp存儲timestamp類型數據Trino會直接使用Timestamp時間為保持用戶查詢結果一致,Trino也修改為轉換成本地時間part000.parqupart001.parqupart000-.parquetpart000.parqupart001.parqupart000-.parquet優化前part000-.parquetpart001-part000-.parquetpart001-.parquetIcebergTable`users`IcebergDataIcebergTable`users`id(key)nameage1Alice18320INSERTINSERTINTOusers/*+OPTIONS('upsert-enabled'='true')*/SELECT1,Alice,20;IcebergDataFileid(key)nameage1Alice20PositionDelete:part000.parquet,1EqualityDelete:part000.parquet,id=1partpart000.parqu..parquet優化后partpart000.parqu將相同Schema的equality-delete文件先合并再進行merge,加快讀取速度。部分場景能將查詢耗時由數十分鐘降低到幾十秒。社區實現Worker從Coordinator動態獲取Catalog8社區實現Worker從Coordinator動態獲取Catalog8Coordinator暫不支持動態注冊CatalogWorker負載高時獲取Catalog失敗小米實現所有節點從Metacat獲取動態Catalog零失敗并發加載數千CatalogLazy?啟動預加載時間隨Catalog數線性增加靜態靜態Catalog動態獲取Catalog…動態UDF加載PUSHFDSFDSPULL實時生效發布訂閱插件模式版本管理實時生效發布訂閱插件模式Push審計日志和歷史服務PushReadIcebergIceberg消息中間件消息中間件TalosCluster1Cluster2運維能力Cluster1Cluster2>測試SQL的語法語義正確性>從SQL文件、審計日志表中獲取語句進行查詢采用SparkHash算法對每行數據進行運算并求和……));>>HiveMetastore使用連接池提升元數據訪問穩定性>增加管理接口和Metrics指標管理集群實時狀態>支持使用Nacos管理集群資源組配置>支持集群的快速重啟和worker優雅滾動重啟03DataFunSummit#2023優點:>大集群,支持更多更復雜的查詢缺點:>大集群對Coordinator配置要求更高>資源隔離效果更難把握 WorkerWorker優點:>多集群可以利用集群進行資源隔離>根據不同的需求定制集群缺點:>只能通過失敗重試保證容錯>多集群的運維管理更為復雜>對長時間復雜查詢不能保證成功率 WorkerWorkerWorkerSQLSQLProxy WorkerWorker WorkerWorker集群容器平臺Code安裝包存儲系統管理集群容器平臺Code安裝包存儲系統管理平臺集群Code對象存儲多集群管理鏡像鏡像存儲CICI平臺CICI平臺開發管理>服務配置解耦>統一集群管理公共集群集群組A來源用戶角色公共集群集群組A來源用戶角色多集群管理 集群組B集群組B空間空間路由和資源管理>按業務區分集群,保證資源的隔離>動態路由規則配置,支持黑白名單,保證負載均衡>資源組配置,單集群限制資源占用,保證穩定性即席查詢即席查詢數據預覽即席查詢場景說明:>追求的極致的速度,秒級>獨立的集群,保證資源隔離>集群內嚴格限制大查詢>快速失敗小米BI數鯨微軟PowerBI場景說明:>較快的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 針織品設計與創新思維考核試卷
- 鐵路橋隧工程加固與維護技術考核試卷
- 洗浴服務行業服務品質保障體系建設考核試卷
- 集成電路的射頻識別技術考核試卷
- 紅色旅游資源的音像制品開發考核試卷
- 鑄造行業環境保護與廢棄物處理考核試卷
- 耐火材料在玻璃制造工藝中的改進考核試卷
- 心腦血管疾病預防控制知識
- 幼兒園預防疾病小常識
- 新生兒藥效學分析
- 體育學校運動員服裝管理規定
- 健康體檢中心的服務方案
- 【MOOC】固定資產投資審計-南京審計大學 中國大學慕課MOOC答案
- 甘肅電投筆試題
- 《車用動力電池液冷板技術條件》
- 2025版國家開放大學法學本科《知識產權法》期末紙質考試第二大題多項選擇題題庫
- 中醫藥膳學知識學習考試題庫500題(含答案)
- 2024水利工程水庫塌岸與滑坡治理規程
- 《九型人格培訓》課件
- 中國文化概觀-終結性考核-國開(SC)-參考資料
- 嬰幼兒貧血的護理查房
評論
0/150
提交評論