说明:收录各省市地方标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210150032.4 (22)申请日 2022.02.10 (71)申请人 杭州玳数 科技有限公司 地址 311121 浙江省杭州市余杭区仓前街 道余杭塘路2301号海智中心6幢102 室-1楼、 102室-2 楼 (72)发明人 兰洋  (74)专利代理 机构 常州佰业腾飞专利代理事务 所(普通合伙) 32231 专利代理师 刘松 (51)Int.Cl. G06F 16/23(2019.01) G06F 16/242(2019.01) (54)发明名称 实现Trino Ic eberg连接中的Update功能的 方法 (57)摘要 本发明提供一种实现Trino  Iceberg连接中 的Update功能的方法, 包 括以下步骤: 通过Trino   Engine Sql执行引擎接收并解析用户提交的 Update Sql任务, 以获取可执行计划; 通过Trino 提供的UpdatablePageSource软件编程接口, 来 支持对Iceberg元数据以及 底层数据的Update功 能逻辑; 根据Update功能逻辑, 通过Iceberg提供 的RowDelta应用编程接口对 Iceberg底层数据进 行数据UPDATE操作。 本发明可以在通过Trino对 接Iceberg数据湖时支持Update功能, 使用户能 方便高效的完成更多的批处 理场景。 权利要求书2页 说明书6页 附图1页 CN 114579589 A 2022.06.03 CN 114579589 A 1.一种实现Tri no Iceberg连接中的Update功能的方法, 其特 征在于, 包括以下步骤: 通过Trino  Engine Sql执行引擎接收并解析用户提交的Update  Sql任务, 以获取可执 行计划; 通过Trino提供 的UpdatableP ageSource软件编程接口, 来支持对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, 并根据所述用户提交的Ses sion对用户进行权限鉴定; 如果权限鉴定通过, 则使用逻辑计划器对所述Update  Sql任务进行解析, 生成抽象语 法树, 并根据所述Update  Sql任务所在的Catalog, 结合从对应的Connector中获取所述 Update Sql任务所涉及的表的元数据信息以及Trino  Engine的语法优化器的优化规则, 将 所述Update  Sql任务优化并转换成逻辑计划; 通过分布式计划器根据所述逻辑计划生成分布式查询计划, 并交给 执行计划器; 所述执行计划器将所述分布式查询计划转换成可执行的计划, 并通过节点管理器发现 获取可用节点, 并将所述可 执行的计划分发到所述可用节点进行 执行。 3.根据权利要求2所述的实现Trino  Iceberg连接中的Update功能的方法, 其特征在 于, 通过Trino提供的UpdatablePageSource软件编程接口, 来支持对Iceberg元数据以及底 层数据的Update功能逻辑, 具体包括: 根据所述可执行计划, 通过SplitManager软件编程接口获取所述Update  Sql任务所涉 及的表的spl it信息; 对每个所述split信息创建一个UpdatablePageSource软件编程接口, 以使Trino   Engine通过UpdatablePageSource软件编程接口提供的getNextPage方法获取下一页数据, 并在读取 所述下一页数据时根据SQ L条件执行过滤并生成过 滤后的结果页面; 根据所述结果页面, 通过所述UpdatableP ageSource软件编程接口在updataRows方法 中根据ro wID完成数据的delete File文件以及i nsertFile文件的生成; 在UpdateablePageSource软件编程接口的finish方法中用Iceberg提供的 Transaction应用编程接口对所述deleteFile文件以及所述insertFile文件进行底层元数 据记录以及数据的新增 和删除; 当所述Trino  Engine处理完所有Splits的页面后, Trino  Engine调用 ConnectorMetadata软件编程接口 的finishUpdate 方法提交事物。 4.根据权利要求3所述的实现Trino  Iceberg连接中的Update功能的方法, 其特征在 于, 根据所述Update功能逻辑, 通过Iceberg提供的RowDelta应用编程接口, 对Ic eberg底层 数据进行 数据UPDATE操作, 具体包括: 判断所述delete File文件以及所述 insertFile文件的Fi leContent的类型;权 利 要 求 书 1/2 页 2 CN 114579589 A 2如果所述类型为DATA类型, 则通过RowD elta.addInsertFile方法将文件的位置信息以 及数据信息添加到Iceberg表元 数据信息中; 如果为POS ‑DELETETION类型, 则通过RowDelta.addDeleteFile方法将文件的位置信息 以及数据信息添加到Iceberg表元 数据信息中; 如果所述类型不为所述DATA类型且不为所述POS ‑DELETETION类型, 则抛出不支 持该类 型的异常; 提交本次事务, 完成对所述Update  Sql任务的数据UP DATE操作。 5.一种计算机设备, 其特征在于, 包括存储器、 处理器及存储在存储器上并可在处理器 上运行的计算机程序, 所述处理器执行所述程序时, 实现根据权利要求 1‑4中任一项 所述的 实现Trino Iceberg连接中的Update功能的方法。 6.一种非临时性计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 该程序被 处理器执行时实现如权利要求1 ‑4中任一项所述的实现Trino  Iceberg连接中的Update功 能的方法。权 利 要 求 书 2/2 页 3 CN 114579589 A 3

.PDF文档 专利 实现Trino Iceberg连接中的Update功能的方法

文档预览
中文文档 10 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 实现Trino Iceberg连接中的Update功能的方法 第 1 页 专利 实现Trino Iceberg连接中的Update功能的方法 第 2 页 专利 实现Trino Iceberg连接中的Update功能的方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 11:19:23上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。