Skip to content

Commit

Permalink
md
Browse files Browse the repository at this point in the history
  • Loading branch information
wxgzgl committed Aug 10, 2020
1 parent b041116 commit df73e6b
Show file tree
Hide file tree
Showing 7 changed files with 129 additions and 1 deletion.
38 changes: 37 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,43 @@ FlinkX Web是在FlinkX之上开发的分布式数据同步工具,提供简单




# 支持的数据库

| | Database Type | Reader | Writer |
| :--------------------: | :-------------: | :-----------------------------------------------: | :--------------------------------------------: |
| Batch Synchronization | MySQL | [doc](docs/offline/reader/mysqlreader.md) | [doc](docs/offline/writer/mysqlwriter.md) |
| | Oracle | [doc](docs/offline/reader/oraclereader.md) | [doc](docs/offline/writer/oraclewriter.md) |
| | SqlServer | [doc](docs/offline/reader/sqlserverreader.md) | [doc](docs/offline/writer/sqlserverwriter.md) |
| | PostgreSQL | [doc](docs/offline/reader/postgresqlreader.md) | [doc](docs/offline/writer/postgresqlwriter.md) |
| | DB2 | [doc](docs/offline/reader/db2reader.md) | [doc](docs/offline/writer/db2writer.md) |
| | GBase | [doc](docs/offline/reader/gbasereader.md) | [doc](docs/offline/writer/gbasewriter.md) |
| | ClickHouse | [doc](docs/offline/reader/clickhousereader.md) | [doc](docs/offline/writer/clickhousewriter.md) |
| | PolarDB | [doc](docs/offline/reader/polardbreader.md) | [doc](docs/offline/writer/polardbwriter.md) |
| | SAP Hana | [doc](docs/offline/reader/saphanareader.md) | [doc](docs/offline/writer/saphanawriter.md) |
| | Teradata | [doc](docs/offline/reader/teradatareader.md) | [doc](docs/offline/writer/teradatawriter.md) |
| | Phoenix | [doc](docs/offline/reader/phoenixreader.md) | [doc](docs/offline/writer/phoenixwriter.md) |
| | 达梦 | [doc](docs/offline/reader/dmreader.md) | [doc](docs/offline/writer/dmwriter.md) |
| | Greenplum | [doc](docs/offline/reader/greenplumreader.md) | [doc](docs/offline/writer/greenplumwriter.md) |
| | Cassandra | [doc](docs/offline/reader/cassandrareader.md) | [doc](docs/offline/writer/cassandrawriter.md) |
| | ODPS | [doc](docs/offline/reader/odpsreader.md) | [doc](docs/offline/writer/odpswriter.md) |
| | HBase | [doc](docs/offline/reader/hbasereader.md) | [doc](docs/offline/writer/hbasewriter.md) |
| | MongoDB | [doc](docs/offline/reader/mongodbreader.md) | [doc](docs/offline/writer/mongodbwriter.md) |
| | Kudu | [doc](docs/offline/reader/kudureader.md) | [doc](docs/offline/writer/kuduwriter.md) |
| | ElasticSearch | [doc](docs/offline/reader/esreader.md) | [doc](docs/offline/writer/eswriter.md) |
| | FTP | [doc](docs/offline/reader/ftpreader.md) | [doc](docs/offline/writer/ftpwriter.md) |
| | HDFS | [doc](docs/offline/reader/hdfsreader.md) | [doc](docs/offline/writer/hdfswriter.md) |
| | Carbondata | [doc](docs/offline/reader/carbondatareader.md) | [doc](docs/offline/writer/carbondatawriter.md) |
| | Stream | [doc](docs/offline/reader/streamreader.md) | [doc](docs/offline/writer/carbondatawriter.md) |
| | Redis | | [doc](docs/offline/writer/rediswriter.md) |
| | Hive | | [doc](docs/offline/writer/hivewriter.md) |
| Stream Synchronization | Kafka | [doc](docs/realTime/reader/kafkareader.md) | [doc](docs/realTime/writer/kafkawriter.md) |
| | EMQX | [doc](docs/realTime/reader/emqxreader.md) | [doc](docs/realTime/writer/emqxwriter.md) |
| | RestApi | [doc](docs/realTime/reader/restapireader.md) | [doc](docs/realTime/writer/restapiwriter.md) |
| | MySQL Binlog | [doc](docs/realTime/reader/binlogreader.md) | |
| | MongoDB Oplog | [doc](docs/realTime/reader/mongodboplogreader.md) | |
| | PostgreSQL WAL | [doc](docs/realTime/reader/pgwalreader.md) | |
| | Oracle Logminer | Coming Soon | |
| | SqlServer CDC | Coming Soon | |

# flinkx-web产品计划

Expand Down
31 changes: 31 additions & 0 deletions docs/startRead.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
1.Main方法获取Reader,114行

```
BaseDataReader dataReader = DataReaderFactory.getDataReader(config, env);
```

2.刨析DataReaderFactory的getDataReader方法

```java
public static BaseDataReader getDataReader(DataTransferConfig config, StreamExecutionEnvironment env) {
try {
String pluginName =config.getJob().getContent().get(0).getReader().getName();
String pluginClassName = PluginUtil.getPluginClassName(pluginName);
Set<URL> urlList = PluginUtil.getJarFileDirPath(pluginName, config.getPluginRoot());
return ClassLoaderManager.newInstance(urlList, cl -> {
Class<?> clazz = cl.loadClass(pluginClassName);
Constructor constructor =
clazz.getConstructor(DataTransferConfig.class, StreamExecutionEnvironment.class);
return (BaseDataReader)constructor.newInstance(config, env);
});
} catch (Exception e) {
throw new RuntimeException(e);
}
}
```

pluginName:streamReader

pluginClassName:com.dtstack.flinkx.stream.reader.StreamReader

urlList:
55 changes: 55 additions & 0 deletions src/main/java/JSONTemplate.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
public class JSONTemplate {
public static String mysqlTemplate ="{\n" +
" \"job\": {\n" +
" \"content\": [\n" +
" {\n" +
" \"reader\": {\n" +
" \"parameter\": {\n" +
" \"username\": \"dtstack\",\n" +
" \"password\": \"abc123\",\n" +
" \"connection\": [{\n" +
" \"jdbcUrl\": [\"jdbc:mysql://kudu3:3306/tudou?useUnicode=true&characterEncoding=utf8\"],\n" +
" \"table\": [\"kudu\"]\n" +
" }],\n" +
" \"column\": [\"*\"],\n" +
" \"customSql\": \"\",\n" +
" \"where\": \"id < 100\",\n" +
" \"splitPk\": \"\",\n" +
" \"queryTimeOut\": 1000,\n" +
" \"requestAccumulatorInterval\": 2\n" +
" },\n" +
" \"name\": \"mysqlreader\"\n" +
" },\n" +
" \"writer\": {\n" +
" \"name\": \"streamwriter\",\n" +
" \"parameter\": {\n" +
" \"print\": true\n" +
" }\n" +
" }\n" +
" }\n" +
" ],\n" +
" \"setting\": {\n" +
" \"speed\": {\n" +
" \"channel\": 1,\n" +
" \"bytes\": 0\n" +
" },\n" +
" \"errorLimit\": {\n" +
" \"record\": 100\n" +
" },\n" +
" \"restore\": {\n" +
" \"maxRowNumForCheckpoint\": 0,\n" +
" \"isRestore\": false,\n" +
" \"restoreColumnName\": \"\",\n" +
" \"restoreColumnIndex\": 0\n" +
" },\n" +
" \"log\" : {\n" +
" \"isLogger\": false,\n" +
" \"level\" : \"debug\",\n" +
" \"path\" : \"\",\n" +
" \"pattern\":\"\"\n" +
" }\n" +
" }\n" +
" }\n" +
"}";

}
6 changes: 6 additions & 0 deletions src/main/java/MysqlTemplate.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
public class MysqlTemplate {
public static void main(String[] args) {

System.out.println(JSONTemplate.mysqlTemplate);
}
}
Binary file added target/classes/FlinxTest.class
Binary file not shown.
Binary file added target/classes/JSONTemplate.class
Binary file not shown.
Binary file added target/classes/MysqlTemplate.class
Binary file not shown.

0 comments on commit df73e6b

Please sign in to comment.