DataX 工具安装部署及使用

本文档详细介绍了DataX的安装步骤,包括环境准备和安装过程。DataX的执行涉及命令格式、配置文件组成,如全局配置、reader模块和writer模块。文中还列举了TXT文件、DB2和MySQL数据源的读取配置示例,并提到了OceanbaseV10Writer的写入配置。DataX支持多种数据源和目标,提供了丰富的参数进行数据同步控制。
摘要由CSDN通过智能技术生成

一. DataX的安装

1.环境准备

操作系统为CentOS 7.2及以上版本或RedHat 7.2及以上版本,暂不支持SUSE操作系统。python为2.x版本,java为1.8版本。

新建操作系统用户admin。安装DataX使用root用户安装。

2.安装

用root用户执行:

rpm -ivh t_dp_dw_datax_3_core_all-20191202-external.noarch.rpm

3.DataX的执行

3.1命令格式:

python /home/admin/datax3/bin/datax.py /xxx/x.json

3.2参数说明:

  • DataX的可执行文件datax.py位于目录/home/admin/datax3/bin下,执行的配置文件为json格式,配置文件模板在/home/admin/datax3/job目录下

3.3配置文件组成

配置文件由全局配置、reader模块和writer模块组成。全局配置对同步整个过程进行管控;reader为数据采集模块,负责从源端读取数据;writer为数据写入模块,将数据写入到目的端。reader模块和writer模块由不同的插件提供对不同数据源和目标的支持。

全局配置样例:

"job": {
    "setting": {
        "speed": {
            "channel": 3,
            "byte": 1048576
        },
        "errorLimit": {
            "record": 0,
            "percentage": 0.02
        }
    }

speed为同步速度限制参数,这里有三个参数channel、record和byte。

channel:管道数,即并行数,需与splitPk一同使用,否则无效果。

record:每次同步多少条数据,取record和byte中的最小值

byte:每次同步多少字节数据,取record和byte中的最小值

errorLimit为错误数据限制,这里有两个参数record和percentage,指当异常数据达到多少时同步取消,取record和percentage的最小值

 4. TxtFileReader

TxtFileReader提供了读取本地文件系统数据存储的能力,在底层实现上,TxtFileReader获取本地文件数据,并转换为DataX传输协议传递给writer。支持csv格式的文件,可自定义分隔符,多个File可以支持并发读取

  •  配置样例如下:
"reader": {
     "name": "txtfilereader",
     "parameter": {
          "path": ["/home/test/data/test.csv"],
          "encoding": "UTF-8",
          "column": [
               {
                  "index": 0,
                  "type": "long"
               },
               {
                   "index": 1,
                   "type": "boolean"
               },
              {
                   "index": 2,
                   "type": "double"
               },
              {
                   "index": 3,
                   "type": "string"
              },
              {
                   "index": 4,
                   "type": "date",
                   "format": "yyyy-MM-dd HH:mm:ss"
              },
              {
                   "type": string,
                   "value": "alibaba",
              }

          ],
          "fieldDelimiter": "|",
          "nullFormat":""
     }
}

参数说明:
path
必选字段。
本地文件系统的路径信息,可填写多个路径。当指定通配符,TxtFileReader尝试遍历多个文件信息。例如: 指定/data/*代表读取data目录下所有的文件。
column
必选字段。
读取字段列表,type指定源数据的类型;index指定当前列来自于文本第几列(以0开始);value指定当前类型为常量,不从源头文件读取数据,而是根据value值自动生成对应的列。
fieldDelimiter
必选字段。
读取的字段分隔符,默认为","。
encoding
非必选字段。
读取文件的编码配置,默认值为utf-8。
skipHeader
非必选字段。
类CSV格式文件可能存在表头为标题情况,需要跳过,默认值为false。
nullFormat
非必选字段。
文本文件中无法使用标准字符串定义null(空指针),DataX提供nullFormat定义哪些字符串可以表示为null。例如如果用户配置nullFormat:"\N",那么如果源头数据是"\N",DataX视作null字段。
csvReaderConfig
非必选字段。
读取CSV类型文件使用的CsvReader进行读取,会有很多配置,不配置则使用默认值。
常见配置:
"csvReaderConfig":{
        "safetySwitch": false,
        "skipEmptyRecords": false,
        "useTextQualifier": false
}
配置时 csvReaderConfig 中请严格按照以下字段名字进行配置:
boolean caseSensitive = true;
char textQualifier = 34;
boolean trimWhitespace = true;
boolean useTextQualifier = true;//是否使用csv转义字符
char delimiter = 44;//分隔符
char recordDelimiter = 0;
char comment = 35;
boolean useComments = false;
int escapeMode = 1;
boolean safetySwitch = true;//单列长度是否限制100000字符
boolean skipEmptyRecords = true;//是否跳过空行
boolean captureRawRecord = true;
类型转换
本地文件本身不提供数据类型,DataX TxtFileReader定义字段为long、double、string、boolean、date。
long指本地文件文本中使用整形的字符串表示形式,例如"19901219"。
double是指本地文件文本中使用double的字符串表示形式,例如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值