Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ac827b597 | ||
|
|
f6afdefa9e | ||
|
|
6641150217 | ||
|
|
dee608b093 | ||
|
|
6e2df5578e | ||
|
|
066df492ca | ||
|
|
a9b77e4c98 | ||
|
|
7666c5e8df | ||
|
|
7d239d5d78 | ||
|
|
024e7f41c1 | ||
|
|
5419d044fe | ||
|
|
8583cb3e45 | ||
|
|
f0c9e588ac | ||
|
|
78f319ec4c | ||
|
|
82f86a3ff1 | ||
|
|
cd6bbb6706 | ||
|
|
04d0937779 | ||
|
|
d763fa33c6 | ||
|
|
f0db8135e7 | ||
|
|
d6b70be5ac | ||
|
|
07022e1276 | ||
|
|
235d4d3378 | ||
|
|
30cc3d56a2 | ||
|
|
ad3e8d6332 | ||
|
|
c64dab42aa | ||
|
|
de583090dd | ||
|
|
24cdfc37ea | ||
|
|
3944752098 |
@@ -108,7 +108,20 @@ This software is free to use under the Apache License [Apache license](https://g
|
||||
8. 对高并发、高稳定可用性、高性能、大数据处理有过实际项目及产品经验者优先考虑;
|
||||
9. 有大数据产品、云产品、中间件技术解决方案者优先考虑。
|
||||
````
|
||||
钉钉用户群:23169395
|
||||
钉钉用户群:
|
||||
|
||||
- DataX开源用户交流群
|
||||
- <img src="https://github.com/alibaba/DataX/blob/master/images/DataX%E5%BC%80%E6%BA%90%E7%94%A8%E6%88%B7%E4%BA%A4%E6%B5%81%E7%BE%A4.jpg" width="20%" height="20%">
|
||||
|
||||
- DataX开源用户交流群2
|
||||
- <img src="https://github.com/alibaba/DataX/blob/master/images/DataX%E5%BC%80%E6%BA%90%E7%94%A8%E6%88%B7%E4%BA%A4%E6%B5%81%E7%BE%A42.jpg" width="20%" height="20%">
|
||||
|
||||
- DataX开源用户交流群3
|
||||
- <img src="https://github.com/alibaba/DataX/blob/master/images/DataX%E5%BC%80%E6%BA%90%E7%94%A8%E6%88%B7%E4%BA%A4%E6%B5%81%E7%BE%A43.jpg" width="20%" height="20%">
|
||||
|
||||
- DataX开源用户交流群4
|
||||
- <img src="https://github.com/alibaba/DataX/blob/master/images/DataX%E5%BC%80%E6%BA%90%E7%94%A8%E6%88%B7%E4%BA%A4%E6%B5%81%E7%BE%A44.jpg" width="20%" height="20%">
|
||||
|
||||
- DataX开源用户交流群5
|
||||
- <img src="https://github.com/alibaba/DataX/blob/master/images/DataX%E5%BC%80%E6%BA%90%E7%94%A8%E6%88%B7%E4%BA%A4%E6%B5%81%E7%BE%A45.jpg" width="20%" height="20%">
|
||||
|
||||
|
||||
Regular → Executable
+1
-1
@@ -36,7 +36,7 @@
|
||||
<dependency>
|
||||
<groupId>commons-beanutils</groupId>
|
||||
<artifactId>commons-beanutils</artifactId>
|
||||
<version>1.9.4</version>
|
||||
<version>1.9.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
|
||||
@@ -427,7 +427,7 @@ public class JobContainer extends AbstractContainer {
|
||||
Long channelLimitedByteSpeed = this.configuration
|
||||
.getLong(CoreConstant.DATAX_CORE_TRANSPORT_CHANNEL_SPEED_BYTE);
|
||||
if (channelLimitedByteSpeed == null || channelLimitedByteSpeed <= 0) {
|
||||
DataXException.asDataXException(
|
||||
throw DataXException.asDataXException(
|
||||
FrameworkErrorCode.CONFIG_ERROR,
|
||||
"在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数");
|
||||
}
|
||||
@@ -448,7 +448,7 @@ public class JobContainer extends AbstractContainer {
|
||||
Long channelLimitedRecordSpeed = this.configuration.getLong(
|
||||
CoreConstant.DATAX_CORE_TRANSPORT_CHANNEL_SPEED_RECORD);
|
||||
if (channelLimitedRecordSpeed == null || channelLimitedRecordSpeed <= 0) {
|
||||
DataXException.asDataXException(FrameworkErrorCode.CONFIG_ERROR,
|
||||
throw DataXException.asDataXException(FrameworkErrorCode.CONFIG_ERROR,
|
||||
"在有总tps限速条件下,单个channel的tps值不能为空,也不能为非正数");
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -111,7 +111,7 @@ public class SomeReader extends Reader {
|
||||
```
|
||||
|
||||
`Job`接口功能如下:
|
||||
- `init`: Job对象初始化工作,测试可以通过`super.getPluginJobConf()`获取与本插件相关的配置。读插件获得配置中`reader`部分,写插件获得`writer`部分。
|
||||
- `init`: Job对象初始化工作,此时可以通过`super.getPluginJobConf()`获取与本插件相关的配置。读插件获得配置中`reader`部分,写插件获得`writer`部分。
|
||||
- `prepare`: 全局准备工作,比如odpswriter清空目标表。
|
||||
- `split`: 拆分`Task`。参数`adviceNumber`框架建议的拆分数,一般是运行时所配置的并发度。值返回的是`Task`的配置列表。
|
||||
- `post`: 全局的后置工作,比如mysqlwriter同步完影子表后的rename操作。
|
||||
@@ -155,7 +155,7 @@ public class SomeReader extends Reader {
|
||||
```
|
||||
|
||||
- `name`: 插件名称,大小写敏感。框架根据用户在配置文件中指定的名称来搜寻插件。 **十分重要** 。
|
||||
- `class`: 入口类的全限定名称,框架通过反射穿件入口类的实例。**十分重要** 。
|
||||
- `class`: 入口类的全限定名称,框架通过反射插件入口类的实例。**十分重要** 。
|
||||
- `description`: 描述信息。
|
||||
- `developer`: 开发人员。
|
||||
|
||||
|
||||
+16
-16
@@ -63,32 +63,32 @@ GDBWriter通过DataX框架获取Reader生成的协议数据,使用`g.addV/E(GD
|
||||
"password": "***",
|
||||
"writeMode": "INSERT",
|
||||
"labelType": "VERTEX",
|
||||
"label": "${1}",
|
||||
"label": "#{1}",
|
||||
"idTransRule": "none",
|
||||
"session": true,
|
||||
"maxRecordsInBatch": 64,
|
||||
"column": [
|
||||
{
|
||||
"name": "id",
|
||||
"value": "${0}",
|
||||
"value": "#{0}",
|
||||
"type": "string",
|
||||
"columnType": "primaryKey"
|
||||
},
|
||||
{
|
||||
"name": "vertex_propKey",
|
||||
"value": "${2}",
|
||||
"value": "#{2}",
|
||||
"type": "string",
|
||||
"columnType": "vertexSetProperty"
|
||||
},
|
||||
{
|
||||
"name": "vertex_propKey",
|
||||
"value": "${3}",
|
||||
"value": "#{3}",
|
||||
"type": "long",
|
||||
"columnType": "vertexSetProperty"
|
||||
},
|
||||
{
|
||||
"name": "vertex_propKey2",
|
||||
"value": "${4}",
|
||||
"value": "#{4}",
|
||||
"type": "string",
|
||||
"columnType": "vertexProperty"
|
||||
}
|
||||
@@ -154,7 +154,7 @@ GDBWriter通过DataX框架获取Reader生成的协议数据,使用`g.addV/E(GD
|
||||
"password": "***",
|
||||
"writeMode": "INSERT",
|
||||
"labelType": "EDGE",
|
||||
"label": "${3}",
|
||||
"label": "#{3}",
|
||||
"idTransRule": "none",
|
||||
"srcIdTransRule": "labelPrefix",
|
||||
"dstIdTransRule": "labelPrefix",
|
||||
@@ -164,25 +164,25 @@ GDBWriter通过DataX框架获取Reader生成的协议数据,使用`g.addV/E(GD
|
||||
"column": [
|
||||
{
|
||||
"name": "id",
|
||||
"value": "${0}",
|
||||
"value": "#{0}",
|
||||
"type": "string",
|
||||
"columnType": "primaryKey"
|
||||
},
|
||||
{
|
||||
"name": "id",
|
||||
"value": "${1}",
|
||||
"value": "#{1}",
|
||||
"type": "string",
|
||||
"columnType": "srcPrimaryKey"
|
||||
},
|
||||
{
|
||||
"name": "id",
|
||||
"value": "${2}",
|
||||
"value": "#{2}",
|
||||
"type": "string",
|
||||
"columnType": "dstPrimaryKey"
|
||||
},
|
||||
{
|
||||
"name": "edge_propKey",
|
||||
"value": "${4}",
|
||||
"value": "#{4}",
|
||||
"type": "string",
|
||||
"columnType": "edgeProperty"
|
||||
}
|
||||
@@ -219,7 +219,7 @@ GDBWriter通过DataX框架获取Reader生成的协议数据,使用`g.addV/E(GD
|
||||
* 默认值:无
|
||||
|
||||
* **label**
|
||||
* 描述:类型名,即点/边名称; label支持从源列中读取,如${0},表示取第一列字段作为label名。源列索引从0开始;
|
||||
* 描述:类型名,即点/边名称; label支持从源列中读取,如#{0},表示取第一列字段作为label名。源列索引从0开始;
|
||||
* 必选:是
|
||||
* 默认值:无
|
||||
|
||||
@@ -231,12 +231,12 @@ GDBWriter通过DataX框架获取Reader生成的协议数据,使用`g.addV/E(GD
|
||||
* 默认值:无
|
||||
|
||||
* **srcLabel**
|
||||
* 描述:当label为边时,表示起点的点名称;srcLabel支持从源列中读取,如${0},表示取第一列字段作为label名。源列索引从0开始;
|
||||
* 描述:当label为边时,表示起点的点名称;srcLabel支持从源列中读取,如#{0},表示取第一列字段作为label名。源列索引从0开始;
|
||||
* 必选:labelType为边,srcIdTransRule为none时可不填写,否则必填;
|
||||
* 默认值:无
|
||||
|
||||
* **dstLabel**
|
||||
* 描述:当label为边时,表示终点的点名称;dstLabel支持从源列中读取,如${0},表示取第一列字段作为label名。源列索引从0开始;
|
||||
* 描述:当label为边时,表示终点的点名称;dstLabel支持从源列中读取,如#{0},表示取第一列字段作为label名。源列索引从0开始;
|
||||
* 必选:labelType为边,dstIdTransRule为none时可不填写,否则必填;
|
||||
* 默认值:无
|
||||
|
||||
@@ -291,9 +291,9 @@ GDBWriter通过DataX框架获取Reader生成的协议数据,使用`g.addV/E(GD
|
||||
|
||||
* **column -> value**
|
||||
* 描述:点/边映射关系的字段值;
|
||||
* ${N}表示直接映射源端值,N为源端column索引,从0开始;${0}表示映射源端column第1个字段;
|
||||
* test-${0} 表示源端值做拼接转换,${0}值前/后可添加固定字符串;
|
||||
* ${0}-${1}表示做多字段拼接,也可在任意位置添加固定字符串,如test-${0}-test1-${1}-test2
|
||||
* #{N}表示直接映射源端值,N为源端column索引,从0开始;#{0}表示映射源端column第1个字段;
|
||||
* test-#{0} 表示源端值做拼接转换,#{0}值前/后可添加固定字符串;
|
||||
* #{0}-#{1}表示做多字段拼接,也可在任意位置添加固定字符串,如test-#{0}-test1-#{1}-test2
|
||||
* 必选:是
|
||||
* 默认值:无
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 193 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 195 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 189 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 191 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 189 KiB |
@@ -58,7 +58,8 @@ ODPSReader 支持读取分区表、非分区表,不支持读取虚拟视图。
|
||||
],
|
||||
"packageAuthorizedProject": "yourCurrentProjectName",
|
||||
"splitMode": "record",
|
||||
"odpsServer": "http://xxx/api"
|
||||
"odpsServer": "http://xxx/api",
|
||||
"tunnelServer": "http://dt.odps.aliyun.com"
|
||||
}
|
||||
},
|
||||
"writer": {
|
||||
|
||||
@@ -105,7 +105,7 @@ OSSWriter实现了从DataX协议转为OSS中的TXT文件功能,OSS本身是无
|
||||
* 描述:OSSWriter写入的文件名,OSS使用文件名模拟目录的实现。 <br />
|
||||
|
||||
使用"object": "datax",写入object以datax开头,后缀添加随机字符串。
|
||||
使用"object": "/cdo/datax",写入的object以/cdo/datax开头,后缀随机添加字符串,/作为OSS模拟目录的分隔符。
|
||||
使用"object": "cdo/datax",写入的object以cdo/datax开头,后缀随机添加字符串,/作为OSS模拟目录的分隔符。
|
||||
|
||||
* 必选:是 <br />
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
</parent>
|
||||
<groupId>com.alibaba.datax</groupId>
|
||||
<artifactId>otsstreamreader</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<version>0.0.1</version>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<commons-lang3-version>3.3.2</commons-lang3-version>
|
||||
<commons-configuration-version>1.10</commons-configuration-version>
|
||||
<commons-cli-version>1.2</commons-cli-version>
|
||||
<fastjson-version>1.1.46.sec01</fastjson-version>
|
||||
<fastjson-version>1.1.46.sec10</fastjson-version>
|
||||
<guava-version>16.0.1</guava-version>
|
||||
<diamond.version>3.7.2.1-SNAPSHOT</diamond.version>
|
||||
|
||||
|
||||
@@ -141,7 +141,7 @@ PostgresqlWriter通过 DataX 框架获取 Reader 生成的协议数据,根据
|
||||
|
||||
* **column**
|
||||
|
||||
* 描述:目的表需要写入数据的字段,字段之间用英文逗号分隔。例如: "column": ["id","name","age"]。如果要依次写入全部列,使用*表示, 例如: "column": ["*"]
|
||||
* 描述:目的表需要写入数据的字段,字段之间用英文逗号分隔。例如: "column": ["id","name","age"]。如果要依次写入全部列,使用\*表示, 例如: "column": ["\*"]
|
||||
|
||||
注意:1、我们强烈不推荐你这样配置,因为当你目的表字段个数、类型等有改动时,你的任务可能运行不正确或者失败
|
||||
2、此处 column 不能配置任何常量值
|
||||
|
||||
+5
-1
@@ -5,6 +5,7 @@ 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.DBUtil;
|
||||
import com.alibaba.datax.plugin.rdbms.util.DBUtilErrorCode;
|
||||
import com.alibaba.datax.plugin.rdbms.util.DataBaseType;
|
||||
|
||||
@@ -12,7 +13,10 @@ import java.util.List;
|
||||
|
||||
public class RdbmsReader extends Reader {
|
||||
private static final DataBaseType DATABASE_TYPE = DataBaseType.RDBMS;
|
||||
|
||||
static {
|
||||
//加载插件下面配置的驱动类
|
||||
DBUtil.loadDriverClass("reader", "rdbms");
|
||||
}
|
||||
public static class Job extends Reader.Job {
|
||||
|
||||
private Configuration originalConfig;
|
||||
|
||||
+5
-1
@@ -4,6 +4,7 @@ import com.alibaba.datax.common.exception.DataXException;
|
||||
import com.alibaba.datax.common.plugin.RecordReceiver;
|
||||
import com.alibaba.datax.common.spi.Writer;
|
||||
import com.alibaba.datax.common.util.Configuration;
|
||||
import com.alibaba.datax.plugin.rdbms.util.DBUtil;
|
||||
import com.alibaba.datax.plugin.rdbms.util.DBUtilErrorCode;
|
||||
import com.alibaba.datax.plugin.rdbms.util.DataBaseType;
|
||||
import com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter;
|
||||
@@ -13,7 +14,10 @@ import java.util.List;
|
||||
|
||||
public class RdbmsWriter extends Writer {
|
||||
private static final DataBaseType DATABASE_TYPE = DataBaseType.RDBMS;
|
||||
|
||||
static {
|
||||
//加载插件下面配置的驱动类
|
||||
DBUtil.loadDriverClass("writer", "rdbms");
|
||||
}
|
||||
public static class Job extends Writer.Job {
|
||||
private Configuration originalConfig = null;
|
||||
private CommonRdbmsWriter.Job commonRdbmsWriterMaster;
|
||||
|
||||
+1
-1
@@ -64,7 +64,7 @@ DataX本身作为数据同步框架,将不同数据源的同步抽象为从源
|
||||
|
||||
* 配置示例:从stream读取数据并打印到控制台
|
||||
|
||||
* 第一步、创建创业的配置文件(json格式)
|
||||
* 第一步、创建作业的配置文件(json格式)
|
||||
|
||||
可以通过命令查看配置模板: python datax.py -r {YOUR_READER} -w {YOUR_WRITER}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user