Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0aeb1e9

Browse files
committed
增量参数配置文档更新
1 parent 4a6208a commit 0aeb1e9

File tree

3 files changed

+217
-77
lines changed

3 files changed

+217
-77
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易
143143
- 增量增新建议将阻塞策略设置为丢弃后续调度或者单机串行
144144
- 设置单机串行时应该注意合理设置重试次数(失败重试的次数*每次执行时间<任务的调度周期),重试的次数如果设置的过多会导致数据重复,例如任务30秒执行一次,每次执行时间需要20秒,设置重试三次,如果任务失败了,第一个重试的时间段为1577755680-1577756680,重试任务没结束,新任务又开启,那新任务的时间段会是1577755680-1577758680
145145

146-
- [增量参数设置](https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/time-increment-desc.md)
146+
- [增量参数设置](https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/increment-desc.md)
147147
- [分区参数设置](https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/partition-dynamic-param.md)
148148

149149
### 7. 任务列表

doc/datax-web/increment-desc.md

+216
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
#DataX Web增量配置说明
2+
3+
## 一、根据日期进行增量数据抽取
4+
5+
### 1.页面任务配置
6+
7+
#### 打开菜单任务管理页面,选择添加任务
8+
9+
#### 按下图中5个步骤进行配置
10+
11+
![](https://datax-web.oss-cn-hangzhou.aliyuncs.com/doc/time-increment.png)
12+
13+
- 1.任务类型选DataX任务
14+
- 2.辅助参数选择时间自增
15+
- 3.增量开始时间选择,即sql中查询时间的开始时间,用户使用此选项方便第一次的全量同步。第一次同步完成后,该时间被更新为上一次的任务触发时间,任务失败不更新。
16+
- 4.增量时间字段,-DlastTime='%s' -DcurrentTime='%s' 先来解析下这段字符串
17+
18+
`
19+
1.-D是DataX参数的标识符,必配
20+
2.-D后面的lastTime和currentTime是DataX json中where条件的时间字段标识符,必须和json中的变量名称保持一致
21+
3.='%s'是项目用来去替换时间的占位符,比配并且格式要完全一致
22+
4.注意-DlastTime='%s'和-DcurrentTime='%s'中间有一个空格,空格必须保留并且是一个空格
23+
`
24+
- 5.时间格式,可以选择自己数据库中时间的格式,也可以通过json中配置sql时间转换函数来处理
25+
26+
注意,注意,注意: 配置一定要仔细看文档(后面我们也会对这块配置进行优化,避免大家犯错)
27+
28+
29+
### 2.JSON配置
30+
31+
datax.json
32+
33+
```json
34+
{
35+
"job": {
36+
"setting": {
37+
"speed": {
38+
"channel": 16
39+
}
40+
},
41+
"content": [
42+
{
43+
"reader": {
44+
"name": "mysqlreader",
45+
"parameter": {
46+
"splitPk": "id",
47+
"username": "root",
48+
"password": "root",
49+
"column": [
50+
"*"
51+
52+
],
53+
"connection": [
54+
{
55+
56+
"jdbcUrl": [
57+
"jdbc:mysql://localhost:3306/test?characterEncoding=utf8"
58+
],
59+
"querySql": [
60+
"select * from test_list where operationDate >= FROM_UNIXTIME(${lastTime}) and operationDate < FROM_UNIXTIME(${currentTime})"
61+
]
62+
}
63+
]
64+
}
65+
},
66+
"writer": {
67+
"name": "mysqlwriter",
68+
"parameter": {
69+
70+
"username": "root",
71+
"password": "123456",
72+
"column": [
73+
"*"
74+
],
75+
"batchSize": "4096",
76+
"connection": [
77+
{
78+
"jdbcUrl": "jdbc:mysql://localhost:3307/test?characterEncoding=utf8",
79+
"table": [
80+
"test_list"
81+
]
82+
}
83+
]
84+
}
85+
}
86+
}
87+
]
88+
}
89+
}
90+
```
91+
#### 对querySql解析
92+
93+
`select * from test_list where operationDate >= ${lastTime} and operationDate < ${currentTime}`
94+
95+
- 1.此处的关键点在${lastTime},${currentTime},${}是DataX动态参数的固定格式,lastTime,currentTime就是我们页面配置中
96+
-DlastTime='%s' -DcurrentTime='%s'中的lastTime,currentTime,注意字段一定要一致。
97+
98+
- 2.如果任务配置页面,时间类型选择为时间戳但是数据库时间格式不是时间戳,例如是:2019-11-26 11:40:57 此时可以用FROM_UNIXTIME(${lastTime})进行转换。
99+
`select * from test_list where operationDate >= FROM_UNIXTIME(${lastTime}) and operationDate < FROM_UNIXTIME(${currentTime})`
100+
101+
## 二、根据自增Id进行增量数据抽取
102+
103+
### 1.页面任务配置
104+
105+
#### 打开菜单任务管理页面,选择添加任务
106+
107+
#### 按下图中4个步骤进行配置
108+
109+
![](https://datax-web.oss-cn-hangzhou.aliyuncs.com/doc/id-increment.jpg)
110+
111+
- 1.任务类型选DataX任务
112+
- 2.辅助参数选择主键自增
113+
- 3.增量主键开始ID选择,即sql中查询ID的开始ID,用户使用此选项方便第一次的全量同步。第一次同步完成后,该ID被更新为上一次的任务触发时最大的ID,任务失败不更新。
114+
- 4.增量时间字段,-DstartId='%s' -DendId='%s' 先来解析下这段字符串
115+
116+
`
117+
1.-D是DataX参数的标识符,必配
118+
2.-D后面的startId和endId是DataX json中where条件的id字段标识符,必须和json中的变量名称保持一致
119+
3.='%s'是项目用来去替换时间的占位符,比配并且格式要完全一致
120+
4.注意-DstartId='%s'和-DendId='%s' 中间有一个空格,空格必须保留并且是一个空格
121+
5.reader数据源,选择任务同步的读数据源
122+
6.配置reader数据源中需要同步数据的表名及该表的主键
123+
`
124+
注意,注意,注意: 一定要仔细看文档(后续会对这块配置进行优化,避免大家犯错)
125+
126+
### 2.JSON配置
127+
128+
datax.json
129+
```
130+
{
131+
"job": {
132+
"setting": {
133+
"speed": {
134+
"channel": 3,
135+
"byte": 1048576
136+
},
137+
"errorLimit": {
138+
"record": 0,
139+
"percentage": 0.02
140+
}
141+
},
142+
"content": [
143+
{
144+
"reader": {
145+
"name": "mysqlreader",
146+
"parameter": {
147+
"username": "yRjwDFuoPKlqya9h9H2Amg==",
148+
"password": "yRjwDFuoPKlqya9h9H2Amg==",
149+
"splitPk": "",
150+
"connection": [
151+
{
152+
"querySql": [
153+
"select * from job_log where id>= ${startId} and id< ${endId}"
154+
],
155+
"jdbcUrl": [
156+
"jdbc:mysql://localhost:3306/datax_web"
157+
]
158+
}
159+
]
160+
}
161+
},
162+
"writer": {
163+
"name": "mysqlwriter",
164+
"parameter": {
165+
"username": "mCFD+p1IMsa0rHicbQohcA==",
166+
"password": "PhYxJmA/nuBJD1OxKTRzZH8sxuRddOv83hdqDOVR+i0=",
167+
"column": [
168+
"`id`",
169+
"`job_group`",
170+
"`job_id`",
171+
"`job_desc`",
172+
"`executor_address`",
173+
"`executor_handler`",
174+
"`executor_param`",
175+
"`executor_sharding_param`",
176+
"`executor_fail_retry_count`",
177+
"`trigger_time`",
178+
"`trigger_code`",
179+
"`trigger_msg`",
180+
"`handle_time`",
181+
"`handle_code`",
182+
"`handle_msg`",
183+
"`alarm_status`",
184+
"`process_id`",
185+
"`max_id`"
186+
],
187+
"connection": [
188+
{
189+
"table": [
190+
"job_log"
191+
],
192+
"jdbcUrl": "jdbc:mysql://47.98.125.243:3306/datax_web"
193+
}
194+
]
195+
}
196+
}
197+
}
198+
]
199+
}
200+
}
201+
```
202+
203+
#### 对querySql解析
204+
205+
`select * from job_log where id>= ${startId} and id< ${endId}`
206+
207+
- 1.此处的关键点在${startId},${endId},${}是DataX动态参数的固定格式,startId,endId就是我们页面配置中
208+
-DstartId='%s' -DendId='%s'中的startId,endId,注意字段一定要一致。
209+
210+
211+
## 三、JVM启动参数配置
212+
此选择为非必选,可以配置DataX启动时JVM的参数,具体配置不做详解。
213+
- JVM启动参数拼接结果为: -j "-Xms2G -Xmx2G"
214+
215+
216+

doc/datax-web/time-increment-desc.md

-76
This file was deleted.

0 commit comments

Comments
 (0)