1. DataX是什么
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。
DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。
2. DataX怎么用
(1) DataX的配置文件
如下是DataX的配置文件示例:
{
"job": {
"content":[
{
"reader":{
"name":"odpsreader",
"parameter":{
"accessId":"<accessID>",
"accessKey":"******************************",
"column":[
"col_1",
"col_2"
],
"odpsServer":"http://service.odps.aliyun-inc.com/api",
"partition":[
"dt=20160524"
],
"project":"src_project_name",
"splitMode":"record",
"table":"table_name_1"
}
},
"writer":{
"name":"odpswriter",
"parameter":{
"accessId":"<accessId>",
"accessKey":"******************************",
"accountType":"aliyun",
"column":[
"ci_name",
"geohash"
],
"odpsServer":"http://service.odps.xxx.com/api",
"partition":"dt=20160524",
"project":"dst_project_name",
"table":"nb_tab_http"
}
}
}
],
"setting":{
"speed":{
"channel":20
}
}
}
}
整个配置文件是一个job的描述;
job下面有两个配置项,content和setting,其中content用来描述该任务的源和目的端的信息,setting用来描述任务本身的信息;
content又分为两部分,reader和writer,分别用来描述源端和目的端的信息;
3. 根据配置文件模板填写相关选项
配置测试样例:下面我们配置一组 从mysql数据库到另一个mysql数据库。{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": [
"id",
"name"
],
"connection": [
{
"jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/dq"],
"table": ["table1"]
}
],
"password": "123456",
"username": "root"
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"column": [
"id",
"name"
],
"connection": [
{
"jdbcUrl": "jdbc:mysql://ip地址:端口/test",
"table": ["table2"]
}
],
"password": "123456",
"username": "root"
}
}
}
],
"setting": {
"speed": {
"channel": "1"
}
}
}
}
网友评论