This commit is contained in:
shf
2018-01-31 16:24:49 +08:00
commit 7ec3fb68e5
651 changed files with 69696 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id></id>
<formats>
<format>dir</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>src/main/resources</directory>
<includes>
<include>plugin.json</include>
<include>plugin_job_template.json</include>
</includes>
<outputDirectory>plugin/reader/sqlserverreader</outputDirectory>
</fileSet>
<fileSet>
<directory>src/main/lib</directory>
<includes>
<include>sqljdbc4-4.0.jar</include>
</includes>
<outputDirectory>plugin/reader/sqlserverreader/libs</outputDirectory>
</fileSet>
<fileSet>
<directory>target/</directory>
<includes>
<include>sqlserverreader-0.0.1-SNAPSHOT.jar</include>
</includes>
<outputDirectory>plugin/reader/sqlserverreader</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<outputDirectory>plugin/reader/sqlserverreader/libs</outputDirectory>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
</assembly>
@@ -0,0 +1,7 @@
package com.alibaba.datax.plugin.reader.sqlserverreader;
public class Constant {
public static final int DEFAULT_FETCH_SIZE = 1024;
}
@@ -0,0 +1,6 @@
package com.alibaba.datax.plugin.reader.sqlserverreader;
public class Key {
public static final String FETCH_SIZE = "fetchSize";
}
@@ -0,0 +1,95 @@
package com.alibaba.datax.plugin.reader.sqlserverreader;
import com.alibaba.datax.common.exception.DataXException;
import com.alibaba.datax.common.plugin.RecordSender;
import com.alibaba.datax.common.spi.Reader;
import com.alibaba.datax.common.util.Configuration;
import com.alibaba.datax.plugin.rdbms.reader.CommonRdbmsReader;
import com.alibaba.datax.plugin.rdbms.util.DBUtilErrorCode;
import com.alibaba.datax.plugin.rdbms.util.DataBaseType;
import java.util.List;
public class SqlServerReader extends Reader {
private static final DataBaseType DATABASE_TYPE = DataBaseType.SQLServer;
public static class Job extends Reader.Job {
private Configuration originalConfig = null;
private CommonRdbmsReader.Job commonRdbmsReaderJob;
@Override
public void init() {
this.originalConfig = super.getPluginJobConf();
int fetchSize = this.originalConfig.getInt(
com.alibaba.datax.plugin.rdbms.reader.Constant.FETCH_SIZE,
Constant.DEFAULT_FETCH_SIZE);
if (fetchSize < 1) {
throw DataXException
.asDataXException(DBUtilErrorCode.REQUIRED_VALUE,
String.format("您配置的fetchSize有误,根据DataX的设计,fetchSize : [%d] 设置值不能小于 1.",
fetchSize));
}
this.originalConfig.set(
com.alibaba.datax.plugin.rdbms.reader.Constant.FETCH_SIZE,
fetchSize);
this.commonRdbmsReaderJob = new CommonRdbmsReader.Job(
DATABASE_TYPE);
this.commonRdbmsReaderJob.init(this.originalConfig);
}
@Override
public List<Configuration> split(int adviceNumber) {
return this.commonRdbmsReaderJob.split(this.originalConfig,
adviceNumber);
}
@Override
public void post() {
this.commonRdbmsReaderJob.post(this.originalConfig);
}
@Override
public void destroy() {
this.commonRdbmsReaderJob.destroy(this.originalConfig);
}
}
public static class Task extends Reader.Task {
private Configuration readerSliceConfig;
private CommonRdbmsReader.Task commonRdbmsReaderTask;
@Override
public void init() {
this.readerSliceConfig = super.getPluginJobConf();
this.commonRdbmsReaderTask = new CommonRdbmsReader.Task(
DATABASE_TYPE ,super.getTaskGroupId(), super.getTaskId());
this.commonRdbmsReaderTask.init(this.readerSliceConfig);
}
@Override
public void startRead(RecordSender recordSender) {
int fetchSize = this.readerSliceConfig
.getInt(com.alibaba.datax.plugin.rdbms.reader.Constant.FETCH_SIZE);
this.commonRdbmsReaderTask.startRead(this.readerSliceConfig,
recordSender, super.getTaskPluginCollector(), fetchSize);
}
@Override
public void post() {
this.commonRdbmsReaderTask.post(this.readerSliceConfig);
}
@Override
public void destroy() {
this.commonRdbmsReaderTask.destroy(this.readerSliceConfig);
}
}
}
@@ -0,0 +1,26 @@
package com.alibaba.datax.plugin.reader.sqlserverreader;
import com.alibaba.datax.common.spi.ErrorCode;
public enum SqlServerReaderErrorCode implements ErrorCode {
;
private String code;
private String description;
private SqlServerReaderErrorCode(String code, String description) {
this.code = code;
this.description = description;
}
@Override
public String getCode() {
return this.code;
}
@Override
public String getDescription() {
return this.description;
}
}
Binary file not shown.
+7
View File
@@ -0,0 +1,7 @@
{
"name": "sqlserverreader",
"class": "com.alibaba.datax.plugin.reader.sqlserverreader.SqlServerReader",
"description": "useScene: test. mechanism: use datax framework to transport data from SQL Server. warn: The more you know about the data, the less problems you encounter.",
"developer": "alibaba"
}
@@ -0,0 +1,13 @@
{
"name": "sqlserverreader",
"parameter": {
"username": "",
"password": "",
"connection": [
{
"table": [],
"jdbcUrl": []
}
]
}
}