自定义算子使用说明
1、概述
平台支持自定义上传算子,以支持更复杂和灵活的数据治理流程,目前只支持使用 Python 编写的算子程序。
下面将以一个示例介绍算子的使用。
2、起名
描述此算子的名称,此处以 hello 为例
3、编码
编码后的结构如下所示
1 |
|
- Dockerfile 文件内容固定
1 |
|
- app.py 为算子主程序
平台只支持使用单个 py 文件,且此文件必须命名为 app.py,示例内容如下,算子暴露了一个 5000 端口,在 /hello 路由暴露了一个方法。
算子必须使用 5000 端口,且使用 0.0.0.0 暴露
算子必须有且仅有一个路由,用以编写算子处理逻辑
1 |
|
- packages.txt 为依赖文件
此文件生成方式见 <生成依赖> 章节
1 |
|
- venv 为虚拟环境
建议使用虚拟环境初始化算子开发环境,其可以初始化出算子开发所需要的独立干净的环境,在生成依赖文件时也可以避免引入其他无用的依赖
4、 生成依赖
1 |
|
5、构建镜像
假设工作目录为 app
注意替换 hello 为正确的业务算子名称,只可为英文字母、数字和 - 的组合,且以英文字母开头
平台上传的算子名称不可重复
其中
hub.geovis.com.cn/library/algorithm-
为固定值,不可更改本地需有 docker 环境
1 |
|
执行完成后将会在工作目录下生成一个名为 algorithm-xxx.tar 的文件,此处示例为 algorithm-hello.tar,此文件即是最终的算子镜像制品。
6、上传算子镜像
- 界面输入算子名称(必填)、算子描述、路由、参数等信息
- 点击上传按钮上传上一步导出的算子镜像制品文件,即 algorithm-xxx.tar
- 点击确定按钮,后台将会异步加载镜像,并创建算子服务,后台返回 200 创建成功
- 刷新算子管理界面的列表,后台返回算子信息以及运行状态