Web在线ETL数据开发Taier+Flink+Chunjun

mtain 2023年09月06日 430次浏览

一、说明

Taier:一个开源的分布式 DAG 调度系统,专注不同任务的提交和调度。旨在降低 ETL 开发成本,解决任务之间复杂的依赖关系和提交、调度、运维带来的上手成本。
Chunjun:一个基于 Flink 的批流统一的数据同步工具,既可以采集静态的数据。 比如 MySQL,HDFS 等,也可以采集实时变化的数据,比如 MySQL binlog,Kafka 等。

Taier文档:https://dtstack.github.io/Taier/docs/guides/introduction

Github:https://github.com/DTStack/Taier

二、安装

  1. JDK1.8+
  2. Zookeeper
  3. 安装Flink,并加入Chunjun依赖
    ├── bin
    ├── conf
    ├── examples
    │   ├── batch
    │   ├── gelly
    │   ├── python
    │   │   └── table
    │   │       └── batch
    │   ├── streaming
    │   └── table
    ├── lib
    │   └── chunjun-dist
    │       ├── connector
    │       │   ├── binlog
    │       │   ├── cassandra
    │       │   ├── clickhouse
    │       │   ├── db2
    │       │   ├── dm
    │       │   ├── doris
    │       │   ├── elasticsearch7
    │       │   ├── emqx
    │       │   ├── file
    │       │   ├── filesystem
    │       │   ├── ftp
    │       │   ├── greenplum
    │       │   ├── hbase14
    │       │   ├── hbase2
    │       │   ├── hdfs
    │       │   ├── hive
    │       │   ├── hive3
    │       │   ├── http
    │       │   ├── iceberg
    │       │   ├── influxdb
    │       │   ├── kafka
    │       │   ├── kudu
    │       │   ├── mongodb
    │       │   ├── mysql
    │       │   ├── mysqlcdc
    │       │   ├── mysqld
    │       │   ├── oceanbase
    │       │   ├── oceanbasecdc
    │       │   ├── oracle
    │       │   ├── oraclelogminer
    │       │   ├── pgwal
    │       │   ├── postgresql
    │       │   ├── rabbitmq
    │       │   ├── redis
    │       │   ├── rocketmq
    │       │   ├── s3
    │       │   ├── saphana
    │       │   ├── socket
    │       │   ├── solr
    │       │   ├── sqlserver
    │       │   ├── sqlservercdc
    │       │   ├── starrocks
    │       │   ├── stream
    │       │   ├── sybase
    │       │   ├── upsert-kafka
    │       │   └── vertica11
    │       ├── ddl-plugins
    │       │   ├── mysql
    │       │   └── oracle
    │       ├── dirty-data-collector
    │       │   ├── log
    │       │   └── mysql
    │       ├── docker-build
    │       ├── formats
    │       │   └── pbformat
    │       ├── metrics
    │       │   ├── mysql
    │       │   └── prometheus
    │       └── restore-plugins
    │           └── mysql
    ├── licenses
    ├── log
    ├── opt
    │   └── python
    └── plugins
    	├── external-resource-gpu
    	├── metrics-datadog
    	├── metrics-graphite
    	├── metrics-influx
    	├── metrics-jmx
    	├── metrics-prometheus
    	├── metrics-slf4j
    	└── metrics-statsd
    
  4. MySQL初始化Taier初始数据
  5. 解压启动Taier(可以直接使用docker镜像,官方下载的缺少datasource-plugins、worker-plugins,需要自行编译)
    docker run -itd -p 8090:8090 --env ZK_HOST=${ZK_HOST} \
    --env ZK_PORT=2181 \
    --env DB_HOST=${MYSQL_HOST} \
    --env DB_PORT=3306 \
    --env DB_ROOT=${DB_ROOT}  \
    --env DB_PASSWORD=${DB_PASSWORD} \
    dtopensource/taier:latest
    

三、使用

文档参考:https://dtstack.github.io/Taier/docs/quickstart/start

集群中添加组件
image.png

创建数据源
image.png

创建任务
image.png

任务字段映射
image.png