Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kuscia添加数据源类型,例如:Oracle、hive、Doris等多种类型数据库 #469

Open
Trae-Young opened this issue Dec 18, 2024 · 4 comments

Comments

@Trae-Young
Copy link

Trae-Young commented Dec 18, 2024

Issue Type

Api Usage

Search for existing issues similar to yours

Yes

Kuscia Version

kuscia 0.12.0b0

Link to Relevant Documentation

https://www.secretflow.org.cn/zh-CN/docs/kuscia/v0.12.0b0/reference/apis/domaindatasource_cn

Question Details

了解到domainDatasource是管理kuscia的数据源。支持localfs、oss、MySQL类型的数据源。
业务场景一般是通过secretpad进行注册数据、创建项目、进行数据分析、数据建模、模型训练等。
现在希望能对kuscia的数据源类型进行二开,添加类似Oracle、hive、Doris类型的数据源。在改造的过程中,是不是kuscia和secretpad都需要进行深度改造?
大概是那些地方需要进行改造?
@wangzul
Copy link
Contributor

wangzul commented Dec 18, 2024

数据源管理和实现是在kuscia层实现的如果你需要尝试添加新的数据源配置可以优先看一下DataMesh的介绍。
https://www.secretflow.org.cn/zh-CN/docs/kuscia/v0.12.0b0/reference/apis/datamesh/datacrud_cn

SecretPad部分主要做了数据源配置的输入校验等功能,你可以服用或参照mysql中的配置创建自己的实现

@Trae-Young
Copy link
Author

数据源类型添加,我看应该是有kuscia api和datamesh api。
kuscia api我是围绕proto/api/v1alpha1/kusciaapi/domaindatasource.proto和pkg/kusciaapi/service/domaindata_source.go两个文件进行改造的。
datamesh api则是围绕proto/api/v1alpha1/datamesh/domaindatasource.proto和pkg/datamesh/service/domaindatasource.go两个文件进行改造的。
但是我发现,kuscia层面的数据源,好像仅仅是一些连接信息,并没有涉及到对这些数据源信息DataSourceInfo进行一些jdbc等建立连接的操作。和数据源进行真正交互的是kuscia层面?还是secretpad?
我觉得单纯对kuscia添加数据源信息改造肯定是无法真正实现数据源类型的添加。

@wangzul
Copy link
Contributor

wangzul commented Dec 20, 2024

数据源进行真正交互的是kuscia,具体可以参照下方链接来了解。
DataMesh的实现
https://github.com/secretflow/kuscia/tree/main/pkg/datamesh
DataProxy
https://github.com/secretflow/dataproxy

@Trae-Young
Copy link
Author

好的,我这两天一直在看Kuscia的DataMesh和Kusciaapi中的domaindatasource相关,也看了DataProxy工具,但是这些看起来,添加一个新的类型数据源,比如oracle,我只需要对kuscia的proto文件和对应的pkg/kusciaapi/service/domaindata_source.go文件和datamesh对应的go文件进行修改,就可以实现在kuscia上添加数据源类型,在kuscia中还有其他地方要改造嘛?
关于dataproxy,这个项目的编译、打包镜像都可以实现,但是其应用方法并没有一个官方文档去说明,无法清楚地知道怎么使用这个dataproxy工具。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants