[發明專利]實現Trino Iceberg連接中的Update功能的方法在審
| 申請號: | 202210150032.4 | 申請日: | 2022-02-10 |
| 公開(公告)號: | CN114579589A | 公開(公告)日: | 2022-06-03 |
| 發明(設計)人: | 蘭洋 | 申請(專利權)人: | 杭州玳數科技有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F16/242 |
| 代理公司: | 常州佰業騰飛專利代理事務所(普通合伙) 32231 | 代理人: | 劉松 |
| 地址: | 311121 浙江省杭州市余杭區倉前街道余杭*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 實現 trino iceberg 連接 中的 update 功能 方法 | ||
1.一種實現Trino Iceberg連接中的Update功能的方法,其特征在于,包括以下步驟:
通過Trino Engine Sql執行引擎接收并解析用戶提交的Update Sql任務,以獲取可執行計劃;
通過Trino提供的UpdatablePageSource軟件編程接口,來支持對Iceberg元數據以及底層數據的Update功能邏輯;
根據所述Update功能邏輯,通過Iceberg提供的RowDelta應用編程接口,對Iceberg底層數據進行數據UPDATE操作。
2.根據權利要求1所述的實現Trino Iceberg連接中的Update功能的方法,其特征在于,通過Trino Engine Sql執行引擎接收并解析用戶提交的Update Sql任務,以獲取可執行計劃,具體包括:
通過所述Trino Engine Sql執行引擎接收用戶提交的所述Update Sql任務;
所述Trino Engine Sql執行引擎根據所述Update Sql任務獲取用戶提交的Session,并根據所述用戶提交的Session對用戶進行權限鑒定;
如果權限鑒定通過,則使用邏輯計劃器對所述Update Sql任務進行解析,生成抽象語法樹,并根據所述Update Sql任務所在的Catalog,結合從對應的Connector中獲取所述Update Sql任務所涉及的表的元數據信息以及Trino Engine的語法優化器的優化規則,將所述Update Sql任務優化并轉換成邏輯計劃;
通過分布式計劃器根據所述邏輯計劃生成分布式查詢計劃,并交給執行計劃器;
所述執行計劃器將所述分布式查詢計劃轉換成可執行的計劃,并通過節點管理器發現獲取可用節點,并將所述可執行的計劃分發到所述可用節點進行執行。
3.根據權利要求2所述的實現Trino Iceberg連接中的Update功能的方法,其特征在于,通過Trino提供的UpdatablePageSource軟件編程接口,來支持對Iceberg元數據以及底層數據的Update功能邏輯,具體包括:
根據所述可執行計劃,通過SplitManager軟件編程接口獲取所述Update Sql任務所涉及的表的split信息;
對每個所述split信息創建一個UpdatablePageSource軟件編程接口,以使TrinoEngine通過UpdatablePageSource軟件編程接口提供的getNextPage方法獲取下一頁數據,并在讀取所述下一頁數據時根據SQL條件執行過濾并生成過濾后的結果頁面;
根據所述結果頁面,通過所述UpdatablePageSource軟件編程接口在updataRows方法中根據rowID完成數據的deleteFile文件以及insertFile文件的生成;
在UpdateablePageSource軟件編程接口的finish方法中用Iceberg提供的Transaction應用編程接口對所述deleteFile文件以及所述insertFile文件進行底層元數據記錄以及數據的新增和刪除;
當所述Trino Engine處理完所有Splits的頁面后,Trino Engine調用ConnectorMetadata軟件編程接口的finishUpdate方法提交事物。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州玳數科技有限公司,未經杭州玳數科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210150032.4/1.html,轉載請聲明來源鉆瓜專利網。





