@@ -216,6 +222,7 @@
import mProcedure from './tasks/procedure'
import mDependent from './tasks/dependent'
import mHttp from './tasks/http'
+ import mDatax from './tasks/datax'
import mSubProcess from './tasks/sub_process'
import mSelectInput from './_source/selectInput'
import mTimeoutAlarm from './_source/timeoutAlarm'
@@ -565,6 +572,7 @@
mPython,
mDependent,
mHttp,
+ mDatax,
mSelectInput,
mTimeoutAlarm,
mPriority,
diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/datax.vue b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/datax.vue
new file mode 100755
index 0000000000..ce918f49cf
--- /dev/null
+++ b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/datax.vue
@@ -0,0 +1,292 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+
+ {{$t('Datasource')}}
+
+
+
+
+
+
+ {{$t('SQL Statement')}}
+
+
+
+ {{$t('TargetDataBase')}}
+
+
+
+
+
+
+ {{$t('TargetTable')}}
+
+
+
+
+
+
+ {{$t('TargetDataBase')}}{{$t('Pre Statement')}}
+
+
+
+
+
+
+ {{$t('TargetDataBase')}}{{$t('Post Statement')}}
+
+
+
+
+
+
+
+ {{$t('SpeedByte')}}
+
+
+
+
+ ({{$t('0 means unlimited by byte')}})
+
+
+
+
+ {{$t('SpeedRecord')}}
+
+
+
+
+ ({{$t('0 means unlimited by count')}})
+
+
+
+
+
diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/img/toolbar_DATAX.png b/dolphinscheduler-ui/src/js/conf/home/pages/dag/img/toolbar_DATAX.png
new file mode 100644
index 0000000000..b59c759208
Binary files /dev/null and b/dolphinscheduler-ui/src/js/conf/home/pages/dag/img/toolbar_DATAX.png differ
diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/dag/img/toolbar_ETL.png b/dolphinscheduler-ui/src/js/conf/home/pages/dag/img/toolbar_ETL.png
new file mode 100755
index 0000000000..913af420c6
Binary files /dev/null and b/dolphinscheduler-ui/src/js/conf/home/pages/dag/img/toolbar_ETL.png differ
diff --git a/dolphinscheduler-ui/src/js/module/i18n/locale/en_US.js b/dolphinscheduler-ui/src/js/module/i18n/locale/en_US.js
index 2af54533ce..6e8c113b30 100644
--- a/dolphinscheduler-ui/src/js/module/i18n/locale/en_US.js
+++ b/dolphinscheduler-ui/src/js/module/i18n/locale/en_US.js
@@ -509,5 +509,13 @@ export default {
'IP address cannot be empty': 'IP address cannot be empty',
'Please enter the correct IP': 'Please enter the correct IP',
'Please generate token': 'Please generate token',
- 'Spark Version': 'Spark Version'
+ 'Spark Version': 'Spark Version',
+ 'TargetDataBase': 'target database',
+ 'TargetTable': 'target table',
+ 'Please enter the table of target': 'Please enter the table of target',
+ 'Please enter a Target Table(required)': 'Please enter a Target Table(required)',
+ 'SpeedByte': 'speed(byte count)',
+ 'SpeedRecord': 'speed(record count)',
+ '0 means unlimited by byte': '0 means unlimited',
+ '0 means unlimited by count': '0 means unlimited',
}
diff --git a/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js b/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js
index 1c68e8ead1..52a98773a6 100644
--- a/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js
+++ b/dolphinscheduler-ui/src/js/module/i18n/locale/zh_CN.js
@@ -509,5 +509,13 @@ export default {
'IP address cannot be empty': 'IP地址不能为空',
'Please enter the correct IP': '请输入正确的IP',
'Please generate token': '请生成Token',
- 'Spark Version': 'Spark版本'
+ 'Spark Version': 'Spark版本',
+ 'TargetDataBase': '目标库',
+ 'TargetTable': '目标表',
+ 'Please enter the table of target': '请输入目标表名',
+ 'Please enter a Target Table(required)': '请输入目标表(必填)',
+ 'SpeedByte': '限流(字节数)',
+ 'SpeedRecord': '限流(记录数)',
+ '0 means unlimited by byte': 'KB,0代表不限制',
+ '0 means unlimited by count': '0代表不限制',
}
diff --git a/pom.xml b/pom.xml
index 92c92ac7fa..59278f73cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -96,7 +96,7 @@
3.5.0
0.1.52
6.1.0.jre8
-
6.1.14
+
6.1.14
3.1.12
3.0.0
0.13
@@ -116,7 +116,6 @@
2.7
2.21.0
2.0.2
-
5.5.23
2.5
1.9.3
2.9.2
@@ -442,12 +441,6 @@
${hadoop.version}
-
- javax.servlet
- javax.servlet-api
- ${javax.servlet.api.version}
-
-
org.apache.commons
commons-collections4
@@ -502,10 +495,12 @@
${jcip.version}
true
+
+
- tomcat
- jasper-runtime
- ${jasper-runtime.version}
+ org.mortbay.jetty
+ jsp-2.1
+ ${jsp-2.1.version}
@@ -513,6 +508,12 @@
servlet-api
${servlet-api.version}
+
+
+ javax.servlet
+ javax.servlet-api
+ ${javax.servlet.api.version}
+
io.springfox
springfox-swagger2
@@ -713,6 +714,8 @@
**/dao/mapper/CommandMapperTest.java
**/alert/template/AlertTemplateFactoryTest.java
**/alert/template/impl/DefaultHTMLTemplateTest.java
+ **/server/worker/task/datax/DataxTaskTest.java
+ **/server/utils/DataxUtilsTest.java