<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>
  • 主站蜘蛛池模板: 国产精品久久福利网站| 精品国产乱码一区二区三区麻豆 | 免费一级毛片正在播放| 三级韩国床戏3小时合集| 中文天堂最新版在线精品| 欧美影院网站视频观看| 小说区图片区综合久久88| 国产又黄又爽视频| 亚洲成a人片在线观看精品| 一级特黄录像在线观看| 绝世名器np嗯嗯哦哦粗| 暖暖免费高清日本韩国视频| 国产福利在线视频尤物tv| 亚洲精品美女久久7777777| 中文字幕精品一区二区精品| 免费看v片网站| 日韩在线观看中文字幕| 国产精品免费_区二区三区观看| 从镜子里看我怎么c你的阅读视频| 久久99精品久久久久子伦小说| 色大18成网站www在线观看| 挺进白嫩老师下面视频| 国产免费无遮挡精品视频| 亚洲av产在线精品亚洲第一站| 67194成l人在线观看线路无码| 电车痴汉在线观看| 国内精品影院久久久久| 亚洲国产成人超福利久久精品 | 翁想房中春意浓1-28| 少妇丰满大乳被男人揉捏视频| 人妻无码aⅴ不卡中文字幕| 91亚洲va在线天线va天堂va国产| 欧美亚洲日本视频| 国产精品永久免费| 久在线精品视频| 色吊丝永久性观看网站| 日本一道高清一区二区三区| 又粗又黑又大的吊av| 中文字幕日韩一区二区不卡| 白桦楚然小说叫什么| 天天操天天摸天天舔|