目录
基础介绍
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<T> extends Serializable {
config getConfg();
void setConfig(Config config);
CheckResult checkConfig();
void prepare(T prepareEnv);
}
BaseSource
public interface BaseSource<T extends RuntimeEnv,OUT> extends Plugin<T>{
OUT getData(T env);
}
BaseTransform
public interface BaseTransfrom<T extends RuntimeEnv,IN,OUT> extends Plugin<T>{
OUT process(IN inputData,T env);
}
BaseSink
public interface BaseSink<T extends RuntimeEnv,IN,OUT> extends Plugin<T>{
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集成