<bdo id="ks4iu"><del id="ks4iu"></del></bdo>
  • 
    <pre id="ks4iu"></pre>
  • <bdo id="ks4iu"><del id="ks4iu"></del></bdo>
    <input id="ks4iu"><em id="ks4iu"></em></input>
    
    
  • <center id="ks4iu"><cite id="ks4iu"></cite></center>
  • 首頁 > 空調 >

    面向類型繁多的數據源,Trino分析引擎如何在數據湖上進行極速分析?

    編者按

    隨著企業內外部數據源的增加,呈現出數量龐大、種類繁多、質量參差不齊等特點。如何讓這些結構復雜、類型各異的數據發揮價值,對于大多數企業來說,最有效的途徑是建立起一套能夠統一數據源的技術體系和管理體系。

    滴普科技經過技術沉淀與實踐,探索出基于Trino分析引擎連接多類數據源,實現快速查詢與分析的技術解決方案,并將此回饋給技術開發者社區。

    撰文 | 曉云

    編輯 | 昕然

    本文共計1300字,閱讀需要3分鐘

    在之前的FastData連載文章中,介紹“統一SQL引擎”時提到了Trino,本文對Trino+ Iceberg技術做相關解讀。

    Trino是針對OLAP設計的用于高效的分布式查詢大量數據的分析引擎。主要具備下列優點:屏蔽底層數據源,提供統一查詢接口;基于內存計算,可以跨不同數據源完成聯邦查詢;通過Trino進行異構數據的提取、整合與分析,打破數據孤島、提高數據治理能力。

    1

    Trino 架構

    Trino的架構如圖一所示。由一個coordinator和多個worker節點組成的Trino集群。Trino用戶通過一個客戶端連接到coordinator。coordinator與訪問數據源的worker進行協作。一旦它接收到一條SQL語句,協調器就負責跨Trino工作節點解析、分析、計劃和調度查詢執行。該語句被轉換為運行在一組worker上的一系列連接的任務。當worker處理數據時,coordinator將檢索結果并在輸出緩沖區上向客戶機公開。

    在Trino中,存儲和計算分離的核心是基于connector的體系結構。connector為Trino提供了訪問任意數據源的接口。

    如圖二所示,每個connector都提供了對底層數據源的基于表的抽象。只要可以使用Trino可用的數據類型以表、列和行來表示數據,就可以創建connector,查詢引擎就可以使用數據進行查詢處理。目前支持的connector包括:Hive, Iceberg, MySQL, PostgreSQL, Oracle, SQL Server, ClickHouse, MongoDB等。

    Trino connector體系結構

    2

    Trino Iceberg connector

    Iceberg 是一種用于跟蹤超大規模表的,構建于存儲格式之上的數據組織方式,通常將其作為數據湖底層存儲。它具備下列能力:

    1. 模式演化:支持添加,刪除,更新或重命名,并且沒有副作用。

    2. 支持隱藏分區和分區演化,方便業務進行數據分區策略更新。

    3. 快照控制:可實現使用完全相同的表快照的可重復查詢,或者使用戶輕松檢查更改。

    4. 版本回滾:使用戶可以通過將表重置為良好狀態來快速糾正問題。

    5. 快速掃描數據:無需使用分布式SQL引擎即可讀取表或查找文件。

    6. 數據修剪優化:使用表元數據使用分區和列級統計信息修剪數據文件。

    7. 兼容性好:可以存儲在任意的云存儲系統和HDFS中。

    8. 支持事務:上游數據寫入即可見,不影響當前數據處理任務,這大大簡化了 ETL。

    9. 高并發:高并發寫入器使用樂觀并發,即使寫入沖突,也會重試以確保兼容更新成功。

    圖三 Iceberg表格式

    此外,Iceberg支持通過流式方式讀取增量數據;支持多種引擎,并且提供了java native API,不用特定引擎也可以訪問Iceberg表。

    Trino 引入Iceberg connector的設計改進了Hive已知的可伸縮性限制。Hive將表元數據存儲在一個metastore中,該metastore由關系數據庫(如MySQL)支持。它跟蹤分區在metastore的位置,但無法定位到單獨的數據文件。使用Hive connector的Trino查詢必須首先調用metastore來獲取分區位置,然后調用底層文件系統來列出每個分區內的所有數據文件,然后從每個數據文件中讀取元數據。在文件量大的情況下,這是一個非常耗時的操作。

    Iceberg提供了表級別的抽象接口,自己在文件中維護表的元數據信息(而非通過Hive Metastore維護)。基于此,Iceberg對于表的元數據管理以及表數據本身如何組織存儲進行了封裝(如圖三所示),查詢可以定位到文件級別,大幅提高了查詢效率。

    此外,Trino Iceberg connector 在查詢優化方面支持分區下推,Projection 下推,動態過濾等提高查詢效率。

    3

    總 結

    為了獲取更高的查詢性能,Trino可以將查詢或部分查詢的處理下推到連接的數據源中。這意味著特定的謂詞、聚合函數或其他操作被傳遞到底層數據庫或存儲系統進行處理;另一方面可以通過添加索引的方式,加快查詢。

    責任編輯:Rex_08

    關鍵詞: Iceberg Trino
    推薦閱讀
    欧美国产在线一区,免费看成年视频网页,国产亚洲福利精品一区,亚洲一区二区约美女探花
    <bdo id="ks4iu"><del id="ks4iu"></del></bdo>
  • 
    <pre id="ks4iu"></pre>
  • <bdo id="ks4iu"><del id="ks4iu"></del></bdo>
    <input id="ks4iu"><em id="ks4iu"></em></input>
    
    
  • <center id="ks4iu"><cite id="ks4iu"></cite></center>
  • 主站蜘蛛池模板: 五月婷婷激情网| 国产av熟女一区二区三区| 亚洲免费在线观看| 2021国产精品自拍| 欧美日韩一卡二卡| 国产裸体美女永久免费无遮挡| 亚洲综合久久精品无码色欲| 亚洲一区在线视频观看| 337p人体韩国极品| 欧美人与物另类| 国产精品v欧美精品∨日韩| 亚洲国产精品xo在线观看| 404款禁用软件onlyyou| 欧美大片全黄在线观看| 国产精品一卡二卡三卡| 亚洲av无码一区二区三区不卡| 久久综合九色综合97伊人麻豆| 日韩视频在线观看| 國产一二三内射在线看片| 亚洲精品高清国产麻豆专区| 999国产精品| 欧美日本一本线在线观看| 国产精品久久久久无码av| 亚洲AV无码精品网站| 韩国三级在线视频| 成年丰满熟妇午夜免费视频| 午夜在线社区视频| free性video西欧极品| 欧美黑人粗大xxxxbbbb| 国产精品va在线观看无码| 久爱免费观看在线网站| 蜜桃成熟时3之蜜桃仙子电影| 扒开双腿猛进入免费视频黄 | 欧美重口另类在线播放二区| 国产精品资源一区二区| 亚洲AV综合色区无码二区爱AV| 骆驼趾美女图片欣赏| 成人在线观看国产| 亚洲高清偷拍一区二区三区 | 免费毛片a线观看| 97久久免费视频|