目录

基础介绍

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集成