介绍过一个工具knots ,方便Singer 可视化开发的工具,但是默认这个工具包含的tap 以及target 比较少(可以自己扩展)
同时这个工具就是基于docker 运行的
docker 运行的几点说明
- 使用交互模式
- 开发环境建议使用数据卷挂载的模式
- 生产环境我们可以直接按照tag 进行打包
docker 运行模式的参考脚本
从knots 的makefile 文件摘取,实际上可以自己写,很简单
- 脚本文件
docker run -v "$(CURDIR)/tap:/app/tap/data" --interactive $(TAP_IMAGE) $(TAP) -c tap/data/config.json --catalog tap/data/catalog.json | docker run -v "$(CURDIR)/target:/app/target/data" --interactive $(TARGET_IMAGE) $(TARGET) -c target/data/config.json > tap/state.json
- 说明
TAP_IMAGE 为包含了安装好pip 包的基础镜像
TAP 为tag 的名称,使用的是TAP_IMAGE 中的命令行工具
TARGET_IMAGE 为包含了按照好了pip 包的基础镜像
TARGET 为target 的名称,使用的是TARGET_IMAGE中的命令行工具
-v 指定了对应tap 以及target 的配置参数,或者通过发现,设置了同步策略的schema信息
实际上为了减少磁盘空间,我们可以加上--rm 参数