[发明专利]实现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.vipzhuanli.com/pat/books/202210150032.4/1.html,转载请声明来源钻瓜专利网。