0
点赞
收藏
分享

微信扫一扫

ETL异构数据源Datax_工具部署_02


接上一篇:(企业内部) ETL异构数据源Datax_部署前置环境_01​

文章目录

  • ​​一、直接下载DataX​​
  • ​​二、下载DataX源码,自己编译​​
  • ​​2.1.下载DataX源码​​
  • ​​2.2. 通过maven打包​​
  • ​​三、配置示例​​
  • ​​3.1. 创建作业的配置文件(json格式)​​
  • ​​3.2. 根据模板配置json​​
  • ​​3.3. 执行测试​​
一、直接下载DataX

:​​DataX下载地址​​

下载后解压至本地某个目录,进入bin目录,即可运行同步作业:

tar zxvf datax.tar.gz
cd {YOUR_DATAX_HOME}/bin
python datax.py {YOUR_JOB.json}

自检脚本:

{YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json

二、下载DataX源码,自己编译

​​DataX源码​​

2.1.下载DataX源码

git

2.2. 通过maven打包

cd  {DataX_source_code_home}
mvn -U clean package assembly:assembly -Dmaven.test.skip=true

打包成功,日志显示如下:

[INFO] BUILD SUCCESS
[INFO] -----------------------------------------------------------------
[INFO] Total time: 08:12 min
[INFO] Finished at: 2021-12-13T16:26:48+08:00
[INFO] Final Memory: 133M/960M
[INFO]

打包成功后的DataX包位于 ​​{DataX_source_code_home}/target/datax/datax/​​ ,结构如下:

bin    conf    job    lib    log    log_perf  plugin    script    tmp

三、配置示例

从stream读取数据并打印到控制台

3.1. 创建作业的配置文件(json格式)

可以通过命令查看配置模板: 
python datax.py -r {YOUR_READER} -w {YOUR_WRITER}
cd {YOUR_DATAX_HOME}/bin
python datax.py -r streamreader -w streamwriter

----------------------------------------------------------
# 查看常用作业的配置文件模板

python datax.py -r streamreader -w streamwriter
python datax.py -r oraclereader -w mysqlwriter
python datax.py -r mysqlreader -w oraclewriter


控制台输出
```bash
DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.


Please refer to the streamreader document:
https://github.com/alibaba/DataX/blob/master/streamreader/doc/streamreader.md

Please refer to the streamwriter document:
https://github.com/alibaba/DataX/blob/master/streamwriter/doc/streamwriter.md

Please save the following configuration as a json file and use
python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json
to run the job.

{
"job": {
"content": [
{
"reader": {
"name": "streamreader",
"parameter": {
"column": [],
"sliceRecordCount": ""
}
},
"writer": {
"name": "streamwriter",
"parameter": {
"encoding": "",
"print": true
}
}
}
],
"setting": {
"speed": {
"channel": ""
}
}
}
}

3.2. 根据模板配置json

vim stream2stream.json

添加内容如下:

{
"job": {
"content": [
{
"reader": {
"name": "streamreader",
"parameter": {
"sliceRecordCount": 10,
"column": [
{
"type": "long",
"value": "10"
},
{
"type": "string",
"value": "hello,你好,世界-DataX"
}
]
}
},
"writer": {
"name": "streamwriter",
"parameter": {
"encoding": "UTF-8",
"print": true
}
}
}
],
"setting": {
"speed": {
"channel": 5
}
}
}
}

3.3. 执行测试

启动DataX

cd {YOUR_DATAX_DIR_BIN}

同步结束,显示日志如下:

...
2021-06-23 09:43:14.869 [job-0] INFO StandAloneJobContainerCommunicator - Total 50 records, 950 bytes | Speed 95B/s, 5 records/s | Error 0 records, 0 bytes | All Task WaitWriterTime 0.000s | All Task WaitReaderTime 0.000s | Percentage 100.00%
2021-06-23 09:43:14.872 [job-0] INFO JobContainer -
任务启动时刻 : 2021-06-23 09:43:04
任务结束时刻 : 2021-06-23 09:43:14
任务总计耗时 : 10s
任务平均流量 : 95B/s
记录写入速度 : 5rec/s
读出记录总数 : 50
读写失败总数 :


举报

相关推荐

0 条评论