streamsets 集成 cratedb 测试
我们可以集成crate 到streamsets 中可以实现强大的数据导入,数据分析能力。
演示的是进行csv 文件的解析并输出到cratedb
环境使用docker && docker-compose
环境启动
- docker-compose yaml 文件
version: "3"
services:
sets:
image: streamsets/datacollector
volumes:
- "./ms/data:/data"
- "./ms/logs:/logs"
- "./ms/tmp:/tmp"
ports:
- "8000:8000"
- "18630:18630"
crate:
image: crate
ports:
- "4200:4200"
- "4300:4300"
- "5432:5432"
- 启动
docker-compose up -d
- 效果
安装cratedb jdbc driver
- 下载 jdbc driver
我已经放到github 项目的data 目录
参考地址:
https://bintray.com/crate/crate/crate-jdbc/view/files/io/crate/crate-jdbc-standalone
- 下载csv 文件
我已经放到github 项目 的data 目录
https://www.streamsets.com/documentation/datacollector/sample_data/tutorial/nyc_taxi_data.csv
- 加载jdbc driver
使用ui 的external library 加载
- 创建cratedb table
CREATE TABLE taxi (
hack_license STRING,
medallion STRING,
total_amount FLOAT,
tip_amount FLOAT
);
配置pipeline
- pipeline flow
- 配置csv 加载(directory origin)
- 添加字段转换配置
- 配置cratedb jdbc productor
问题比较多,主要是用户账户以及健康检查,连接池相关的,经过测试我使用了用户认证,使用默认的crate,参考下面的图即可
crate 官方的文档参考会有问题
密码随意,用户为crate
预览测试
运行&&写入数据
总结
在jdbc 配置中问题比较多,记得通过校验,逐步排除即可。
参考资料
https://crate.io/docs/crate/guide/en/latest/tools/streamsets.html
https://github.com/rongfengliang/streamsets-demos/tree/master/cratedb