概述
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。换言之,就是用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
DataX 是其中一种。
DataX 是离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。
开源地址:https://github.com/alibaba/DataX
根据自己在使用过程中的理解,总结要注意以下几个问题:
① 源端和目的端的同步字段需要一 一对应;
②对应字段的字段名可以不一样,但是字段类型需要一致,比如都是string,double,date或objectId类型;
文本类型字段的同步写法:
代码语言:javascript复制{
"name": "text",
"type": "String"
},
数值类型字段的同步写法:LONG 或者 Double
代码语言:javascript复制{
"name": "number2193854",
"type": "Double"
},
数组类型字段的同步写法:
代码语言:javascript复制{
"name": "input_1605596298817",
"type": "array",
"splitter": ","
},
日期类型字段的同步写法:
代码语言:javascript复制{
"name": "time",
"type": "date"
},
ObjectId类型字段的同步:
代码语言:javascript复制{
"name": "_id",
"type": "ObjectId"
},