文章目录
-
- 1 概述:
- 2 准备环境(我这里用的是1.5.0):
- 3 connector 开发
-
- 3.1 在openLooKeng源码根目录创建与Connector名对应的模块
- 3.2 将当前模块加入io.hetu.core组中,版本需要和当前openLooKeng工程版本一致:
- 3.3 定义当前工程信息,添加packaging选项为hetu-plugin在打包编译时会将当前工程打包到heto-core的plugin目录下。
- 3.4 引入 SPI 依赖,每个Plugin工程都会依赖 presto-spi 模块:
- 3.5 在hetu core根目录下的pom.xml中,将我们新增的Connector 加入到 modules 中
- 3.6 在hetu-server的src/main/provisio/hetu.xml配置文件中,注册新增的Connector
- 3.7 hetu-dm模块代码实现
- 3.8 编译整个openLooKeng工程时,我们需要将自定义添加的connector也编译打包到plugin目录下,或者package hetu-dm 模块,将插件包放入环境中
- 4 测试环境调试
- 5 金仓connector的实现步骤同达梦相同,并且同属于jdbc数据源,代码大多数可以复用
- 6 需要注意的问题:
1 概述:
openlookeng架构以及执行逻辑,connector的原理等概念性问题,请自行百度,这里不再阐述
2 准备环境(我这里用的是1.5.0):
2.1 idea环境OK,下载一套所需要版本的openlookeng源码:gitee: https://gitee.com/openlookeng/hetu-core github:https://github.com/openlookeng/hetu-core
2.2 自己部署一套对应版本的openlookeng集群用来调试:部署方法:转载:https://blog.csdn.net/openLooKeng/article/details/120088344
3 connector 开发
3.1 在openLooKeng源码根目录创建与Connector名对应的模块
3.2 将当前模块加入io.hetu.core组中,版本需要和当前openLooKeng工程版本一致:
<parent>
<artifactId>presto-root</artifactId>
<groupId>io.hetu.core</groupId>
<version>1.5.0</version>
</parent>
3.3 定义当前工程信息,添加packaging选项为hetu-plugin在打包编译时会将当前工程打包到heto-core的plugin目录下。
<artifactId>hetu-dm</artifactId>
<description>Hetu - DM Connector</description>
<packaging>hetu-plugin</packaging>
3.4 引入 SPI 依赖,每个Plugin工程都会依赖 presto-spi 模块:
<!-- Presto SPI -->
<dependency>
<groupId>io.hetu.core</groupId>
<artifactId>presto-spi</artifactId>
<scope>provided</scope>
</dependency>
3.5 在hetu core根目录下的pom.xml中,将我们新增的Connector 加入到 modules 中