Calcite适配GaussDB开源验证任务心得

举报
yd_239286208 发表于 2024/12/06 11:48:03 2024/12/06
【摘要】 首先先看下任务计划书 ,大概了解了下这个任务的主要工作是完成 calcite查询引擎连接GaussDB并且可以读可以写数据的验证工作。总体来讲不是很复杂,主要是需要花时间熟悉calcite的架构、环境搭建、如何使用。下面介绍下适配过程中的一些关键步骤。开发过程首先参考任务计划书给的参考资料: http://calcite.apache.org/ 。 把官网看了下。 官网上是支持很多数据库类型...

首先先看下任务计划书 ,大概了解了下这个任务的主要工作是完成 calcite查询引擎连接GaussDB并且可以读可以写数据的验证工作。总体来讲不是很复杂,主要是需要花时间熟悉calcite架构、环境搭建、如何使用。下面介绍下适配过程中的一些关键步骤。

开发过程

首先参考任务计划书给的参考资料: http://calcite.apache.org/ 。 把官网看了下。 官网上是支持很多数据库类型,我采用pom文件配置对应的依赖,编写demo验证从gaussDB读写数据,最后打成jar,然后上传到ecs上运行,首先依赖的环境有java对应的版本如下:java安装过程很简单不再赘述:

相关依赖的jar版本如下:

Demo验证逻辑:

代码参考:

https://gitcode.com/xizhou_0313/opensource-demo-calcite-241204/overview

思路很简单,主要就是先读取gaussDB对应表中最大id,然后在最大值基础加1,再写到gaussDB对应的表,再查出来最大值。开发本身并不复杂,主要是要会使用calcite对应的api,方法可以参考:https://calcite.apache.org/docs/

开发总结

1.本任务适配本身并不复杂,需要使用gaussDB官网提供的jar,然后参考官网编写代码,很有意思的,这个calcite是使用 JdbcSchema.create 加载 gaussDB数据源信息到calcite再来操作数据的。

2.关于 Properties属性参考:https://blog.51cto.com/u_1196740/2160570

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。