Skip to content

go-etl是一个集数据源抽取,转化,加载,同步校验的工具集,提供强大的数据同步,数据校验甚至数据转储的功能。

License

Notifications You must be signed in to change notification settings

Data-bytes305/go-etl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-etl

Go Report CardGoDocLICENSE

go-etl是一个集数据源抽取,转化,加载,同步校验的工具集,提供强大的数据同步,数据校验甚至数据转储的功能。

go-etl将提供的etl能力如下:

  1. 主流数据库的数据抽取以及数据加载的能力,这个计划在storage包中实现
  2. 类似datax的数据同步能力,这个计划在datax包中实现
  3. 数据库间的数据校验能力,这个计划在libra包中实现
  4. 以mysql sql语法为基础的数据筛选、转化能力,这个计划在transform包中实现(计划中)

datax

安装

linux

export GO111MODULE=on
cd cmd/datax
go build

windows

set GO111MODULE=on
cd cmd/datax
go build

使用方式

试用mysql同步

  • 可以使用cmd/datax/mysql/init.sql初始化数据库
  • 开启同步mysql命令
datax -c mysql/config.json

试用postgres同步

  • 可以使用cmd/datax/postgres/init.sql初始化数据库
  • 开启同步postgres命令
datax -c postgres/config.json

其他

你也可以编写任意支持数据源之间的同步

Support Data Channels

类型 数据源 Reader(读) Writer(写) 文档
关系型数据库 MySQL
Postgres

plan

datax

  • 实现datax的同步框架,不包含监控以及流控模块
  • 单元测试datax的同步框架,不包含监控以及流控模块
  • 实现MySQL基于datax的同步接口,并单元测试
  • 系统测试MySQL数据库间的同步
  • 完善相关文档,包含代码注释(通过go lint 检查)
  • 实现监控以及流控模块,并单元测试(延后实现)

storage

  • 实现数据库的数据抽取以及数据加载框架,并单元测试
  • 实现MySQL数据库数据抽取以及数据加载的相应接口,并单元测试
  • 结合MySQL测试系统测试数据库的数据抽取以及数据加载框架
  • 完善相关文档,包含代码注释(通过go lint 检查)

libra

  • 实现libra的数据校验框架
  • 单元测试libra的数据校验框架
  • 实现MySQL数据库的libra接口并单元测试
  • 系统测试MySQL数据库间校验
  • 完善相关文档,包含代码注释(通过go lint 检查)

transform

目前计划中

About

go-etl是一个集数据源抽取,转化,加载,同步校验的工具集,提供强大的数据同步,数据校验甚至数据转储的功能。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Go 100.0%