目录
基础介绍
seaTunnel配置文件由4个部分组成
启动命令
seatunnel覆盖了那部分?
seaTunnel架构剖析
seaTunnel的基石 Api
SeaTunnel core
SeaTunnel Plugins
SeaTunnel 使用场景
seaTunnel痛点
基础介绍
seaTunnel是一个分布式、高性能、用于处理海量数据(离线&实时)同步和转换的数据集成工具
注:
分布式体现在能运行在yarn or mesos or More
离线&实时: 丰富的Connector 且支持流批一体
同步和转换:多样的数据处理插件且极易扩展
seaTunnel配置文件由4个部分组成
- env
- source
- transform
- sink
env{ app.name=seaTunnel-demo}source { mysql{ }}transform { convert{ }}sink{ elasticsearch{ }}
source + transform +sink 构建了数据处理的Pipeline,满足各种各样的数据处理需求
启动命令
./bin/start-seatunnel.sh –master yarn –deploy-mode client –config ./config/demo.conf
seatunnel覆盖了那部分?
数据处理+数据存储
seaTunnel架构剖析
seaTunnel的基石 Api
底层Plugin
public interface Plugin extends Serializable { config getConfg(); void setConfig(Config config); CheckResult checkConfig(); void prepare(T prepareEnv);}
BaseSource
public interface BaseSource extends Plugin{ OUT getData(T env);}
BaseTransform
public interface BaseTransfrom extends Plugin{ OUT process(IN inputData,T env);}
BaseSink
public interface BaseSink extends Plugin{ OUT output(IN inputData,T env);}
SeaTunnel core
SeaTunnel Plugins
SeaTunnel 使用场景
常用
- 实时数据同步
1. kafka -> ClickHouse/Elasticsearch
- 异构数据源同步
1. Hive -> ClickHouse
2. MySQL -> Elasticsearch
3. JDBC -> JDBC
- OLAP CUBE计算
1. kafka -> AGG -> ClickHouse/Elasticsearch
2. Hive -> Hive
seaTunnel痛点
解决方案 dolphinScheduler与SeaTunnel集成