├── .editorconfig ├── .github ├── ISSUE_TEMPLATE │ ├── ask-question.yml │ ├── bug-report.yml │ ├── document-request.yml │ └── feature-request.yml ├── PULL_REQUEST_TEMPLATE.md ├── labeler.yml └── workflows │ ├── approve-label-trigger.yml │ ├── approve-label.yml │ ├── build.yml │ ├── docs-deploy.yml │ └── label.yml ├── .gitignore ├── .gitmodules ├── .idea └── vcs.xml ├── .licenserc.yaml ├── .mvn └── wrapper │ └── maven-wrapper.properties ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── README_CH.md ├── bin ├── chunjun-docker.sh ├── chunjun-kubernetes-application.sh ├── chunjun-kubernetes-session.sh ├── chunjun-local.sh ├── chunjun-standalone.sh ├── chunjun-yarn-perjob.sh ├── chunjun-yarn-session.sh ├── start-chunjun ├── start-server.sh └── submit.sh ├── build └── build.sh ├── chunjun-assembly ├── pom.xml └── src │ └── main │ └── assembly │ └── assembly.xml ├── chunjun-clients ├── pom.xml └── src │ └── main │ ├── java │ ├── com │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── client │ │ │ ├── ClusterClientHelper.java │ │ │ ├── JobDeployer.java │ │ │ ├── Launcher.java │ │ │ ├── exception │ │ │ └── DeploymentException.java │ │ │ ├── kubernetes │ │ │ ├── DTConfigurationOptions.java │ │ │ ├── KubernetesApplicationClusterClientHelper.java │ │ │ └── KubernetesSessionClusterClientHelper.java │ │ │ ├── local │ │ │ └── LocalClusterClientHelper.java │ │ │ ├── standalone │ │ │ └── StandaloneClusterClientHelper.java │ │ │ ├── util │ │ │ ├── JobGraphUtil.java │ │ │ ├── PluginInfoUtil.java │ │ │ └── YarnSessionClientUtil.java │ │ │ └── yarn │ │ │ ├── YarnConfLoader.java │ │ │ ├── YarnPerJobClusterClientHelper.java │ │ │ └── YarnSessionClusterClientHelper.java │ └── org │ │ └── apache │ │ └── flink │ │ ├── client │ │ └── deployment │ │ │ └── ClusterSpecification.java │ │ └── yarn │ │ └── YarnClusterDescriptor.java │ └── resources │ └── log4j2.properties ├── chunjun-connectors ├── chunjun-connector-arctic │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── arctic │ │ │ ├── config │ │ │ ├── ArcticReaderConfig.java │ │ │ └── ArcticWriterConfig.java │ │ │ ├── converter │ │ │ └── ArcticRawTypeMapper.java │ │ │ └── sink │ │ │ ├── ArcticMetricsMapFunction.java │ │ │ └── ArcticSinkFactory.java │ │ └── resources │ │ └── META-INF.services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-binlog │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ ├── alibaba │ │ │ │ └── otter │ │ │ │ │ └── canal │ │ │ │ │ └── parse │ │ │ │ │ └── inbound │ │ │ │ │ └── mysql │ │ │ │ │ └── ddl │ │ │ │ │ ├── DdlResultExtend.java │ │ │ │ │ └── DruidDdlParser.java │ │ │ │ └── dtstack │ │ │ │ └── chunjun │ │ │ │ └── connector │ │ │ │ └── binlog │ │ │ │ ├── config │ │ │ │ └── BinlogConfig.java │ │ │ │ ├── converter │ │ │ │ ├── BinlogSqlConverter.java │ │ │ │ ├── BinlogSyncConverter.java │ │ │ │ └── MysqlBinlogRawTypeMapper.java │ │ │ │ ├── format │ │ │ │ └── TimestampFormat.java │ │ │ │ ├── inputformat │ │ │ │ ├── BinlogInputFormat.java │ │ │ │ └── BinlogInputFormatBuilder.java │ │ │ │ ├── listener │ │ │ │ ├── BinlogAlarmHandler.java │ │ │ │ ├── BinlogEventRow.java │ │ │ │ ├── BinlogEventSink.java │ │ │ │ ├── BinlogJournalValidator.java │ │ │ │ ├── BinlogPositionManager.java │ │ │ │ └── HeartBeatController.java │ │ │ │ ├── options │ │ │ │ └── BinlogOptions.java │ │ │ │ ├── source │ │ │ │ ├── BinlogDynamicTableSource.java │ │ │ │ └── BinlogSourceFactory.java │ │ │ │ ├── table │ │ │ │ └── BinlogDynamicTableFactory.java │ │ │ │ └── util │ │ │ │ └── BinlogUtil.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.flink.table.factories.Factory │ │ └── test │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── connector │ │ └── binlog │ │ ├── inputformat │ │ └── BinlogInputFormatBuilderTest.java │ │ └── util │ │ └── BinlogUtilTest.java ├── chunjun-connector-cassandra │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── cassandra │ │ │ ├── config │ │ │ ├── CassandraCommonConfig.java │ │ │ ├── CassandraLookupConfig.java │ │ │ ├── CassandraSinkConfig.java │ │ │ └── CassandraSourceConfig.java │ │ │ ├── converter │ │ │ ├── CassandraRawTypeConverter.java │ │ │ ├── CassandraSqlConverter.java │ │ │ └── CassandraSyncConverter.java │ │ │ ├── lookup │ │ │ ├── CassandraAllTableFunction.java │ │ │ └── CassandraLruTableFunction.java │ │ │ ├── optinos │ │ │ └── CassandraCommonOptions.java │ │ │ ├── sink │ │ │ ├── CassandraDynamicTableSink.java │ │ │ ├── CassandraOutputFormat.java │ │ │ ├── CassandraOutputFormatBuilder.java │ │ │ └── CassandraSinkFactory.java │ │ │ ├── source │ │ │ ├── CassandraDynamicTableSource.java │ │ │ ├── CassandraInputFormat.java │ │ │ ├── CassandraInputFormatBuilder.java │ │ │ ├── CassandraInputSplit.java │ │ │ └── CassandraSourceFactory.java │ │ │ ├── table │ │ │ └── CassandraDynamicTableFactory.java │ │ │ └── util │ │ │ └── CassandraService.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-clickhouse │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── clickhouse │ │ │ ├── converter │ │ │ └── ClickhouseRawTypeConverter.java │ │ │ ├── dialect │ │ │ └── ClickhouseDialect.java │ │ │ ├── sink │ │ │ ├── ClickhouseOutputFormat.java │ │ │ ├── ClickhouseOutputFormatBuilder.java │ │ │ └── ClickhouseSinkFactory.java │ │ │ ├── source │ │ │ ├── ClickhouseInputFormat.java │ │ │ ├── ClickhouseInputFormatBuilder.java │ │ │ └── ClickhouseSourceFactory.java │ │ │ ├── table │ │ │ └── ClickhouseDynamicTableFactory.java │ │ │ └── util │ │ │ └── ClickhouseUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-db2 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── db2 │ │ │ ├── converter │ │ │ ├── Db2RawTypeConverter.java │ │ │ ├── Db2SqlConverter.java │ │ │ └── Db2SyncConverter.java │ │ │ ├── dialect │ │ │ └── Db2Dialect.java │ │ │ ├── sink │ │ │ └── Db2SinkFactory.java │ │ │ ├── source │ │ │ └── Db2SourceFactory.java │ │ │ └── table │ │ │ └── Db2DynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-dm │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── dm │ │ │ ├── converter │ │ │ ├── DmRawTypeConverter.java │ │ │ ├── DmSqlConverter.java │ │ │ ├── DmSyncConverter.java │ │ │ └── logical │ │ │ │ └── BlobType.java │ │ │ ├── dialect │ │ │ └── DmDialect.java │ │ │ ├── sink │ │ │ └── DmSinkFactory.java │ │ │ ├── source │ │ │ └── DmSourceFactory.java │ │ │ └── table │ │ │ └── DmDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-doris │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── doris │ │ │ ├── DorisUtil.java │ │ │ ├── converter │ │ │ ├── DorisHttpSqlConverter.java │ │ │ ├── DorisJdbcSqlConverter.java │ │ │ └── DorisRawTypeMapper.java │ │ │ ├── exception │ │ │ └── DorisConnectFailedException.java │ │ │ ├── options │ │ │ ├── DorisConfig.java │ │ │ ├── DorisKeys.java │ │ │ ├── DorisOptions.java │ │ │ └── LoadConfig.java │ │ │ ├── rest │ │ │ ├── Carrier.java │ │ │ ├── DorisLoadClient.java │ │ │ ├── DorisStreamLoad.java │ │ │ ├── FeRestService.java │ │ │ └── module │ │ │ │ ├── Backend.java │ │ │ │ ├── BackendRow.java │ │ │ │ ├── Field.java │ │ │ │ ├── PartitionDefinition.java │ │ │ │ ├── QueryPlan.java │ │ │ │ ├── RespContent.java │ │ │ │ ├── Schema.java │ │ │ │ └── Tablet.java │ │ │ ├── sink │ │ │ ├── DorisDynamicTableSink.java │ │ │ ├── DorisHttpOutputFormat.java │ │ │ ├── DorisHttpOutputFormatBuilder.java │ │ │ └── DorisSinkFactory.java │ │ │ ├── source │ │ │ ├── DorisInputFormat.java │ │ │ ├── DorisInputFormatBuilder.java │ │ │ └── DorisSourceFactory.java │ │ │ └── table │ │ │ └── DorisDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-elasticsearch-base │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── connector │ │ └── elasticsearch │ │ ├── ElasticsearchRawTypeMapper.java │ │ ├── ElasticsearchSqlConverter.java │ │ ├── ElasticsearchSyncConverter.java │ │ ├── KeyExtractor.java │ │ └── table │ │ ├── AbstractTimeIndexGenerator.java │ │ ├── ElasticsearchDynamicTableFactoryBase.java │ │ ├── IndexGenerator.java │ │ ├── IndexGeneratorBase.java │ │ ├── IndexGeneratorFactory.java │ │ └── StaticIndexGenerator.java ├── chunjun-connector-elasticsearch6 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── elasticsearch6 │ │ │ ├── Elasticsearch6ClientFactory.java │ │ │ ├── Elasticsearch6Config.java │ │ │ ├── Elasticsearch6RequestFactory.java │ │ │ ├── sink │ │ │ ├── Elasticsearch6OutputFormat.java │ │ │ ├── Elasticsearch6OutputFormatBuilder.java │ │ │ └── Elasticsearch6SinkFactory.java │ │ │ ├── source │ │ │ ├── Elasticsearch6InputFormat.java │ │ │ ├── Elasticsearch6InputFormatBuilder.java │ │ │ └── Elasticsearch6SourceFactory.java │ │ │ └── table │ │ │ ├── Elasticsearch6DynamicTableFactory.java │ │ │ ├── Elasticsearch6DynamicTableSink.java │ │ │ ├── Elasticsearch6DynamicTableSource.java │ │ │ └── lookup │ │ │ ├── Elasticsearch6AllTableFunction.java │ │ │ └── Elasticsearch6LruTableFunction.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-elasticsearch7 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── elasticsearch7 │ │ │ ├── Elasticsearch7ClientFactory.java │ │ │ ├── Elasticsearch7RequestFactory.java │ │ │ ├── ElasticsearchConfig.java │ │ │ ├── SslConfig.java │ │ │ ├── sink │ │ │ ├── Elasticsearch7SinkFactory.java │ │ │ ├── ElasticsearchOutputFormat.java │ │ │ └── ElasticsearchOutputFormatBuilder.java │ │ │ ├── source │ │ │ ├── Elasticsearch7SourceFactory.java │ │ │ ├── ElasticsearchInputFormat.java │ │ │ └── ElasticsearchInputFormatBuilder.java │ │ │ └── table │ │ │ ├── Elasticsearch7DynamicTableFactory.java │ │ │ ├── Elasticsearch7Options.java │ │ │ ├── ElasticsearchDynamicTableSink.java │ │ │ ├── ElasticsearchDynamicTableSource.java │ │ │ └── lookup │ │ │ ├── ElasticsearchAllTableFunction.java │ │ │ └── ElasticsearchLruTableFunction.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-emqx │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── emqx │ │ │ ├── config │ │ │ └── EmqxConfig.java │ │ │ ├── converter │ │ │ ├── EmqxSqlConverter.java │ │ │ └── EmqxSyncConverter.java │ │ │ ├── options │ │ │ └── EmqxOptions.java │ │ │ ├── sink │ │ │ ├── EmqxDynamicTableSink.java │ │ │ ├── EmqxOutputFormat.java │ │ │ ├── EmqxOutputFormatBuilder.java │ │ │ └── EmqxSinkFactory.java │ │ │ ├── source │ │ │ ├── EmqxDynamicTableSource.java │ │ │ ├── EmqxInputFormat.java │ │ │ ├── EmqxInputFormatBuilder.java │ │ │ └── EmqxSourceFactory.java │ │ │ ├── table │ │ │ └── EmqxDynamicTableFactory.java │ │ │ └── util │ │ │ └── MqttConnectUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-file │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── file │ │ │ ├── converter │ │ │ └── FileSqlConverter.java │ │ │ ├── source │ │ │ ├── FileInputBufferedReader.java │ │ │ ├── FileInputFormat.java │ │ │ ├── FileInputFormatBuilder.java │ │ │ └── FileInputSplit.java │ │ │ └── table │ │ │ ├── FileDynamicTableFactory.java │ │ │ ├── FileDynamicTableSource.java │ │ │ └── FileOptions.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-ftp │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── ftp │ │ │ ├── client │ │ │ ├── Data.java │ │ │ ├── FileUtil.java │ │ │ ├── ZipInputStream.java │ │ │ └── excel │ │ │ │ ├── ExcelReadListener.java │ │ │ │ ├── ExcelReaderExecutor.java │ │ │ │ ├── ExcelSubExceptionCarrier.java │ │ │ │ └── Row.java │ │ │ ├── config │ │ │ ├── ConfigConstants.java │ │ │ └── FtpConfig.java │ │ │ ├── converter │ │ │ ├── DummyInitializationContext.java │ │ │ ├── FtpRawTypeMapper.java │ │ │ ├── FtpSqlConverter.java │ │ │ └── FtpSyncConverter.java │ │ │ ├── enums │ │ │ ├── CompressType.java │ │ │ ├── EFtpMode.java │ │ │ └── FileType.java │ │ │ ├── extend │ │ │ ├── converter │ │ │ │ └── IColumnConverter.java │ │ │ └── ftp │ │ │ │ ├── File.java │ │ │ │ ├── FtpParseException.java │ │ │ │ ├── IFormatConfig.java │ │ │ │ ├── IFtpHandler.java │ │ │ │ ├── concurrent │ │ │ │ ├── ConcurrentFileSplit.java │ │ │ │ └── FtpFileSplit.java │ │ │ │ └── format │ │ │ │ └── IFileReadFormat.java │ │ │ ├── handler │ │ │ ├── DTFtpHandler.java │ │ │ ├── FtpHandler.java │ │ │ ├── FtpHandlerFactory.java │ │ │ ├── Position.java │ │ │ └── SftpHandler.java │ │ │ ├── iformat │ │ │ ├── CsvFileFormat.java │ │ │ ├── ExcelFileFormat.java │ │ │ ├── IFormatFactory.java │ │ │ └── TextFileFormat.java │ │ │ ├── options │ │ │ └── FtpOptions.java │ │ │ ├── sink │ │ │ ├── FtpDynamicTableSink.java │ │ │ ├── FtpOutputFormat.java │ │ │ ├── FtpOutputFormatBuilder.java │ │ │ └── FtpSinkFactory.java │ │ │ ├── source │ │ │ ├── FtpDynamicTableSource.java │ │ │ ├── FtpFileReader.java │ │ │ ├── FtpInputFormat.java │ │ │ ├── FtpInputFormatBuilder.java │ │ │ ├── FtpInputSplit.java │ │ │ ├── FtpInputStreamProxy.java │ │ │ └── FtpSourceFactory.java │ │ │ ├── spliter │ │ │ ├── ConcurrentCsvSplit.java │ │ │ ├── ConcurrentFileSplitFactory.java │ │ │ ├── ConcurrentZipCompressSplit.java │ │ │ └── DefaultFileSplit.java │ │ │ └── table │ │ │ └── FtpDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-gbase │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── gbase │ │ │ ├── converter │ │ │ └── GbaseRawTypeConverter.java │ │ │ ├── dialect │ │ │ └── GbaseDialect.java │ │ │ ├── sink │ │ │ └── GbaseSinkFactory.java │ │ │ ├── source │ │ │ └── GbaseSourceFactory.java │ │ │ └── table │ │ │ └── GbaseDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-gbase8s │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── gbase8s │ │ │ ├── converter │ │ │ └── Gbase8sRawTypeConverter.java │ │ │ ├── dialect │ │ │ └── Gbase8sDialect.java │ │ │ ├── sink │ │ │ └── Gbase8sSinkFactory.java │ │ │ ├── source │ │ │ └── Gbase8sSourceFactory.java │ │ │ └── table │ │ │ └── Gbase8sDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-gbasehk │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── gbasehk │ │ │ ├── converter │ │ │ └── GbasehkRawTypeConverter.java │ │ │ ├── dialect │ │ │ └── GbasehkDialect.java │ │ │ ├── sink │ │ │ └── GbasehkSinkFactory.java │ │ │ ├── source │ │ │ └── GbasehkSourceFactory.java │ │ │ └── table │ │ │ └── GbasehkDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-greenplum │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── greenplum │ │ │ ├── converter │ │ │ └── GreenplumRawTypeMapper.java │ │ │ ├── dialect │ │ │ └── GreenplumDialect.java │ │ │ ├── sink │ │ │ ├── GreenplumOutputFormat.java │ │ │ └── GreenplumSinkFactory.java │ │ │ ├── source │ │ │ └── GreenplumSourceFactory.java │ │ │ └── table │ │ │ └── GreenplumDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-hbase-1.4 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── hbase14 │ │ │ ├── sink │ │ │ └── HBase14SinkFactory.java │ │ │ ├── source │ │ │ └── HBase14SourceFactory.java │ │ │ └── table │ │ │ └── Hbase14DynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-hbase-base │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── hbase │ │ │ ├── ConstantFunction.java │ │ │ ├── FunctionFactory.java │ │ │ ├── FunctionParser.java │ │ │ ├── FunctionTree.java │ │ │ ├── HBaseTableSchema.java │ │ │ ├── HBaseTypeUtils.java │ │ │ ├── IFunction.java │ │ │ ├── Md5Function.java │ │ │ ├── StringFunction.java │ │ │ ├── config │ │ │ ├── HBaseConfig.java │ │ │ └── HBaseConfigConstants.java │ │ │ ├── converter │ │ │ ├── HBaseFlatRowConverter.java │ │ │ ├── HBaseRawTypeMapper.java │ │ │ ├── HBaseSerde.java │ │ │ ├── HBaseSqlConverter.java │ │ │ └── HBaseSyncConverter.java │ │ │ ├── sink │ │ │ ├── HBaseOutputFormat.java │ │ │ ├── HBaseOutputFormatBuilder.java │ │ │ └── HBaseSinkFactoryBase.java │ │ │ ├── source │ │ │ ├── HBaseInputFormat.java │ │ │ ├── HBaseInputFormatBuilder.java │ │ │ ├── HBaseInputSplit.java │ │ │ └── HBaseSourceFactoryBase.java │ │ │ ├── table │ │ │ ├── BaseHBaseDynamicTableSource.java │ │ │ ├── HBaseDynamicTableFactoryBase.java │ │ │ ├── HBaseDynamicTableSink.java │ │ │ ├── HBaseDynamicTableSource.java │ │ │ ├── HBaseOptions.java │ │ │ └── lookup │ │ │ │ ├── HBaseAllTableFunction.java │ │ │ │ └── HBaseLruTableFunction.java │ │ │ └── util │ │ │ ├── HBaseConfigUtils.java │ │ │ ├── HBaseHelper.java │ │ │ └── ScanBuilder.java │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── hbase │ │ │ ├── ConstantFunctionTest.java │ │ │ ├── HBaseTableSchemaTest.java │ │ │ ├── Md5FunctionTest.java │ │ │ ├── StringFunctionTest.java │ │ │ ├── config │ │ │ └── HBaseConfigTest.java │ │ │ ├── converter │ │ │ ├── HBaseSerdeTest.java │ │ │ └── HBaseSyncConverterTest.java │ │ │ ├── sink │ │ │ ├── HBaseOutputFormatTest.java │ │ │ └── HBaseSinkFactoryTest.java │ │ │ ├── source │ │ │ ├── HBaseInputFormatTest.java │ │ │ └── HBaseInputSplitTest.java │ │ │ ├── table │ │ │ └── HBaseOptionsTest.java │ │ │ └── util │ │ │ ├── HBaseConfigUtilsTest.java │ │ │ ├── HBaseHelperTest.java │ │ │ ├── HBaseTestUtil.java │ │ │ └── ScanBuilderTest.java │ │ └── resources │ │ ├── hbase_stream.json │ │ ├── hbase_stream_2.json │ │ ├── stream_hbase.json │ │ └── stream_hbase_2.json ├── chunjun-connector-hbase2 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── hbase2 │ │ │ ├── sink │ │ │ └── HBase2SinkFactory.java │ │ │ ├── source │ │ │ └── HBase2SourceFactory.java │ │ │ └── table │ │ │ └── Hbase2DynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-hdfs │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── hdfs │ │ │ ├── InputSplit │ │ │ ├── HdfsOrcInputSplit.java │ │ │ ├── HdfsParquetSplit.java │ │ │ └── HdfsTextInputSplit.java │ │ │ ├── config │ │ │ └── HdfsConfig.java │ │ │ ├── converter │ │ │ ├── HdfsOrcSqlConverter.java │ │ │ ├── HdfsOrcSyncConverter.java │ │ │ ├── HdfsParquetSqlConverter.java │ │ │ ├── HdfsParquetSyncConverter.java │ │ │ ├── HdfsRawTypeMapper.java │ │ │ ├── HdfsTextSqlConverter.java │ │ │ └── HdfsTextSyncConverter.java │ │ │ ├── enums │ │ │ ├── CompressType.java │ │ │ └── FileType.java │ │ │ ├── options │ │ │ └── HdfsOptions.java │ │ │ ├── sink │ │ │ ├── BaseHdfsOutputFormat.java │ │ │ ├── HdfsDynamicTableSink.java │ │ │ ├── HdfsOrcOutputFormat.java │ │ │ ├── HdfsOutputFormatBuilder.java │ │ │ ├── HdfsParquetOutputFormat.java │ │ │ ├── HdfsSinkFactory.java │ │ │ └── HdfsTextOutputFormat.java │ │ │ ├── source │ │ │ ├── BaseHdfsInputFormat.java │ │ │ ├── HdfsDynamicTableSource.java │ │ │ ├── HdfsInputFormatBuilder.java │ │ │ ├── HdfsOrcInputFormat.java │ │ │ ├── HdfsParquetInputFormat.java │ │ │ ├── HdfsPathFilter.java │ │ │ ├── HdfsSourceFactory.java │ │ │ └── HdfsTextInputFormat.java │ │ │ ├── table │ │ │ └── HdfsDynamicTableFactory.java │ │ │ └── util │ │ │ └── HdfsUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-hive │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── hive │ │ │ ├── config │ │ │ └── HiveConfig.java │ │ │ ├── converter │ │ │ ├── HiveJdbcSyncConverter.java │ │ │ └── HiveRawTypeMapper.java │ │ │ ├── dialect │ │ │ └── HiveDialect.java │ │ │ ├── entity │ │ │ ├── ConnectionInfo.java │ │ │ ├── HiveFormatState.java │ │ │ └── TableInfo.java │ │ │ ├── enums │ │ │ ├── HiveReleaseVersion.java │ │ │ └── PartitionEnum.java │ │ │ ├── options │ │ │ └── HiveOptions.java │ │ │ ├── parser │ │ │ ├── AbstractHiveMetadataParser.java │ │ │ ├── Apache2MetadataParser.java │ │ │ └── Cdh2HiveMetadataParser.java │ │ │ ├── sink │ │ │ ├── HiveDynamicTableSink.java │ │ │ ├── HiveOutputFormat.java │ │ │ ├── HiveOutputFormatBuilder.java │ │ │ └── HiveSinkFactory.java │ │ │ ├── source │ │ │ ├── HiveInputFormat.java │ │ │ └── HiveSourceFactory.java │ │ │ ├── table │ │ │ └── HiveDynamicTableFactory.java │ │ │ └── util │ │ │ ├── HiveDbUtil.java │ │ │ ├── HiveUtil.java │ │ │ └── PathConverterUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-hive3 │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── connector │ │ └── hive3 │ │ ├── config │ │ └── HdfsConfig.java │ │ ├── converter │ │ ├── HdfsOrcSqlConverter.java │ │ ├── HdfsOrcSyncConverter.java │ │ ├── HdfsParquetSqlConverter.java │ │ ├── HdfsParquetSyncConverter.java │ │ ├── HdfsRawTypeMapper.java │ │ ├── HdfsTextSqlConverter.java │ │ └── HdfsTextSyncConverter.java │ │ ├── enums │ │ ├── CompressType.java │ │ └── FileType.java │ │ ├── inputSplit │ │ ├── HdfsOrcInputSplit.java │ │ ├── HdfsParquetInputSplit.java │ │ └── HdfsTextInputSplit.java │ │ ├── sink │ │ ├── BaseHdfsOutputFormat.java │ │ ├── HdfsOrcOutputFormat.java │ │ ├── HdfsParquetOutputFormat.java │ │ ├── HdfsTextOutputFormat.java │ │ ├── HdfsTransactionOutputFormat.java │ │ ├── Hive3OutputFormatBuilder.java │ │ └── Hive3SinkFactory.java │ │ ├── source │ │ ├── BaseHdfsInputFormat.java │ │ ├── HdfsOrcInputFormat.java │ │ ├── HdfsParquetInputFormat.java │ │ ├── HdfsPathFilter.java │ │ ├── HdfsTextInputFormat.java │ │ ├── HdfsTransactionInputFormat.java │ │ ├── Hive3InputFormatBuilder.java │ │ └── Hive3SourceFactory.java │ │ └── util │ │ └── Hive3Util.java ├── chunjun-connector-http │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── http │ │ │ ├── client │ │ │ ├── CsvResponseParse.java │ │ │ ├── DefaultRestHandler.java │ │ │ ├── HttpClient.java │ │ │ ├── HttpRequestParam.java │ │ │ ├── JsonResponseParse.java │ │ │ ├── MetaparamUtils.java │ │ │ ├── ResponseParse.java │ │ │ ├── ResponseValue.java │ │ │ ├── RestHandler.java │ │ │ ├── Strategy.java │ │ │ ├── TextResponseParse.java │ │ │ └── XmlResponseParse.java │ │ │ ├── common │ │ │ ├── ConstantValue.java │ │ │ ├── HttpKeys.java │ │ │ ├── HttpMethod.java │ │ │ ├── HttpRequestRetryHandlerImpl.java │ │ │ ├── HttpRestConfig.java │ │ │ ├── HttpUtil.java │ │ │ ├── HttpWriterConfig.java │ │ │ ├── MetaParam.java │ │ │ ├── ParamType.java │ │ │ └── ServiceUnavailableRetryStrategyImpl.java │ │ │ ├── converter │ │ │ ├── HttpRawTypeMapper.java │ │ │ ├── HttpSqlConverter.java │ │ │ └── HttpSyncConverter.java │ │ │ ├── inputformat │ │ │ ├── HttpInputFormat.java │ │ │ └── HttpInputFormatBuilder.java │ │ │ ├── outputformat │ │ │ ├── HttpOutputFormat.java │ │ │ └── HttpOutputFormatBuilder.java │ │ │ ├── sink │ │ │ └── HttpSinkFactory.java │ │ │ ├── source │ │ │ └── HttpSourceFactory.java │ │ │ ├── table │ │ │ ├── HttpDynamicTableFactory.java │ │ │ ├── HttpDynamicTableSink.java │ │ │ ├── HttpDynamicTableSource.java │ │ │ └── HttpOptions.java │ │ │ └── util │ │ │ ├── JsonPathUtil.java │ │ │ └── XmlUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-hudi │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── hudi │ │ │ ├── adaptor │ │ │ └── HudiOnChunjunAdaptor.java │ │ │ ├── converter │ │ │ ├── HudiRawTypeConvertor.java │ │ │ ├── HudiRowDataConvertorMap.java │ │ │ └── HudiRowDataMapping.java │ │ │ ├── sink │ │ │ └── HudiSinkFactory.java │ │ │ ├── source │ │ │ └── HudiSourceFactory.java │ │ │ ├── table │ │ │ └── HudiDynamicTableFactory.java │ │ │ └── utils │ │ │ └── HudiConfigUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-iceberg │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── connector │ │ └── iceberg │ │ ├── config │ │ └── IcebergConfig.java │ │ └── sink │ │ ├── ChunjunRowDataConvertMap.java │ │ └── IcebergSinkFactory.java ├── chunjun-connector-influxdb │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── connector │ │ └── influxdb │ │ ├── config │ │ ├── InfluxdbConfig.java │ │ ├── InfluxdbSinkConfig.java │ │ └── InfluxdbSourceConfig.java │ │ ├── constants │ │ └── InfluxdbCons.java │ │ ├── converter │ │ ├── InfluxdbRawTypeMapper.java │ │ └── InfluxdbSyncConverter.java │ │ ├── enums │ │ └── TimePrecisionEnums.java │ │ ├── sink │ │ ├── InfluxdbOutputFormat.java │ │ ├── InfluxdbOutputFormatBuilder.java │ │ └── InfluxdbSinkFactory.java │ │ └── source │ │ ├── InfluxdbInputFormat.java │ │ ├── InfluxdbInputFormatBuilder.java │ │ ├── InfluxdbInputSplit.java │ │ ├── InfluxdbQuerySqlBuilder.java │ │ └── InfluxdbSourceFactory.java ├── chunjun-connector-jdbc-base │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── jdbc │ │ │ ├── adapter │ │ │ ├── ConnectionAdapter.java │ │ │ └── EncryptAdapter.java │ │ │ ├── config │ │ │ ├── ConnectionConfig.java │ │ │ ├── DataSourceConfig.java │ │ │ ├── JdbcConfig.java │ │ │ ├── JdbcLookupConfig.java │ │ │ ├── SinkConnectionConfig.java │ │ │ ├── SourceConnectionConfig.java │ │ │ └── TableIdentify.java │ │ │ ├── converter │ │ │ ├── JdbcSqlConverter.java │ │ │ └── JdbcSyncConverter.java │ │ │ ├── dialect │ │ │ └── JdbcDialect.java │ │ │ ├── exclusion │ │ │ └── FieldNameExclusionStrategy.java │ │ │ ├── lookup │ │ │ ├── JdbcAllTableFunction.java │ │ │ ├── JdbcLruTableFunction.java │ │ │ └── provider │ │ │ │ └── DruidDataSourceProvider.java │ │ │ ├── options │ │ │ ├── JdbcCommonOptions.java │ │ │ ├── JdbcLookupOptions.java │ │ │ ├── JdbcSinkOptions.java │ │ │ └── JdbcSourceOptions.java │ │ │ ├── sink │ │ │ ├── DynamicPreparedStmt.java │ │ │ ├── JdbcDynamicTableSink.java │ │ │ ├── JdbcOutputFormat.java │ │ │ ├── JdbcOutputFormatBuilder.java │ │ │ ├── JdbcSinkFactory.java │ │ │ └── wrapper │ │ │ │ ├── InsertOrUpdateStatementWrapper.java │ │ │ │ ├── JdbcBatchStatementWrapper.java │ │ │ │ ├── SimpleStatementWrapper.java │ │ │ │ ├── StatementWrapperUtil.java │ │ │ │ ├── buffer │ │ │ │ ├── InsertDeleteCompactionWrapper.java │ │ │ │ ├── InsertOrUpdateCompactionWrapper.java │ │ │ │ ├── NoKeyInsertDeleteCompactionWrapper.java │ │ │ │ └── UpsertDeleteCompactionWrapper.java │ │ │ │ └── proxy │ │ │ │ ├── CachedWrapperProxy.java │ │ │ │ ├── DynamicSimpleDeleteWrapper.java │ │ │ │ ├── NoKeyDeleteWrapperProxy.java │ │ │ │ └── RestoreWrapperProxy.java │ │ │ ├── source │ │ │ ├── JdbcDynamicTableSource.java │ │ │ ├── JdbcInputFormat.java │ │ │ ├── JdbcInputFormatBuilder.java │ │ │ ├── JdbcInputSplit.java │ │ │ ├── JdbcSourceFactory.java │ │ │ └── distribute │ │ │ │ ├── DistributedJdbcInputFormat.java │ │ │ │ ├── DistributedJdbcInputFormatBuilder.java │ │ │ │ ├── DistributedJdbcInputSplit.java │ │ │ │ └── DistributedJdbcSourceFactory.java │ │ │ ├── statement │ │ │ ├── FieldNamedPreparedStatement.java │ │ │ └── FieldNamedPreparedStatementImpl.java │ │ │ ├── table │ │ │ └── JdbcDynamicTableFactory.java │ │ │ └── util │ │ │ ├── JdbcUtil.java │ │ │ ├── SqlUtil.java │ │ │ └── key │ │ │ ├── DateTypeUtil.java │ │ │ ├── KeyUtil.java │ │ │ ├── NumericTypeUtil.java │ │ │ └── TimestampTypeUtil.java │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── jdbc │ │ │ ├── converter │ │ │ ├── JdbcRawTypeConverterTest.java │ │ │ └── JdbcSyncConverterTest.java │ │ │ ├── dialect │ │ │ └── JdbcDialectTest.java │ │ │ ├── sink │ │ │ └── SinkFactoryTest.java │ │ │ ├── source │ │ │ ├── JdbcInputFormatBuilderTest.java │ │ │ ├── JdbcInputFormatTest.java │ │ │ ├── SourceFactoryTest.java │ │ │ └── distribute │ │ │ │ ├── DistributeJdbcInputFormatTest.java │ │ │ │ └── SourceFactoryTest.java │ │ │ └── util │ │ │ └── JdbcUtilTest.java │ │ └── resources │ │ ├── distribute_sync_test.json │ │ └── sync_test.json ├── chunjun-connector-kafka │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ ├── com │ │ │ └── dtstack │ │ │ │ └── chunjun │ │ │ │ └── connector │ │ │ │ ├── kafka │ │ │ │ ├── adapter │ │ │ │ │ └── StartupModeAdapter.java │ │ │ │ ├── conf │ │ │ │ │ └── KafkaConfig.java │ │ │ │ ├── converter │ │ │ │ │ ├── KafkaCdcSyncConverter.java │ │ │ │ │ ├── KafkaRawTypeMapping.java │ │ │ │ │ ├── KafkaSyncConverter.java │ │ │ │ │ └── RowEntity.java │ │ │ │ ├── deserializer │ │ │ │ │ └── DtKafkaDeserializer.java │ │ │ │ ├── enums │ │ │ │ │ ├── FormatType.java │ │ │ │ │ └── StartupMode.java │ │ │ │ ├── option │ │ │ │ │ └── KafkaOptions.java │ │ │ │ ├── partitioner │ │ │ │ │ └── CustomerFlinkPartition.java │ │ │ │ ├── serialization │ │ │ │ │ ├── RowDeserializationSchema.java │ │ │ │ │ └── RowSerializationSchema.java │ │ │ │ ├── sink │ │ │ │ │ ├── DynamicKafkaRecordSerializationSchema.java │ │ │ │ │ ├── DynamicKafkaSerializationSchema.java │ │ │ │ │ ├── KafkaDynamicSink.java │ │ │ │ │ ├── KafkaProducer.java │ │ │ │ │ ├── KafkaSinkFactory.java │ │ │ │ │ ├── ReducingUpsertSink.java │ │ │ │ │ └── ReducingUpsertWriter.java │ │ │ │ ├── source │ │ │ │ │ ├── DynamicKafkaDeserializationSchema.java │ │ │ │ │ ├── FlinkKafkaConsumer.java │ │ │ │ │ ├── KafkaConsumerWrapper.java │ │ │ │ │ ├── KafkaDynamicSource.java │ │ │ │ │ └── KafkaSourceFactory.java │ │ │ │ ├── table │ │ │ │ │ └── KafkaDynamicTableFactory.java │ │ │ │ └── util │ │ │ │ │ ├── FormatNameConvertUtil.java │ │ │ │ │ └── KafkaUtil.java │ │ │ │ └── upsertkafka │ │ │ │ └── table │ │ │ │ └── UpsertKafkaDynamicTableFactory.java │ │ └── org │ │ │ └── apache │ │ │ └── flink │ │ │ └── streaming │ │ │ └── connectors │ │ │ └── kafka │ │ │ └── table │ │ │ └── KafkaConnectorOptionsUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-kingbase │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── kingbase │ │ │ ├── converter │ │ │ ├── KingbaseRawTypeMapper.java │ │ │ ├── KingbaseSqlConverter.java │ │ │ └── KingbaseSyncConverter.java │ │ │ ├── dialect │ │ │ └── KingbaseDialect.java │ │ │ ├── sink │ │ │ └── KingbaseSinkFactory.java │ │ │ ├── source │ │ │ └── KingbaseSourceFactory.java │ │ │ ├── table │ │ │ └── KingbaseDynamicTableFactory.java │ │ │ └── util │ │ │ └── KingbaseConstants.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-kudu │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── kudu │ │ │ ├── config │ │ │ ├── KuduCommonConfig.java │ │ │ ├── KuduLookupConfig.java │ │ │ ├── KuduSinkConfig.java │ │ │ └── KuduSourceConfig.java │ │ │ ├── converter │ │ │ ├── KuduRawTypeMapper.java │ │ │ ├── KuduSqlConverter.java │ │ │ └── KuduSyncConverter.java │ │ │ ├── sink │ │ │ ├── KuduOutputFormat.java │ │ │ ├── KuduOutputFormatBuilder.java │ │ │ └── KuduSinkFactory.java │ │ │ ├── source │ │ │ ├── KuduInputFormat.java │ │ │ ├── KuduInputFormatBuilder.java │ │ │ ├── KuduInputSplit.java │ │ │ └── KuduSourceFactory.java │ │ │ ├── table │ │ │ ├── KuduDynamicTableFactory.java │ │ │ ├── KuduDynamicTableSink.java │ │ │ ├── KuduDynamicTableSource.java │ │ │ ├── KuduOptions.java │ │ │ └── lookup │ │ │ │ ├── KuduAllTableFunction.java │ │ │ │ └── KuduLruTableFunction.java │ │ │ └── util │ │ │ └── KuduUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-mongodb │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── mongodb │ │ │ ├── MongoClientFactory.java │ │ │ ├── config │ │ │ ├── MongoClientConfig.java │ │ │ ├── MongoWriteConfig.java │ │ │ └── MongodbClientOptions.java │ │ │ ├── converter │ │ │ ├── MongoDeserializationConverter.java │ │ │ ├── MongoSerializationConverter.java │ │ │ ├── MongodbRawTypeMapper.java │ │ │ ├── MongodbSqlConverter.java │ │ │ └── MongodbSyncConverter.java │ │ │ ├── datasync │ │ │ ├── MongoClientConfFactory.java │ │ │ ├── MongoConverterFactory.java │ │ │ └── MongodbDataSyncConfig.java │ │ │ ├── sink │ │ │ ├── MongodbOutputFormat.java │ │ │ ├── MongodbOutputFormatBuilder.java │ │ │ └── MongodbSinkFactory.java │ │ │ ├── source │ │ │ ├── MongodbInputFormat.java │ │ │ ├── MongodbInputFormatBuilder.java │ │ │ ├── MongodbInputSplit.java │ │ │ └── MongodbSourceFactory.java │ │ │ └── table │ │ │ ├── MongodbDynamicTableFactory.java │ │ │ ├── MongodbDynamicTableSink.java │ │ │ ├── MongodbDynamicTableSource.java │ │ │ ├── lookup │ │ │ ├── MongoAllTableFunction.java │ │ │ └── MongoLruTableFunction.java │ │ │ └── options │ │ │ └── MongoClientOptions.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-mysql │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── mysql │ │ │ ├── converter │ │ │ ├── MysqlRawTypeConverter.java │ │ │ └── MysqlSqlConverter.java │ │ │ ├── dialect │ │ │ └── MysqlDialect.java │ │ │ ├── sink │ │ │ └── MysqlSinkFactory.java │ │ │ ├── source │ │ │ └── MysqlSourceFactory.java │ │ │ └── table │ │ │ └── MysqlDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-mysqlcdc │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── connector │ │ └── mysqlcdc │ │ ├── config │ │ └── MysqlCdcConfig.java │ │ ├── converter │ │ └── MysqlCdcRawTypeMapper.java │ │ └── source │ │ └── MysqlcdcSourceFactory.java ├── chunjun-connector-mysqld │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── connector │ │ └── mysqld │ │ ├── source │ │ └── MysqldSourceFactory.java │ │ └── utils │ │ └── MySqlDataSource.java ├── chunjun-connector-nebula │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── dtstack │ │ │ │ └── chunjun │ │ │ │ └── connector │ │ │ │ └── nebula │ │ │ │ ├── client │ │ │ │ ├── NebulaClientFactory.java │ │ │ │ ├── NebulaSession.java │ │ │ │ └── NebulaStorageClient.java │ │ │ │ ├── config │ │ │ │ ├── NebulaConfig.java │ │ │ │ ├── NebulaOptions.java │ │ │ │ └── NebulaSSLParam.java │ │ │ │ ├── converter │ │ │ │ └── NebulaSqlConverter.java │ │ │ │ ├── lookup │ │ │ │ ├── NebulaAllTableFunction.java │ │ │ │ ├── NebulaLruTableFunction.java │ │ │ │ └── ngql │ │ │ │ │ └── LookupNGQLBuilder.java │ │ │ │ ├── row │ │ │ │ ├── NebulaEdge.java │ │ │ │ ├── NebulaRows.java │ │ │ │ ├── NebulaTableRow.java │ │ │ │ └── NebulaVertex.java │ │ │ │ ├── sink │ │ │ │ ├── NebulaDynamicTableSink.java │ │ │ │ ├── NebulaOutputFormat.java │ │ │ │ └── NebulaOutputFormatBuilder.java │ │ │ │ ├── source │ │ │ │ ├── NebulaDynamicTableSource.java │ │ │ │ ├── NebulaInputFormat.java │ │ │ │ └── NebulaInputFormatBuilder.java │ │ │ │ ├── splitters │ │ │ │ ├── NebulaInputSplitter.java │ │ │ │ └── creator │ │ │ │ │ ├── BaseSplitResponsibility.java │ │ │ │ │ ├── EqualSplitCreator.java │ │ │ │ │ ├── SplitNumGTPartNumSplitCtreator.java │ │ │ │ │ └── SplitNumLTPartNumSplitCreator.java │ │ │ │ ├── table │ │ │ │ └── NebulaDynamicTableFactory.java │ │ │ │ └── utils │ │ │ │ ├── GraphUtil.java │ │ │ │ ├── NebulaConstant.java │ │ │ │ └── NebulaSchemaFamily.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.flink.table.factories.Factory │ │ └── test │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── connector │ │ └── nebula │ │ ├── lookup │ │ └── ngql │ │ │ └── LookupNGQLBuilderTest.java │ │ └── splitters │ │ └── creator │ │ └── BaseSplitResponsibilityTest.java ├── chunjun-connector-oceanbase │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── oceanbase │ │ │ ├── converter │ │ │ ├── OceanbaseRawTypeMapper.java │ │ │ └── OceanbaseSyncConverter.java │ │ │ ├── dialect │ │ │ └── OceanbaseDialect.java │ │ │ ├── sink │ │ │ └── OceanbaseSinkFactory.java │ │ │ ├── source │ │ │ └── OceanbaseSourceFactory.java │ │ │ └── table │ │ │ └── OceanbaseDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-oceanbasecdc │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── oceanbasecdc │ │ │ ├── config │ │ │ └── OceanBaseCdcConfig.java │ │ │ ├── converter │ │ │ ├── OceanBaseCdcRawTypeMapper.java │ │ │ ├── OceanBaseCdcSqlConverter.java │ │ │ └── OceanBaseCdcSyncConverter.java │ │ │ ├── entity │ │ │ └── OceanBaseCdcEventRow.java │ │ │ ├── format │ │ │ └── TimestampFormat.java │ │ │ ├── inputformat │ │ │ ├── OceanBaseCdcInputFormat.java │ │ │ └── OceanBaseCdcInputFormatBuilder.java │ │ │ ├── listener │ │ │ └── OceanBaseCdcListener.java │ │ │ ├── options │ │ │ └── OceanBaseCdcOptions.java │ │ │ ├── source │ │ │ ├── OceanBaseCdcDynamicTableSource.java │ │ │ └── OceanbasecdcSourceFactory.java │ │ │ └── table │ │ │ └── OceanBaseCdcDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-opengauss │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── opengauss │ │ │ ├── converter │ │ │ ├── OpengaussRawTypeMapper.java │ │ │ ├── OpengaussSyncConverter.java │ │ │ └── logical │ │ │ │ ├── BitType.java │ │ │ │ ├── BoolType.java │ │ │ │ ├── BpcharType.java │ │ │ │ ├── ByteaType.java │ │ │ │ ├── CharType.java │ │ │ │ ├── DateType.java │ │ │ │ ├── Float4Type.java │ │ │ │ ├── Float8Type.java │ │ │ │ ├── Int2Type.java │ │ │ │ ├── Int4Type.java │ │ │ │ ├── Int8Type.java │ │ │ │ ├── JsonType.java │ │ │ │ ├── JsonbType.java │ │ │ │ ├── MoneyType.java │ │ │ │ ├── NameType.java │ │ │ │ ├── NumericType.java │ │ │ │ ├── OidType.java │ │ │ │ ├── PgCustomType.java │ │ │ │ ├── PointType.java │ │ │ │ ├── TextType.java │ │ │ │ ├── TimeType.java │ │ │ │ ├── TimestampType.java │ │ │ │ ├── TimestampTzType.java │ │ │ │ ├── TimetzType.java │ │ │ │ ├── UuidType.java │ │ │ │ ├── VarbitType.java │ │ │ │ ├── VarcharType.java │ │ │ │ └── XmlType.java │ │ │ ├── dialect │ │ │ └── OpengaussDialect.java │ │ │ ├── sink │ │ │ ├── OpengaussOutputFormat.java │ │ │ └── OpengaussSinkFactory.java │ │ │ ├── source │ │ │ ├── OpengaussInputFormat.java │ │ │ └── OpengaussSourceFactory.java │ │ │ └── table │ │ │ └── OpengaussDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-oracle │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── dtstack │ │ │ │ └── chunjun │ │ │ │ └── connector │ │ │ │ └── oracle │ │ │ │ ├── converter │ │ │ │ ├── BlobType.java │ │ │ │ ├── ClobType.java │ │ │ │ ├── ConvertUtil.java │ │ │ │ ├── OracleRawTypeConverter.java │ │ │ │ ├── OracleSqlConverter.java │ │ │ │ └── OracleSyncConverter.java │ │ │ │ ├── dialect │ │ │ │ └── OracleDialect.java │ │ │ │ ├── sink │ │ │ │ └── OracleSinkFactory.java │ │ │ │ ├── source │ │ │ │ └── OracleSourceFactory.java │ │ │ │ ├── table │ │ │ │ └── OracleDynamicTableFactory.java │ │ │ │ └── util │ │ │ │ └── increment │ │ │ │ └── OracleTimestampTypeUtil.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.flink.table.factories.Factory │ │ └── test │ │ └── java │ │ └── OracleRawTypeMapperTest.java ├── chunjun-connector-oraclelogminer │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── oraclelogminer │ │ │ ├── config │ │ │ └── LogMinerConfig.java │ │ │ ├── converter │ │ │ ├── LogMinerColumnConverter.java │ │ │ ├── LogMinerRawTypeMapper.java │ │ │ └── OracleRawTypeMapper.java │ │ │ ├── entity │ │ │ ├── ColumnInfo.java │ │ │ ├── EventRow.java │ │ │ ├── EventRowData.java │ │ │ ├── OracleInfo.java │ │ │ ├── QueueData.java │ │ │ ├── RecordLog.java │ │ │ └── TableMetaData.java │ │ │ ├── format │ │ │ └── TimestampFormat.java │ │ │ ├── inputformat │ │ │ ├── OracleLogMinerInputFormat.java │ │ │ └── OracleLogMinerInputFormatBuilder.java │ │ │ ├── listener │ │ │ ├── LogFile.java │ │ │ ├── LogMinerConnection.java │ │ │ ├── LogMinerHelper.java │ │ │ ├── LogMinerListener.java │ │ │ ├── LogParser.java │ │ │ ├── PositionManager.java │ │ │ └── TransactionManager.java │ │ │ ├── options │ │ │ └── LogminerOptions.java │ │ │ ├── source │ │ │ ├── OraclelogminerDynamicTableSource.java │ │ │ └── OraclelogminerSourceFactory.java │ │ │ ├── table │ │ │ └── OraclelogminerDynamicTableFactory.java │ │ │ └── util │ │ │ ├── OraUtil.java │ │ │ └── SqlUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-postgresql │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── postgresql │ │ │ ├── converter │ │ │ ├── PostgresqlRawTypeMapper.java │ │ │ ├── PostgresqlSyncConverter.java │ │ │ └── logical │ │ │ │ ├── BitType.java │ │ │ │ ├── BoolType.java │ │ │ │ ├── BpcharType.java │ │ │ │ ├── ByteaType.java │ │ │ │ ├── CharType.java │ │ │ │ ├── DateType.java │ │ │ │ ├── Float4Type.java │ │ │ │ ├── Float8Type.java │ │ │ │ ├── Int2Type.java │ │ │ │ ├── Int4Type.java │ │ │ │ ├── Int8Type.java │ │ │ │ ├── JsonType.java │ │ │ │ ├── JsonbType.java │ │ │ │ ├── MoneyType.java │ │ │ │ ├── NameType.java │ │ │ │ ├── NumericType.java │ │ │ │ ├── OidType.java │ │ │ │ ├── PgCustomType.java │ │ │ │ ├── PointType.java │ │ │ │ ├── TextType.java │ │ │ │ ├── TimeType.java │ │ │ │ ├── TimestampType.java │ │ │ │ ├── TimestampTzType.java │ │ │ │ ├── TimetzType.java │ │ │ │ ├── UuidType.java │ │ │ │ ├── VarbitType.java │ │ │ │ ├── VarcharType.java │ │ │ │ └── XmlType.java │ │ │ ├── dialect │ │ │ └── PostgresqlDialect.java │ │ │ ├── sink │ │ │ ├── PostgresOutputFormat.java │ │ │ └── PostgresqlSinkFactory.java │ │ │ ├── source │ │ │ ├── PostgresqlInputFormat.java │ │ │ └── PostgresqlSourceFactory.java │ │ │ └── table │ │ │ └── PostgresqlDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-rabbitmq │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── rabbitmq │ │ │ ├── options │ │ │ └── RabbitmqOptions.java │ │ │ ├── source │ │ │ └── RabbitmqDynamicTableSource.java │ │ │ └── table │ │ │ └── RabbitmqDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-redis │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── redis │ │ │ ├── adapter │ │ │ ├── RedisDataModeAdapter.java │ │ │ └── RedisDataTypeAdapter.java │ │ │ ├── config │ │ │ └── RedisConfig.java │ │ │ ├── connection │ │ │ ├── RedisAsyncClient.java │ │ │ └── RedisSyncClient.java │ │ │ ├── converter │ │ │ ├── RedisRawTypeConverter.java │ │ │ ├── RedisSqlConverter.java │ │ │ └── RedisSyncConverter.java │ │ │ ├── enums │ │ │ ├── RedisConnectType.java │ │ │ ├── RedisDataMode.java │ │ │ └── RedisDataType.java │ │ │ ├── inputsplit │ │ │ └── RedisInputSplit.java │ │ │ ├── lookup │ │ │ ├── RedisAllTableFunction.java │ │ │ └── RedisLruTableFunction.java │ │ │ ├── options │ │ │ └── RedisOptions.java │ │ │ ├── sink │ │ │ ├── RedisDynamicTableSink.java │ │ │ ├── RedisOutputFormat.java │ │ │ ├── RedisOutputFormatBuilder.java │ │ │ └── RedisSinkFactory.java │ │ │ ├── source │ │ │ ├── RedisDynamicTableSource.java │ │ │ ├── RedisInputFormat.java │ │ │ ├── RedisInputFormatBuilder.java │ │ │ └── RedisSourceFactory.java │ │ │ ├── table │ │ │ └── RedisDynamicTableFactory.java │ │ │ └── util │ │ │ └── RedisUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-rocketmq │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── rocketmq │ │ │ ├── config │ │ │ └── RocketMQConfig.java │ │ │ ├── converter │ │ │ └── RocketMQSqlConverter.java │ │ │ ├── source │ │ │ ├── RocketMQScanTableSource.java │ │ │ ├── RocketMQSourceFunction.java │ │ │ ├── RunningChecker.java │ │ │ ├── deserialization │ │ │ │ ├── KeyValueDeserializationSchema.java │ │ │ │ └── RowKeyValueDeserializationSchema.java │ │ │ └── watermark │ │ │ │ ├── WaterMarkForAll.java │ │ │ │ └── WaterMarkPerQueue.java │ │ │ ├── table │ │ │ ├── RocketMQDynamicTableFactory.java │ │ │ └── RocketMQOptions.java │ │ │ └── utils │ │ │ ├── RetryUtil.java │ │ │ └── RocketMQUtils.java │ │ └── resources │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-s3 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── s3 │ │ │ ├── config │ │ │ └── S3Config.java │ │ │ ├── converter │ │ │ ├── S3RawTypeMapper.java │ │ │ ├── S3SqlConverter.java │ │ │ └── S3SyncConverter.java │ │ │ ├── enums │ │ │ └── CompressType.java │ │ │ ├── sink │ │ │ ├── MyPartETag.java │ │ │ ├── S3DynamicTableSink.java │ │ │ ├── S3OutputFormat.java │ │ │ ├── S3OutputFormatBuilder.java │ │ │ └── S3SinkFactory.java │ │ │ ├── source │ │ │ ├── S3DynamicTableSource.java │ │ │ ├── S3InputFormat.java │ │ │ ├── S3InputFormatBuilder.java │ │ │ ├── S3InputSplit.java │ │ │ └── S3SourceFactory.java │ │ │ ├── table │ │ │ ├── S3DynamicTableFactory.java │ │ │ └── options │ │ │ │ └── S3Options.java │ │ │ └── util │ │ │ ├── ReaderUtil.java │ │ │ ├── S3SimpleObject.java │ │ │ ├── S3Util.java │ │ │ └── WriterUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-saphana │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── dtstack │ │ │ │ └── chunjun │ │ │ │ └── connector │ │ │ │ └── saphana │ │ │ │ ├── converter │ │ │ │ ├── ClobType.java │ │ │ │ ├── SaphanaRawTypeMapper.java │ │ │ │ ├── SaphanaSqlConverter.java │ │ │ │ └── SaphanaSyncConverter.java │ │ │ │ ├── dialect │ │ │ │ └── SaphanaDialect.java │ │ │ │ ├── sink │ │ │ │ ├── SaphanaOutputFormat.java │ │ │ │ └── SaphanaSinkFactory.java │ │ │ │ ├── source │ │ │ │ ├── SaphanaInputFormat.java │ │ │ │ └── SaphanaSourceFactory.java │ │ │ │ └── table │ │ │ │ └── SaphanaDynamicTableFactory.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.flink.table.factories.Factory │ │ └── test │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── connector │ │ └── saphana │ │ └── SaphanaDialectTest.java ├── chunjun-connector-selectdb-cloud │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── selectdbcloud │ │ │ ├── common │ │ │ └── LoadConstants.java │ │ │ ├── converter │ │ │ └── SelectdbcloudRawTypeMapper.java │ │ │ ├── exception │ │ │ └── SelectdbcloudRuntimeException.java │ │ │ ├── options │ │ │ ├── SelectdbcloudConfig.java │ │ │ └── SelectdbcloudOptions.java │ │ │ ├── rest │ │ │ ├── SelectDBCloudStageLoad.java │ │ │ ├── http │ │ │ │ ├── HttpPostBuilder.java │ │ │ │ └── HttpPutBuilder.java │ │ │ └── model │ │ │ │ ├── BaseResponse.java │ │ │ │ └── CopyIntoResp.java │ │ │ ├── sink │ │ │ ├── CopySQLBuilder.java │ │ │ ├── SelectdbcloudDynamicTableSink.java │ │ │ ├── SelectdbcloudOutputFormat.java │ │ │ ├── SelectdbcloudOutputFormatBuilder.java │ │ │ ├── SelectdbcloudSinkFactory.java │ │ │ └── SeletdbcloudWriter.java │ │ │ └── table │ │ │ └── SelectdbcloudDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-socket │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── socket │ │ │ ├── client │ │ │ ├── DtClientHandler.java │ │ │ └── DtSocketClient.java │ │ │ ├── converter │ │ │ └── SocketSqlConverter.java │ │ │ ├── entity │ │ │ └── SocketConfig.java │ │ │ ├── inputformat │ │ │ ├── SocketInputFormat.java │ │ │ └── SocketInputFormatBuilder.java │ │ │ ├── options │ │ │ └── SocketOptions.java │ │ │ ├── source │ │ │ ├── SocketDynamicTableSource.java │ │ │ └── SocketSourceFactory.java │ │ │ └── table │ │ │ └── SocketDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-solr │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── solr │ │ │ ├── SolrConfig.java │ │ │ ├── SolrConverterFactory.java │ │ │ ├── client │ │ │ ├── ChunJunKrb5HttpClientBuilder.java │ │ │ └── CloudSolrClientKerberosWrapper.java │ │ │ ├── converter │ │ │ ├── ClobType.java │ │ │ ├── SolrRawTypeMapper.java │ │ │ ├── SolrSerializationConverter.java │ │ │ ├── SolrSqlConverter.java │ │ │ └── SolrSyncConverter.java │ │ │ ├── sink │ │ │ ├── SolrOutputFormat.java │ │ │ ├── SolrOutputFormatBuilder.java │ │ │ └── SolrSinkFactory.java │ │ │ ├── source │ │ │ ├── SolrInputFormat.java │ │ │ ├── SolrInputFormatBuilder.java │ │ │ └── SolrSourceFactory.java │ │ │ └── table │ │ │ ├── SolrClientOptions.java │ │ │ ├── SolrDynamicTableFactory.java │ │ │ └── SolrDynamicTableSink.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-sqlserver │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── sqlserver │ │ │ ├── converter │ │ │ ├── SqlserverJtdsRawTypeMapper.java │ │ │ ├── SqlserverJtdsSyncConverter.java │ │ │ ├── SqlserverMicroSoftRawTypeMapper.java │ │ │ ├── SqlserverMicroSoftSqlConverter.java │ │ │ ├── SqlserverMicroSoftSyncConverter.java │ │ │ └── TimestampType.java │ │ │ ├── dialect │ │ │ └── SqlserverDialect.java │ │ │ ├── sink │ │ │ ├── SqlserverOutputFormat.java │ │ │ └── SqlserverSinkFactory.java │ │ │ ├── source │ │ │ ├── SqlserverInputFormat.java │ │ │ └── SqlserverSourceFactory.java │ │ │ ├── table │ │ │ └── SqlserverDynamicTableFactory.java │ │ │ └── util │ │ │ ├── SqlUtil.java │ │ │ └── increment │ │ │ └── SqlserverTimestampTypeUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-sqlservercdc │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── sqlservercdc │ │ │ ├── config │ │ │ └── SqlServerCdcConfig.java │ │ │ ├── convert │ │ │ ├── SqlServerCdcRawTypeMapper.java │ │ │ ├── SqlServerCdcSqlConverter.java │ │ │ └── SqlServerCdcSyncConverter.java │ │ │ ├── entity │ │ │ ├── ChangeTable.java │ │ │ ├── ChangeTablePointer.java │ │ │ ├── Lsn.java │ │ │ ├── SqlServerCdcEnum.java │ │ │ ├── SqlServerCdcEventRow.java │ │ │ ├── TableId.java │ │ │ └── TxLogPosition.java │ │ │ ├── format │ │ │ └── TimestampFormat.java │ │ │ ├── inputFormat │ │ │ ├── SqlServerCdcInputFormat.java │ │ │ └── SqlServerCdcInputFormatBuilder.java │ │ │ ├── listener │ │ │ └── SqlServerCdcListener.java │ │ │ ├── options │ │ │ └── SqlServerCdcOptions.java │ │ │ ├── source │ │ │ ├── SqlServerCdcDynamicTableSource.java │ │ │ └── SqlservercdcSourceFactory.java │ │ │ ├── table │ │ │ └── SqlservercdcDynamicTableFactory.java │ │ │ └── util │ │ │ └── SqlServerCdcUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-starrocks │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── starrocks │ │ │ ├── config │ │ │ ├── LoadConfig.java │ │ │ └── StarRocksConfig.java │ │ │ ├── connection │ │ │ ├── StarRocksJdbcConnectionIProvider.java │ │ │ ├── StarRocksJdbcConnectionOptions.java │ │ │ └── StarRocksJdbcConnectionProvider.java │ │ │ ├── converter │ │ │ ├── StarRocksRawTypeMapper.java │ │ │ ├── StarRocksSqlConverter.java │ │ │ └── StarRocksSyncConverter.java │ │ │ ├── options │ │ │ ├── ConstantValue.java │ │ │ ├── StarRocksCommonOptions.java │ │ │ ├── StarRocksSinkOptions.java │ │ │ ├── StarRocksSourceOptions.java │ │ │ └── StreamLoadOptions.java │ │ │ ├── sink │ │ │ ├── MappedWriteProcessor.java │ │ │ ├── NormalWriteProcessor.java │ │ │ ├── StarRocksDynamicTableSink.java │ │ │ ├── StarRocksOutputFormat.java │ │ │ ├── StarRocksOutputFormatBuilder.java │ │ │ ├── StarRocksSinkFactory.java │ │ │ └── StarRocksWriteProcessor.java │ │ │ ├── source │ │ │ ├── StarRocksAllTableFunction.java │ │ │ ├── StarRocksDynamicTableSource.java │ │ │ ├── StarRocksInputFormat.java │ │ │ ├── StarRocksInputFormatBuilder.java │ │ │ ├── StarRocksInputSplit.java │ │ │ ├── StarRocksLruTableFunction.java │ │ │ ├── StarRocksSourceFactory.java │ │ │ └── be │ │ │ │ ├── StarRocksArrowReader.java │ │ │ │ ├── StarRocksQueryPlanVisitor.java │ │ │ │ ├── StarRocksSourceBeReader.java │ │ │ │ ├── StarRocksToJavaTrans.java │ │ │ │ └── entity │ │ │ │ ├── ColumnInfo.java │ │ │ │ ├── QueryBeXTablets.java │ │ │ │ ├── QueryInfo.java │ │ │ │ ├── QueryPlan.java │ │ │ │ └── Tablet.java │ │ │ ├── streamload │ │ │ ├── StarRocksQueryVisitor.java │ │ │ ├── StarRocksSinkBufferEntity.java │ │ │ ├── StarRocksSinkOP.java │ │ │ ├── StarRocksStreamLoadFailedException.java │ │ │ ├── StarRocksStreamLoadVisitor.java │ │ │ └── StreamLoadManager.java │ │ │ ├── table │ │ │ └── StarRocksDynamicTableFactory.java │ │ │ └── util │ │ │ └── StarRocksUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-stream │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── stream │ │ │ ├── config │ │ │ └── StreamConfig.java │ │ │ ├── converter │ │ │ ├── StreamRawTypeConverter.java │ │ │ ├── StreamSqlConverter.java │ │ │ └── StreamSyncConverter.java │ │ │ ├── lookup │ │ │ └── StreamLookupFunction.java │ │ │ ├── options │ │ │ └── StreamOptions.java │ │ │ ├── sink │ │ │ ├── StreamOutputFormat.java │ │ │ ├── StreamOutputFormatBuilder.java │ │ │ └── StreamSinkFactory.java │ │ │ ├── source │ │ │ ├── StreamInputFormat.java │ │ │ ├── StreamInputFormatBuilder.java │ │ │ └── StreamSourceFactory.java │ │ │ ├── table │ │ │ ├── StreamDynamicTableFactory.java │ │ │ ├── StreamDynamicTableSink.java │ │ │ └── StreamDynamicTableSource.java │ │ │ └── util │ │ │ ├── StreamConfigUtil.java │ │ │ └── TablePrintUtil.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-sybase │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── sybase │ │ │ ├── converter │ │ │ ├── SybaseRawTypeMapper.java │ │ │ └── SybaseSyncConverter.java │ │ │ ├── dialect │ │ │ └── SybaseDialect.java │ │ │ ├── source │ │ │ └── SybaseSourceFactory.java │ │ │ └── table │ │ │ └── SybaseDynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory ├── chunjun-connector-vertica11 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── connector │ │ │ └── vertica11 │ │ │ ├── config │ │ │ └── Vertica11LookupConfig.java │ │ │ ├── converter │ │ │ ├── Vertica11RawTypeConverter.java │ │ │ ├── Vertica11SqlConverter.java │ │ │ └── Vertica11SyncConverter.java │ │ │ ├── dialect │ │ │ └── Vertica11Dialect.java │ │ │ ├── lookup │ │ │ ├── Vertica11LruTableFunction.java │ │ │ ├── options │ │ │ │ └── Vertica11LookupOptions.java │ │ │ └── provider │ │ │ │ └── Vertica11DataSourceProvider.java │ │ │ ├── sink │ │ │ ├── Vertica11OutputFormat.java │ │ │ └── Vertica11SinkFactory.java │ │ │ ├── source │ │ │ └── Vertica11DynamicTableSource.java │ │ │ └── table │ │ │ └── Vertica11DynamicTableFactory.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.flink.table.factories.Factory └── pom.xml ├── chunjun-core ├── .gitignore ├── pom.xml └── src │ ├── main │ └── java │ │ ├── com │ │ └── dtstack │ │ │ └── chunjun │ │ │ ├── Main.java │ │ │ ├── annotation │ │ │ └── NotNull.java │ │ │ ├── cdc │ │ │ ├── CdcConfig.java │ │ │ ├── DdlRowData.java │ │ │ ├── DdlRowDataBuilder.java │ │ │ ├── EventType.java │ │ │ ├── QueuesChamberlain.java │ │ │ ├── RestorationFlatMap.java │ │ │ ├── WrapCollector.java │ │ │ ├── cache │ │ │ │ ├── Cache.java │ │ │ │ └── LockedBlockingQueue.java │ │ │ ├── config │ │ │ │ ├── CacheConfig.java │ │ │ │ └── DDLConfig.java │ │ │ ├── ddl │ │ │ │ ├── ColumnType.java │ │ │ │ ├── ColumnTypeConvert.java │ │ │ │ ├── CommonColumnTypeEnum.java │ │ │ │ ├── CustomColumnType.java │ │ │ │ ├── DdlConvent.java │ │ │ │ ├── DdlRowDataConvented.java │ │ │ │ └── definition │ │ │ │ │ ├── ColumnDefinition.java │ │ │ │ │ ├── ColumnOperator.java │ │ │ │ │ ├── ColumnTypeDesc.java │ │ │ │ │ ├── ConstraintDefinition.java │ │ │ │ │ ├── ConstraintOperator.java │ │ │ │ │ ├── DataBaseOperator.java │ │ │ │ │ ├── DataSourceFunction.java │ │ │ │ │ ├── DdlOperator.java │ │ │ │ │ ├── ForeignKeyDefinition.java │ │ │ │ │ ├── IndexDefinition.java │ │ │ │ │ ├── IndexOperator.java │ │ │ │ │ ├── IndexType.java │ │ │ │ │ ├── TableDefinition.java │ │ │ │ │ ├── TableIdentifier.java │ │ │ │ │ └── TableOperator.java │ │ │ ├── exception │ │ │ │ └── LogExceptionHandler.java │ │ │ ├── handler │ │ │ │ ├── CacheHandler.java │ │ │ │ └── DDLHandler.java │ │ │ ├── utils │ │ │ │ └── ExecutorUtils.java │ │ │ └── worker │ │ │ │ ├── Chunk.java │ │ │ │ ├── ChunkSplitter.java │ │ │ │ ├── Worker.java │ │ │ │ ├── WorkerManager.java │ │ │ │ └── WorkerOverseer.java │ │ │ ├── classloader │ │ │ ├── ClassLoaderManager.java │ │ │ ├── ClassLoaderSupplier.java │ │ │ └── ClassLoaderSupplierCallBack.java │ │ │ ├── config │ │ │ ├── BaseFileConfig.java │ │ │ ├── CommonConfig.java │ │ │ ├── ContentConfig.java │ │ │ ├── FieldConfig.java │ │ │ ├── JobConfig.java │ │ │ ├── MetricParam.java │ │ │ ├── MetricPluginConfig.java │ │ │ ├── OperatorConfig.java │ │ │ ├── RestartConfig.java │ │ │ ├── RestoreConfig.java │ │ │ ├── SettingConfig.java │ │ │ ├── SpeedConfig.java │ │ │ ├── SyncConfig.java │ │ │ ├── TableConfig.java │ │ │ ├── TransformerConfig.java │ │ │ └── TypeConfig.java │ │ │ ├── constants │ │ │ ├── CDCConstantValue.java │ │ │ ├── ConfigConstant.java │ │ │ ├── ConstantValue.java │ │ │ └── Metrics.java │ │ │ ├── converter │ │ │ ├── AbstractCDCRawTypeMapper.java │ │ │ ├── AbstractRowConverter.java │ │ │ ├── IDeserializationConverter.java │ │ │ ├── ISerializationConverter.java │ │ │ ├── RawTypeConvertible.java │ │ │ └── RawTypeMapper.java │ │ │ ├── decoder │ │ │ ├── DecodeEnum.java │ │ │ ├── IDecode.java │ │ │ ├── JsonDecoder.java │ │ │ ├── TextDecoder.java │ │ │ └── ValueDecoder.java │ │ │ ├── dirty │ │ │ ├── DirtyConfig.java │ │ │ ├── consumer │ │ │ │ ├── DefaultDirtyDataCollector.java │ │ │ │ └── DirtyDataCollector.java │ │ │ ├── impl │ │ │ │ └── DirtyDataEntry.java │ │ │ ├── manager │ │ │ │ └── DirtyManager.java │ │ │ └── utils │ │ │ │ ├── DirtyConfUtil.java │ │ │ │ ├── LogUtil.java │ │ │ │ └── TablePrintUtil.java │ │ │ ├── element │ │ │ ├── AbstractBaseColumn.java │ │ │ ├── ClassSizeUtil.java │ │ │ ├── ColumnRowData.java │ │ │ ├── ErrorMsgRowData.java │ │ │ └── column │ │ │ │ ├── ArrayColumn.java │ │ │ │ ├── BaseMapColumn.java │ │ │ │ ├── BigDecimalColumn.java │ │ │ │ ├── BooleanColumn.java │ │ │ │ ├── ByteColumn.java │ │ │ │ ├── BytesColumn.java │ │ │ │ ├── DayTimeColumn.java │ │ │ │ ├── DoubleColumn.java │ │ │ │ ├── FloatColumn.java │ │ │ │ ├── IntColumn.java │ │ │ │ ├── LongColumn.java │ │ │ │ ├── MapColumn.java │ │ │ │ ├── NullColumn.java │ │ │ │ ├── NumericColumn.java │ │ │ │ ├── ShortColumn.java │ │ │ │ ├── SqlArrayColumn.java │ │ │ │ ├── SqlDateColumn.java │ │ │ │ ├── StringColumn.java │ │ │ │ ├── TimeColumn.java │ │ │ │ ├── TimestampColumn.java │ │ │ │ ├── YearMonthColumn.java │ │ │ │ └── ZonedTimestampColumn.java │ │ │ ├── enums │ │ │ ├── CacheType.java │ │ │ ├── ClusterMode.java │ │ │ ├── ColumnType.java │ │ │ ├── ECacheContentType.java │ │ │ ├── EJobType.java │ │ │ ├── EPluginLoadMode.java │ │ │ ├── EStateBackend.java │ │ │ ├── EWriteMode.java │ │ │ ├── OperationType.java │ │ │ ├── OperatorType.java │ │ │ ├── Semantic.java │ │ │ └── SizeUnitType.java │ │ │ ├── environment │ │ │ ├── EnvFactory.java │ │ │ └── MyLocalStreamEnvironment.java │ │ │ ├── factory │ │ │ └── ChunJunThreadFactory.java │ │ │ ├── lookup │ │ │ ├── AbstractAllTableFunction.java │ │ │ ├── AbstractLruTableFunction.java │ │ │ ├── cache │ │ │ │ ├── AbstractSideCache.java │ │ │ │ ├── CacheMissVal.java │ │ │ │ ├── CacheObj.java │ │ │ │ └── LRUCache.java │ │ │ ├── config │ │ │ │ ├── LookupConfig.java │ │ │ │ └── LookupConfigFactory.java │ │ │ └── options │ │ │ │ └── LookupOptions.java │ │ │ ├── mapping │ │ │ ├── Casing.java │ │ │ ├── Mapping.java │ │ │ ├── MappingConfig.java │ │ │ ├── MappingRule.java │ │ │ ├── NameMapping.java │ │ │ └── NameMappingFlatMap.java │ │ │ ├── metrics │ │ │ ├── AccumulatorCollector.java │ │ │ ├── BaseMetric.java │ │ │ ├── BigIntegerAccumulator.java │ │ │ ├── CustomReporter.java │ │ │ ├── RowSizeCalculator.java │ │ │ ├── SimpleAccumulatorGauge.java │ │ │ ├── SimpleLongCounterMeterView.java │ │ │ ├── StringAccumulator.java │ │ │ └── ValueAccumulator.java │ │ │ ├── options │ │ │ ├── OptionParser.java │ │ │ ├── OptionRequired.java │ │ │ └── Options.java │ │ │ ├── restore │ │ │ └── FormatState.java │ │ │ ├── security │ │ │ ├── KerberosConfig.java │ │ │ ├── KerberosOptions.java │ │ │ ├── KerberosUtil.java │ │ │ ├── SSLUtil.java │ │ │ ├── SftpHandler.java │ │ │ └── SslOptions.java │ │ │ ├── sink │ │ │ ├── DtOutputFormatSinkFunction.java │ │ │ ├── SinkFactory.java │ │ │ ├── WriteMode.java │ │ │ └── format │ │ │ │ ├── BaseFileOutputFormat.java │ │ │ │ ├── BaseRichOutputFormat.java │ │ │ │ ├── BaseRichOutputFormatBuilder.java │ │ │ │ └── FileOutputFormatBuilder.java │ │ │ ├── source │ │ │ ├── ByteRateLimiter.java │ │ │ ├── DtInputFormatSourceFunction.java │ │ │ ├── SourceFactory.java │ │ │ ├── format │ │ │ │ ├── BaseRichInputFormat.java │ │ │ │ ├── BaseRichInputFormatBuilder.java │ │ │ │ └── ErrorInputSplit.java │ │ │ └── options │ │ │ │ └── SourceOptions.java │ │ │ ├── sql │ │ │ ├── FunctionManager.java │ │ │ └── parser │ │ │ │ ├── AbstractStmtParser.java │ │ │ │ ├── CreateFunctionStmtParser.java │ │ │ │ ├── InsertStmtParser.java │ │ │ │ ├── SetStmtParser.java │ │ │ │ ├── SqlParser.java │ │ │ │ └── UploadFileStmtParser.java │ │ │ ├── table │ │ │ ├── connector │ │ │ │ └── source │ │ │ │ │ ├── ParallelAsyncLookupFunctionProvider.java │ │ │ │ │ ├── ParallelLookupFunctionProvider.java │ │ │ │ │ └── ParallelSourceFunctionProvider.java │ │ │ └── options │ │ │ │ ├── BaseFileOptions.java │ │ │ │ └── SinkOptions.java │ │ │ ├── throwable │ │ │ ├── CastException.java │ │ │ ├── ChunJunException.java │ │ │ ├── ChunJunRuntimeException.java │ │ │ ├── ChunJunSqlParseException.java │ │ │ ├── ConventException.java │ │ │ ├── JobConfigException.java │ │ │ ├── NoRestartException.java │ │ │ ├── ReadRecordException.java │ │ │ ├── UnsupportedTypeException.java │ │ │ └── WriteRecordException.java │ │ │ ├── typeutil │ │ │ ├── ColumnRowDataTypeInfo.java │ │ │ └── serializer │ │ │ │ ├── AbstractColumnSerializerUtil.java │ │ │ │ ├── ColumnRowDataSerializer.java │ │ │ │ └── base │ │ │ │ ├── ArrayColumnSerializer.java │ │ │ │ ├── BaseMapColumnSerializer.java │ │ │ │ ├── BooleanColumnSerializer.java │ │ │ │ ├── ByteColumnSerializer.java │ │ │ │ ├── BytesColumnSerializer.java │ │ │ │ ├── DayTimeColumnSerializer.java │ │ │ │ ├── DecimalColumnSerializer.java │ │ │ │ ├── DoubleColumnSerializer.java │ │ │ │ ├── FloatColumnSerializer.java │ │ │ │ ├── IntColumnSerializer.java │ │ │ │ ├── LongColumnSerializer.java │ │ │ │ ├── MapColumnSerializer.java │ │ │ │ ├── NullColumnSerializer.java │ │ │ │ ├── ShortColumnSerializer.java │ │ │ │ ├── SqlDateColumnSerializer.java │ │ │ │ ├── StringColumnSerializer.java │ │ │ │ ├── TimeColumnSerializer.java │ │ │ │ ├── TimestampColumnSerializer.java │ │ │ │ ├── YearMonthColumnSerializer.java │ │ │ │ └── ZonedTimestampColumnSerializer.java │ │ │ └── util │ │ │ ├── ClassUtil.java │ │ │ ├── Clock.java │ │ │ ├── ColumnBuildUtil.java │ │ │ ├── ColumnTypeUtil.java │ │ │ ├── ConnectorNameConvertUtil.java │ │ │ ├── DataSyncFactoryUtil.java │ │ │ ├── DateUtil.java │ │ │ ├── DdlConventNameConvertUtil.java │ │ │ ├── ExceptionUtil.java │ │ │ ├── ExecuteProcessHelper.java │ │ │ ├── ExternalDataUtil.java │ │ │ ├── FactoryHelper.java │ │ │ ├── FileSystemUtil.java │ │ │ ├── GsonUtil.java │ │ │ ├── JobUtil.java │ │ │ ├── JsonUtil.java │ │ │ ├── MapUtil.java │ │ │ ├── Md5Util.java │ │ │ ├── Metronome.java │ │ │ ├── PluginUtil.java │ │ │ ├── PrintUtil.java │ │ │ ├── PropertiesUtil.java │ │ │ ├── PwdUtil.java │ │ │ ├── RangeSplitUtil.java │ │ │ ├── RealTimeDataSourceNameUtil.java │ │ │ ├── ReflectionUtils.java │ │ │ ├── RetryUtil.java │ │ │ ├── SnowflakeIdWorker.java │ │ │ ├── Splitter.java │ │ │ ├── StringUtil.java │ │ │ ├── TableUtil.java │ │ │ ├── TelnetUtil.java │ │ │ ├── ThreadUtil.java │ │ │ ├── TypeConfigUtil.java │ │ │ └── ValueUtil.java │ │ └── org │ │ └── apache │ │ └── flink │ │ ├── streaming │ │ └── api │ │ │ └── graph │ │ │ └── StreamGraph.java │ │ └── table │ │ └── factories │ │ └── FactoryUtil.java │ └── test │ ├── java │ ├── com │ │ └── dtstack │ │ │ └── chunjun │ │ │ ├── classloader │ │ │ └── ClassLoaderManagerTest.java │ │ │ ├── config │ │ │ ├── BaseFileConfigTest.java │ │ │ ├── CommonConfigTest.java │ │ │ ├── ContentConfigTest.java │ │ │ ├── FieldConfigTest.java │ │ │ ├── JobConfigBuilder.java │ │ │ ├── JobConfigTest.java │ │ │ ├── MetricParamTest.java │ │ │ ├── MetricPluginConfigTest.java │ │ │ ├── OperatorConfigTest.java │ │ │ ├── RestoreConfigTest.java │ │ │ ├── SettingConfigBuilder.java │ │ │ ├── SettingConfigTest.java │ │ │ ├── SpeedConfigTest.java │ │ │ ├── SyncConfigBuilder.java │ │ │ ├── SyncConfigTest.java │ │ │ ├── TableConfigTest.java │ │ │ └── TransformerConfigTest.java │ │ │ ├── converter │ │ │ ├── AbstractCDCRawTypeMapperTest.java │ │ │ └── AbstractRowConverterTest.java │ │ │ ├── decoder │ │ │ ├── JsonDecoderTest.java │ │ │ ├── TextDecoderTest.java │ │ │ └── ValueDecoderTest.java │ │ │ ├── dirty │ │ │ ├── DirtyConfigTest.java │ │ │ ├── consumer │ │ │ │ └── DirtyDataCollectorTest.java │ │ │ ├── impl │ │ │ │ └── DirtyDataEntryTest.java │ │ │ ├── mock │ │ │ │ └── MockDirtyDataCollector.java │ │ │ └── utils │ │ │ │ ├── DirtyConfigUtilTest.java │ │ │ │ └── LogUtilTest.java │ │ │ ├── element │ │ │ ├── ClassSizeUtilTest.java │ │ │ ├── ColumnRowDataTest.java │ │ │ ├── ErrorMsgRowDataTest.java │ │ │ └── column │ │ │ │ ├── BigDecimalColumnTest.java │ │ │ │ ├── BooleanColumnTest.java │ │ │ │ ├── ByteColumnTest.java │ │ │ │ ├── BytesColumnTest.java │ │ │ │ ├── MapColumnTest.java │ │ │ │ ├── NullColumnTest.java │ │ │ │ ├── SqlDateColumnTest.java │ │ │ │ ├── StringColumnTest.java │ │ │ │ ├── TimeColumnTest.java │ │ │ │ └── TimestampColumnTest.java │ │ │ ├── enums │ │ │ ├── CacheTypeTest.java │ │ │ ├── ColumnTypeTest.java │ │ │ ├── ECacheContentTypeTest.java │ │ │ ├── EJobTypeTest.java │ │ │ ├── EStateBackendTest.java │ │ │ ├── SemanticTest.java │ │ │ └── SizeUnitTypeTest.java │ │ │ ├── environment │ │ │ └── EnvFactoryTest.java │ │ │ ├── factory │ │ │ └── ChunJunThreadFactoryTest.java │ │ │ ├── lookup │ │ │ ├── AbstractLruTableFunctionTest.java │ │ │ └── MockLruTableFunction.java │ │ │ ├── metrics │ │ │ ├── AccumulatorCollectorTest.java │ │ │ ├── BaseMetricTest.java │ │ │ ├── BigIntegerAccmulatorTest.java │ │ │ ├── ReporterTest.java │ │ │ ├── StringAccumulatorTest.java │ │ │ └── mock │ │ │ │ └── MockReport.java │ │ │ ├── options │ │ │ └── OptionParserTest.java │ │ │ ├── security │ │ │ ├── KerberosConfigTest.java │ │ │ ├── KerberosUtilTest.java │ │ │ └── SSLUtilTest.java │ │ │ ├── sink │ │ │ ├── MockSinkFactory.java │ │ │ ├── SinkFactoryTest.java │ │ │ └── format │ │ │ │ ├── BaseRichOutputFormatBuilderTest.java │ │ │ │ ├── BaseRichOutputFormatTest.java │ │ │ │ ├── MockBaseRichOutputFormat.java │ │ │ │ └── MockBaseRichOutputFormatBuilder.java │ │ │ ├── source │ │ │ ├── DtInputFormatSourceFunctionTest.java │ │ │ ├── MockSourceFactory.java │ │ │ ├── MockTypeInfo.java │ │ │ ├── SourceFactoryTest.java │ │ │ └── format │ │ │ │ ├── BaseRichInputFormatBuilderTest.java │ │ │ │ ├── BaseRichInputFormatTest.java │ │ │ │ ├── MockInputFormat.java │ │ │ │ ├── MockInputFormatBuilder.java │ │ │ │ ├── MockRowConverter.java │ │ │ │ └── MockSplit.java │ │ │ ├── typeutil │ │ │ ├── ColumnRowDataTypeInfoTest.java │ │ │ ├── CustomEqualityMatcher.java │ │ │ ├── SerializerTestBase.java │ │ │ └── serializer │ │ │ │ ├── CustomEqualityMatcher.java │ │ │ │ ├── DeeplyEqualsChecker.java │ │ │ │ ├── SerializerTestBase.java │ │ │ │ └── base │ │ │ │ ├── BooleanColumnSerializerTest.java │ │ │ │ ├── ByteColumnSerializerTest.java │ │ │ │ ├── BytesColumnSerializerTest.java │ │ │ │ ├── DecimalColumnSerializerTest.java │ │ │ │ ├── DoubleColumnSerializerTest.java │ │ │ │ ├── FloatColumnSerializerTest.java │ │ │ │ ├── IntColumnSerializerTest.java │ │ │ │ ├── LongColumnSerializerTest.java │ │ │ │ ├── MapColumnSerializerTest.java │ │ │ │ ├── NullColumnSerializerTest.java │ │ │ │ ├── ShortColumnSerializerTest.java │ │ │ │ ├── SqlDateColumnSerializerTest.java │ │ │ │ ├── StringColumnSerializerTest.java │ │ │ │ ├── TimeColumnSerializerTest.java │ │ │ │ └── TimestampColumnSerializerTest.java │ │ │ └── util │ │ │ ├── ClassUtilTest.java │ │ │ ├── ColumnBuildUtilTest.java │ │ │ ├── ColumnTypeUtilTest.java │ │ │ ├── DateUtilTest.java │ │ │ ├── ExceptionUtilTest.java │ │ │ ├── MapUtilTest.java │ │ │ ├── Md5UtilTest.java │ │ │ ├── PluginUtilTest.java │ │ │ ├── PwdUtilTest.java │ │ │ ├── SnowflakeIdWorkerTest.java │ │ │ ├── SplitterTest.java │ │ │ ├── StringUtilTest.java │ │ │ ├── TableUtilTest.java │ │ │ ├── TelnetUtilTest.java │ │ │ ├── TestClassUtil.java │ │ │ ├── UnicodeToStringTest.java │ │ │ ├── UnitConvertTest.java │ │ │ └── ValueUtilTest.java │ └── org │ │ └── apache │ │ └── flink │ │ └── runtime │ │ └── operators │ │ └── testutils │ │ └── MockEnvironmentBuilder.java │ └── resources │ └── test_3.sql ├── chunjun-ddl ├── chunjun-ddl-base │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── ddl │ │ └── parse │ │ ├── SqlTableOption.java │ │ ├── type │ │ ├── SqlCustomTypeNameSpec.java │ │ ├── SqlNumberTypeNameSpec.java │ │ ├── SqlSuffixTypeNameSpec.java │ │ └── SqlTypeConvertedNameSpec.java │ │ └── util │ │ ├── SqlNodeUtil.java │ │ └── SqlOperatorUtil.java ├── chunjun-ddl-mysql │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── codegen │ │ │ ├── config.fmpp │ │ │ └── includes │ │ │ │ ├── parserImpls.ftl │ │ │ │ ├── textParseUtil.ftl │ │ │ │ └── typeParse.ftl │ │ └── java │ │ │ ├── com │ │ │ └── dtstack │ │ │ │ └── chunjun │ │ │ │ └── ddl │ │ │ │ └── convent │ │ │ │ └── mysql │ │ │ │ ├── MysqlDdlConventImpl.java │ │ │ │ ├── MysqlTypeConvert.java │ │ │ │ ├── OperatorConvent.java │ │ │ │ ├── OperatorConventImpl.java │ │ │ │ ├── SqlNodeConventVisitor.java │ │ │ │ ├── SqlNodeParse.java │ │ │ │ ├── SqlNodeParseImpl.java │ │ │ │ ├── SqlNodeReplaceVisitor.java │ │ │ │ ├── parse │ │ │ │ ├── KeyPart.java │ │ │ │ ├── MysqlSqlTableOption.java │ │ │ │ ├── ReferenceDefinition.java │ │ │ │ ├── SqlAlterDataBase.java │ │ │ │ ├── SqlAlterEvent.java │ │ │ │ ├── SqlAlterFunction.java │ │ │ │ ├── SqlAlterInstance.java │ │ │ │ ├── SqlAlterLogFileGroup.java │ │ │ │ ├── SqlAlterProcedure.java │ │ │ │ ├── SqlAlterServer.java │ │ │ │ ├── SqlAlterTable.java │ │ │ │ ├── SqlAlterTableAbleKeys.java │ │ │ │ ├── SqlAlterTableAddColumn.java │ │ │ │ ├── SqlAlterTableAddConstraint.java │ │ │ │ ├── SqlAlterTableAddIndex.java │ │ │ │ ├── SqlAlterTableAlgorithm.java │ │ │ │ ├── SqlAlterTableAlterColumn.java │ │ │ │ ├── SqlAlterTableChangeColumn.java │ │ │ │ ├── SqlAlterTableCharacterAndCollate.java │ │ │ │ ├── SqlAlterTableComment.java │ │ │ │ ├── SqlAlterTableConstraint.java │ │ │ │ ├── SqlAlterTableDrop.java │ │ │ │ ├── SqlAlterTableForce.java │ │ │ │ ├── SqlAlterTableIndex.java │ │ │ │ ├── SqlAlterTableLock.java │ │ │ │ ├── SqlAlterTableOperator.java │ │ │ │ ├── SqlAlterTableOptions.java │ │ │ │ ├── SqlAlterTableOrderBy.java │ │ │ │ ├── SqlAlterTableRename.java │ │ │ │ ├── SqlAlterTableSpace.java │ │ │ │ ├── SqlAlterTableValidation.java │ │ │ │ ├── SqlCheckConstraint.java │ │ │ │ ├── SqlCreateDataBase.java │ │ │ │ ├── SqlCreateIndex.java │ │ │ │ ├── SqlCreateTable.java │ │ │ │ ├── SqlDataBaseOption.java │ │ │ │ ├── SqlDropDataBase.java │ │ │ │ ├── SqlDropEvent.java │ │ │ │ ├── SqlDropFunction.java │ │ │ │ ├── SqlDropIndex.java │ │ │ │ ├── SqlDropLogfileGroup.java │ │ │ │ ├── SqlDropProcedure.java │ │ │ │ ├── SqlDropSchema.java │ │ │ │ ├── SqlDropServer.java │ │ │ │ ├── SqlDropSpatialSystem.java │ │ │ │ ├── SqlDropTable.java │ │ │ │ ├── SqlDropTableSpace.java │ │ │ │ ├── SqlDropTrigger.java │ │ │ │ ├── SqlDropView.java │ │ │ │ ├── SqlGeneralColumn.java │ │ │ │ ├── SqlIndex.java │ │ │ │ ├── SqlIndexOption.java │ │ │ │ ├── SqlIndexType.java │ │ │ │ ├── SqlKey.java │ │ │ │ ├── SqlMysqlConstraintEnable.java │ │ │ │ ├── SqlProcedureCharacteristic.java │ │ │ │ ├── SqlRenameTable.java │ │ │ │ ├── SqlRenameTableSingleton.java │ │ │ │ ├── SqlServerOption.java │ │ │ │ ├── SqlTableConstraint.java │ │ │ │ ├── SqlTableSpace.java │ │ │ │ ├── SqlTruncateTable.java │ │ │ │ ├── TableCreationContext.java │ │ │ │ ├── enums │ │ │ │ │ ├── AlterInstanceActionEnum.java │ │ │ │ │ ├── AlterTableAlgorithmType.java │ │ │ │ │ ├── AlterTableColumnOperatorTypeEnum.java │ │ │ │ │ ├── AlterTableLockTypeEnum.java │ │ │ │ │ ├── AlterTableRenameTypeEnum.java │ │ │ │ │ ├── AlterTableTableSpaceEnum.java │ │ │ │ │ ├── AlterTableTargetTypeEnum.java │ │ │ │ │ ├── IndexStorageType.java │ │ │ │ │ ├── MatchType.java │ │ │ │ │ ├── MysqlDataBaseProperty.java │ │ │ │ │ ├── MysqlTableProperty.java │ │ │ │ │ ├── OrderEnum.java │ │ │ │ │ ├── OrderEnums.java │ │ │ │ │ ├── ReferenceOptionEnums.java │ │ │ │ │ ├── ReferenceSituationEnum.java │ │ │ │ │ ├── ServerOptionEnum.java │ │ │ │ │ ├── SqlConstraintEnforcement.java │ │ │ │ │ ├── SqlConstraintSpec.java │ │ │ │ │ ├── StorageTypeEnum.java │ │ │ │ │ └── StoredTypeEnum.java │ │ │ │ └── type │ │ │ │ │ └── SqlSetTypeNameSpec.java │ │ │ │ ├── type │ │ │ │ ├── MysqlColumnTypeDescUtil.java │ │ │ │ └── MysqlType.java │ │ │ │ └── util │ │ │ │ └── SqlNodeParseUtil.java │ │ │ └── org │ │ │ └── apache │ │ │ └── calcite │ │ │ └── sql │ │ │ ├── SqlStringLiteral.java │ │ │ └── dialect │ │ │ └── MysqlSqlDialect.java │ │ └── test │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── ddl │ │ ├── convent │ │ ├── TestDdlConvent.java │ │ └── Util.java │ │ └── parse │ │ ├── TestAlter.java │ │ ├── TestAlterTable.java │ │ ├── TestCreate.java │ │ ├── TestDrop.java │ │ ├── TestRename.java │ │ └── TestTruncate.java ├── chunjun-ddl-oracle │ ├── pom.xml │ └── src │ │ └── main │ │ ├── codegen │ │ ├── config.fmpp │ │ └── includes │ │ │ ├── parseImpls.ftl │ │ │ └── typeParse.ftl │ │ └── java │ │ ├── com │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── ddl │ │ │ └── convert │ │ │ └── oracle │ │ │ ├── OperatorConvert.java │ │ │ ├── OperatorConvertImpl.java │ │ │ ├── OracleDdlConvertImpl.java │ │ │ ├── OracleTypeConvert.java │ │ │ ├── SqlNodeConvertVisitor.java │ │ │ ├── SqlNodeParse.java │ │ │ ├── SqlNodeParseImpl.java │ │ │ ├── parse │ │ │ ├── SqlAddColumn.java │ │ │ ├── SqlAlterIndex.java │ │ │ ├── SqlAlterTable.java │ │ │ ├── SqlAlterTableAdd.java │ │ │ ├── SqlAlterTableDrop.java │ │ │ ├── SqlComment.java │ │ │ ├── SqlConstraint.java │ │ │ ├── SqlConstraintReferences.java │ │ │ ├── SqlCreateIndex.java │ │ │ ├── SqlCreateTable.java │ │ │ ├── SqlCreateTableIndex.java │ │ │ ├── SqlDropColumn.java │ │ │ ├── SqlDropConstraint.java │ │ │ ├── SqlDropIndex.java │ │ │ ├── SqlDropTable.java │ │ │ ├── SqlGeneralColumn.java │ │ │ ├── SqlRenameColumn.java │ │ │ ├── SqlRenameConstraint.java │ │ │ ├── SqlRenameIndex.java │ │ │ ├── SqlRenameTable.java │ │ │ └── SqlTruncateTable.java │ │ │ ├── type │ │ │ ├── OracleColumnTypeDescUtil.java │ │ │ └── OracleType.java │ │ │ └── util │ │ │ └── OracleSqlNodeParseUtil.java │ │ └── org │ │ └── apache │ │ └── calcite │ │ └── sql │ │ └── dialect │ │ └── OracleSqlDialect.java └── pom.xml ├── chunjun-dev ├── .env ├── README.md ├── README_CH.md ├── app │ ├── Dockerfile │ ├── bashrc │ ├── clean_maven.sh │ ├── mirrorlist │ ├── settings.xml │ └── sshd_config ├── dm7 │ └── Dockerfile ├── dm8 │ └── Dockerfile ├── docker-compose.yml ├── images │ ├── build_success.png │ ├── chunjun_dev.png │ ├── docker_containers.png │ ├── gateway_ide.png │ ├── new_connection.png │ └── success.png ├── kafka2.8 │ └── Dockerfile ├── kudu │ └── Dockerfile ├── mysql5.7 │ └── Dockerfile ├── mysql8 │ └── Dockerfile ├── redis5 │ └── Dockerfile ├── redis6 │ └── Dockerfile └── zookeeper │ └── Dockerfile ├── chunjun-dirty ├── chunjun-dirty-log │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── dirty │ │ │ └── log │ │ │ └── LogDirtyDataCollector.java │ │ └── resources │ │ ├── log4j.properties │ │ └── logback.xml ├── chunjun-dirty-mysql │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── dirty │ │ │ └── mysql │ │ │ └── MysqlDirtyDataCollector.java │ │ └── resources │ │ └── flinkx_dirty_table.sql └── pom.xml ├── chunjun-docker ├── docker-build │ ├── Dockerfile │ └── docker-entrypoint.sh ├── docker │ ├── Dockerfile │ ├── README.md │ ├── docker-entrypoint.sh │ └── gosu └── pom.xml ├── chunjun-e2e ├── README_CH.md ├── pom.xml └── src │ └── test │ ├── java │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── connector │ │ ├── containers │ │ ├── emqx │ │ │ └── EmqxContainer.java │ │ ├── flink │ │ │ └── FlinkStandaloneContainer.java │ │ ├── ftp │ │ │ └── SftpContainer.java │ │ ├── mysql │ │ │ ├── Mysql5Container.java │ │ │ ├── Mysql8Container.java │ │ │ └── MysqlBaseContainer.java │ │ └── postgre │ │ │ └── PostgreContainer.java │ │ ├── entity │ │ ├── JobAccumulatorResult.java │ │ └── LaunchCommandBuilder.java │ │ └── test │ │ ├── standalone │ │ ├── emqx │ │ │ └── EmqxSyncE2eITCase.java │ │ ├── ftp │ │ │ └── SftpSyncE2eITCase.java │ │ ├── mysql │ │ │ ├── sql │ │ │ │ └── MysqlSqlE2eITCase.java │ │ │ └── sync │ │ │ │ ├── Mysql5SyncE2eITCase.java │ │ │ │ ├── Mysql8SyncE2eITCase.java │ │ │ │ └── MysqlBaseSyncE2eITCase.java │ │ ├── oracle │ │ │ ├── sql │ │ │ │ └── OracleSqlE2eITCase.java │ │ │ └── sync │ │ │ │ └── OracleSyncE2eITCase.java │ │ ├── postgre │ │ │ ├── sql │ │ │ │ └── PostgreSqlE2eITCase.java │ │ │ └── sync │ │ │ │ └── PostgreSyncE2eITCase.java │ │ └── stream │ │ │ └── FlinkStandaloneStreamE2eITCase.java │ │ └── utils │ │ ├── ChunjunFlinkStandaloneTestEnvironment.java │ │ └── JdbcProxy.java │ └── resources │ └── docker │ ├── emqx │ └── Dockerfile │ ├── flink │ ├── local │ │ └── Dockerfile │ └── standalone │ │ ├── Dockerfile │ │ ├── entrypoint.sh │ │ ├── flink-conf.yaml │ │ └── slf4j-log4j12-1.7.10.jar │ ├── ftp │ ├── Dockerfile │ └── test.csv │ ├── mysql │ ├── Mysql5Dockerfile │ ├── Mysql8Dockerfile │ └── init.sql │ ├── oracle │ └── init.sql │ └── postgre │ ├── Dockerfile │ └── init.sql ├── chunjun-examples ├── json │ ├── arctic │ │ └── arctic_sink.json │ ├── binlog │ │ ├── binlog_hive.json │ │ ├── binlog_stream.json │ │ └── binlog_stream_transformer.json │ ├── cassandra │ │ ├── cassandra_stream.json │ │ └── stream_cassandra.json │ ├── clickhouse │ │ └── clickhouse.json │ ├── db2 │ │ ├── db.info │ │ ├── db2_db2_batch.json │ │ └── db2_db2_realtime.json │ ├── dm │ │ ├── dm_dm.json │ │ ├── dm_stream.json │ │ └── stream_dm.json │ ├── doris │ │ └── mysql_doris.json │ ├── elasticsearch5 │ │ └── es2es.json │ ├── elasticsearch6 │ │ └── es2es.json │ ├── elasticsearch7 │ │ └── es2es.json │ ├── emqx │ │ └── stream_emqx.json │ ├── ftp │ │ └── ftp_stream.json │ ├── gbase │ │ ├── gbase_stream.json │ │ └── stream_gbase.json │ ├── greenplum │ │ ├── all_type.json │ │ └── support_type.json │ ├── hbase │ │ ├── hbase_stream_transformer.json │ │ ├── hbase_stream_with_transform_2.json │ │ └── hbase_transformer_hbase.json │ ├── hdfs │ │ ├── hdfs_orc_stream.json │ │ ├── hdfs_parquet_stream.json │ │ ├── hdfs_text_stream.json │ │ ├── stream_hdfs_orc.json │ │ ├── stream_hdfs_parquet.json │ │ └── stream_hdfs_text.json │ ├── hive │ │ ├── binlog_hive.json │ │ └── kafka_hive.json │ ├── hive3 │ │ ├── hive3_orc_stream.json │ │ ├── hive3_transaction_stream.json │ │ ├── stream_hive3_orc.json │ │ └── stream_hive3_transaction.json │ ├── http │ │ ├── http_stream.json │ │ ├── http_stream_transformer.json │ │ └── stream_http.json │ ├── hudi │ │ └── hudi2hudi.json │ ├── iceberg │ │ └── stream_iceberg.json │ ├── kafka │ │ ├── kafka_stream.json │ │ ├── kafka_stream_data.txt │ │ └── mysql_kafka.json │ ├── kingbase │ │ ├── kingbase2kingbase.json │ │ └── kingbase2kingbase_upsert.json │ ├── kudu │ │ ├── kudu_kudu.json │ │ ├── kudu_stream.json │ │ └── stream_kudu.json │ ├── logminer │ │ ├── logminer_full_sync_stream.json │ │ ├── logminer_oracle_to_oracle.json │ │ ├── logminer_stream.json │ │ ├── logminer_stream_insert_mode.json │ │ └── logminer_stream_transformer.json │ ├── mongodb │ │ ├── mongodb_stream.json │ │ ├── stream_mongodb.json │ │ └── stream_mongodb_auth.json │ ├── mysql │ │ ├── mysql_hdfs_polling.json │ │ ├── mysql_mysql_batch.json │ │ ├── mysql_mysql_batch_transform.json │ │ └── mysql_mysql_realtime.json │ ├── mysqlcdc │ │ └── mysql_mysql_cdc_transform.json │ ├── mysqld │ │ ├── mysql_distribute.json │ │ └── mysql_distribute_regex.json │ ├── oceanbasecdc │ │ └── oceanbasecdc_stream_transformer.json │ ├── oracle │ │ ├── oracle_oracle.json │ │ └── split │ │ │ ├── oracle_oracle.json │ │ │ └── oracle_oracle_mode.json │ ├── pgwal │ │ └── pgwal_stream.json │ ├── phoenix5 │ │ ├── phoenix5_phoenix5_alltype.json │ │ ├── phoenix_phoenix.json │ │ ├── phoenix_stream.json │ │ ├── phoenixhbase_phoenix.json │ │ └── phoenixhbase_stream.json │ ├── postgresql │ │ ├── numeric.json │ │ ├── postgre_postgre.json │ │ └── without_numeric.json │ ├── redis │ │ ├── redis_sink.json │ │ └── redis_source.json │ ├── s3 │ │ └── ftp_s3.json │ ├── saphana │ │ ├── mysql_saphana_num.json │ │ ├── saphana_mysql_num.json │ │ ├── saphana_saphana.json │ │ ├── saphana_saphana_date.json │ │ ├── saphana_saphana_lob.json │ │ └── saphana_saphana_num.json │ ├── selectdb-cloud │ │ └── stream_selectdbcloud.json │ ├── socket │ │ └── socket_stream.json │ ├── solr │ │ ├── read_solr.json │ │ └── write_solr.json │ ├── sqlserver │ │ ├── sqlserver_stream.json │ │ └── stream_sqlserver.json │ ├── sqlservercdc │ │ ├── sqlservercdc_stream.json │ │ └── sqlservercdc_stream_transformer.json │ ├── starrocks │ │ ├── starrocks_starrocks.json │ │ ├── starrocks_stream.json │ │ └── stream_starrocks.json │ ├── stream │ │ └── stream.json │ ├── sybase │ │ └── sybase_stream.json │ └── vertica11 │ │ ├── hive_vertica11.json │ │ └── oracle_vertica11.json └── sql │ ├── binlog │ └── binlog_stream.sql │ ├── cassandra │ ├── cassandra-lookup.sql │ ├── cassandra-print.sql │ └── cassandra-sink.sql │ ├── clickhouse │ └── clickhouse.sql │ ├── db2 │ ├── db.info │ ├── db2_lookup.sql │ ├── db2_scan_json.sql │ ├── db2_source_batch.sql │ └── db2_source_realtime.sql │ ├── dm │ ├── dm_lookup_sink.sql │ ├── dm_source_batch.sql │ └── dm_source_realtime.sql │ ├── doris │ ├── kafka_doris.sql │ ├── kafka_doris_stream.sql │ ├── mysql_doris.sql │ └── stream-doris.sql │ ├── elasticsearch5 │ └── es2es.sql │ ├── elasticsearch6 │ ├── es2es.sql │ └── kafka_eslookup_stream.sql │ ├── elasticsearch7 │ ├── es2es.sql │ ├── insert_row_array_map_data_type.sql │ ├── kafka_eslookup_stream.sql │ └── source_row_array_map_data_type.sql.sql │ ├── emqx │ ├── emqx_emqx.sql │ └── kafka_emqx_upsert.sql │ ├── file │ └── file_stream.sql │ ├── filesystem │ └── s3 │ │ └── s3sink.sql │ ├── ftp │ ├── ftp_stream.sql │ └── stream_ftp.sql │ ├── gbase │ ├── gbase_lookup_stream.sql │ ├── gbase_stream.sql │ └── stream_gbase.sql │ ├── greenplum │ └── support_type.sql │ ├── hbase │ ├── hbase2hbase.sql │ ├── hbase_stream.sql │ ├── kafka_hbaselookup_stream.sql │ └── stream_hbase.sql │ ├── hdfs │ ├── hdfs_orc_stream.sql │ ├── hdfs_parquet_stream.sql │ ├── hdfs_text_stream.sql │ ├── stream_hdfs_orc.sql │ ├── stream_hdfs_parquet.sql │ ├── stream_hdfs_text.sql │ └── stream_sink_hdfs.sql │ ├── hive │ ├── binlog_hive.sql │ ├── hive_lookup_sink.sql │ └── kafka_hive.sql │ ├── http │ ├── http_stream.sql │ └── stream_http.sql │ ├── iceberg │ └── iceberg_streaming.sql │ ├── kafka │ ├── kafka_kafka.sql │ ├── kafka_kafka_deserializer.sql │ ├── kafka_multi_line.sql │ ├── kafka_nested.sql │ ├── kafka_oracle_reduction.sql │ ├── kafka_stream_complex.sql │ ├── kafka_upsert-kafka.sql │ └── proto_proto.sql │ ├── kingbase │ ├── kingbase2kingbase.sql │ ├── kingbase_source_batch.sql │ └── kingbase_source_realtime.sql │ ├── kudu │ ├── kudu_source_stream.sql │ ├── mysql_kudu_kudu.sql │ └── mysql_kudu_stream.sql │ ├── logminer │ └── logminer_stream.sql │ ├── mongo │ ├── all_join.sql │ ├── async_join.sql │ ├── mongo_to_mongo.sql │ ├── mongo_to_print.sql │ └── sink.sql │ ├── mysql │ ├── kafka_mysql_sink.sql │ ├── mysql_hdfs_polling.sql │ ├── mysql_lookup_sink.sql │ ├── mysql_source_batch.sql │ └── mysql_source_realtime.sql │ ├── nebula │ ├── nebula_source_sink_edge.sql │ ├── nebula_source_sink_vertex.sql │ └── stream_nebula.sql │ ├── oceanbasecdc │ └── oceanbasecdc_stream.sql │ ├── oracle │ ├── increment │ │ └── oracle_stream.sql │ ├── lookup │ │ └── oracle_lookup_oracle.sql │ ├── oracle_oracle.sql │ ├── parallelism │ │ └── oracle_oracle.sql │ └── polling │ │ └── oracle_oracle.sql │ ├── phoenix5 │ ├── hbasephoenix5_stream.sql │ ├── phoenix5_phoenix5_alltype.sql │ ├── phoenix5_stream.sql │ └── phoenix5_stream_alltype.sql │ ├── postgresql │ ├── numeric_lookup_sink.sql │ ├── numeric_source_batch.sql │ ├── numeric_source_realtime.sql │ ├── row_array_map_data_type.sql │ ├── without_numeric_lookup_sink.sql │ └── without_numeric_source_batch.sql │ ├── rabbitmq │ └── rabbitmq_stream.sql │ ├── redis │ ├── lookup_redis.sql │ ├── redis_stream.sql │ └── stream_redis.sql │ ├── rocketmq │ └── rocketmq_stream.sql │ ├── s3 │ └── s3_stream.sql │ ├── saphana │ ├── saphana_saphana_date.sql │ ├── saphana_saphana_lob.sql │ ├── saphana_saphana_num.sql │ └── saphana_saphana_varchar.sql │ ├── selectdb-cloud │ └── stream_selectdbcloud.sql │ ├── solr │ └── solr_sink.sql │ ├── sqlserver │ ├── sqlserver_lookup_sink.sql │ ├── sqlserver_sqlserver.sql │ └── sqlserver_stream.sql │ ├── sqlservercdc │ ├── sqlservercdc_stream.sql │ └── sqlservercdc_stream1.sql │ ├── starrocks │ ├── starrocks_lookup.sql │ ├── starrocks_starrocks.sql │ ├── starrocks_stream.sql │ └── stream_starrocks.sql │ ├── stream │ ├── row_array_map_data_type.sql │ └── stream.sql │ ├── vertica11 │ ├── kafka_vertica11_sink.sql │ └── lookup │ │ └── kafka_lookup_vertica.sql │ └── window │ ├── tumble_eventime.sql │ └── tumble_proctime.sql ├── chunjun-formats ├── chunjun-format-excel │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── format │ │ └── excel │ │ ├── client │ │ ├── ExcelReadListener.java │ │ ├── ExcelReaderExecutor.java │ │ ├── ExcelSubExceptionCarrier.java │ │ └── Row.java │ │ ├── common │ │ └── ExcelData.java │ │ ├── config │ │ └── ExcelFormatConfig.java │ │ ├── options │ │ └── ExcelFormatOptions.java │ │ └── source │ │ └── ExcelInputFormat.java ├── chunjun-format-protobuf │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── format │ │ │ └── protobuf │ │ │ ├── PbFormatFactory.java │ │ │ ├── PbFormatOptions.java │ │ │ ├── PbFormatType.java │ │ │ ├── PbMessageAdaptor.java │ │ │ ├── deserialize │ │ │ ├── PbMessageGetter.java │ │ │ ├── PbParser.java │ │ │ ├── PbRowDataDeserializationSchema.java │ │ │ └── PbToRowDataPbConverter.java │ │ │ ├── serialize │ │ │ ├── PbMessageSetter.java │ │ │ ├── PbRowDataSerializationSchema.java │ │ │ └── RowDataToPbConverter.java │ │ │ └── util │ │ │ ├── FormatCheckUtil.java │ │ │ └── PbReflectUtil.java │ │ └── test │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── format │ │ └── protobuf │ │ └── test │ │ ├── MessageTestOuterClass.java │ │ └── PbFormatFactoryTest.java ├── chunjun-format-tika │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── format │ │ └── tika │ │ ├── common │ │ └── TikaData.java │ │ ├── config │ │ └── TikaReadConfig.java │ │ ├── options │ │ └── TikaOptions.java │ │ └── source │ │ ├── TikaInputFormat.java │ │ └── TikaReaderExecutor.java └── pom.xml ├── chunjun-local-test ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── local │ │ └── test │ │ └── LocalTest.java │ └── resources │ └── log4j2.properties ├── chunjun-metrics ├── chunjun-metrics-mysql │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── metrics │ │ └── mysql │ │ ├── MysqlDialect.java │ │ └── MysqlReport.java ├── chunjun-metrics-prometheus │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── metrics │ │ └── prometheus │ │ └── PrometheusReport.java ├── chunjun-metrics-rdb │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── dtstack │ │ └── chunjun │ │ └── metrics │ │ └── rdb │ │ ├── JdbcDialect.java │ │ ├── JdbcMetricConf.java │ │ ├── JdbcUtil.java │ │ └── RdbReporter.java └── pom.xml ├── chunjun-restore ├── chunjun-restore-common │ └── pom.xml ├── chunjun-restore-mysql │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── dtstack │ │ │ └── chunjun │ │ │ └── restore │ │ │ └── mysql │ │ │ ├── MysqlCacheHandler.java │ │ │ ├── MysqlDDLHandler.java │ │ │ ├── constant │ │ │ └── SqlConstants.java │ │ │ ├── datasource │ │ │ └── DruidDataSourceManager.java │ │ │ ├── transformer │ │ │ ├── ColumnRowDataTransformer.java │ │ │ ├── ColumnTransformer.java │ │ │ └── DDLRowDataTransformer.java │ │ │ └── util │ │ │ └── TransformerUtil.java │ │ └── resources │ │ └── ddl.sql └── pom.xml ├── chunjun-server ├── pom.xml └── src │ └── main │ ├── java │ ├── com │ │ └── dtstack │ │ │ └── chunjun │ │ │ ├── client │ │ │ ├── IClient.java │ │ │ └── YarnSessionClient.java │ │ │ ├── config │ │ │ ├── ChunJunConfig.java │ │ │ ├── ChunJunServerOptions.java │ │ │ ├── HadoopConfig.java │ │ │ ├── SessionConfig.java │ │ │ ├── WebConfig.java │ │ │ └── YarnAppConfig.java │ │ │ ├── entry │ │ │ ├── JobConverter.java │ │ │ ├── JobDescriptor.java │ │ │ ├── JobInfoReq.java │ │ │ ├── JobLogVO.java │ │ │ ├── JobSubmitReq.java │ │ │ ├── JobSubmitVO.java │ │ │ ├── ResponseValue.java │ │ │ └── StatusVO.java │ │ │ ├── http │ │ │ ├── CJHttpRequestRetryHandler.java │ │ │ └── PoolHttpClient.java │ │ │ ├── options │ │ │ └── ServerOptions.java │ │ │ ├── restapi │ │ │ ├── RequestHandler.java │ │ │ └── WebServer.java │ │ │ ├── server │ │ │ ├── ESessionStatus.java │ │ │ ├── ServerLauncher.java │ │ │ ├── SessionDeployer.java │ │ │ ├── SessionManager.java │ │ │ ├── SessionStatusInfo.java │ │ │ ├── SessionStatusMonitor.java │ │ │ └── util │ │ │ │ ├── EnvUtil.java │ │ │ │ ├── FileUtil.java │ │ │ │ ├── JobGraphBuilder.java │ │ │ │ └── JsonMapper.java │ │ │ └── yarn │ │ │ ├── HadoopConfTool.java │ │ │ ├── YarnClientUtil.java │ │ │ └── YarnConfLoader.java │ └── org │ │ └── apache │ │ └── flink │ │ └── yarn │ │ ├── CJYarnClusterClientFactory.java │ │ ├── CJYarnClusterDescriptor.java │ │ └── YarnClusterDescriptor.java │ └── resources │ └── log4j2.properties ├── conf ├── application.properties └── logconf │ ├── debug │ ├── log4j.properties │ └── logback.xml │ ├── error │ ├── log4j.properties │ └── logback.xml │ ├── fatal │ ├── log4j.properties │ └── logback.xml │ ├── info │ ├── log4j.properties │ └── logback.xml │ ├── log4j.properties │ └── warn │ ├── log4j.properties │ └── logback.xml ├── docs ├── docs_en │ ├── Advanced Features │ │ ├── 增量同步介绍.md │ │ ├── 断点续传介绍.md │ │ └── 脏数据插件设计.md │ ├── ChunJun Connector │ │ ├── binlog │ │ │ └── binlog-source.md │ │ ├── clickhouse │ │ │ ├── clickhouse-lookup.md │ │ │ ├── clickhouse-sink.md │ │ │ └── clickhouse-source.md │ │ ├── db2 │ │ │ ├── db2-lookup.md │ │ │ ├── db2-sink.md │ │ │ └── db2-source.md │ │ ├── dm │ │ │ ├── dm-sink.md │ │ │ └── dm-source.md │ │ ├── doris │ │ │ └── dorisbatch-sink.md │ │ ├── elasticsearch │ │ │ ├── es7-lookup.md │ │ │ ├── es7-sink.md │ │ │ └── es7-source.md │ │ ├── gbase │ │ │ ├── gbase-lookup.md │ │ │ ├── gbase-sink.md │ │ │ └── gbase-source.md │ │ ├── greenplum │ │ │ ├── greenplum-sink.md │ │ │ └── greenplum-source.md │ │ ├── hbase │ │ │ ├── hbase-lookup.md │ │ │ ├── hbase-sink.md │ │ │ └── hbase-source.md │ │ ├── hdfs │ │ │ ├── hdfs-sink.md │ │ │ └── hdfs-source.md │ │ ├── hive │ │ │ ├── hive-lookup.md │ │ │ └── hive-sink.md │ │ ├── influxdb │ │ │ ├── influxdb-sink.md │ │ │ └── influxdb-source.md │ │ ├── kafka │ │ │ ├── kafka-sink.md │ │ │ └── kafka-source.md │ │ ├── kingbase │ │ │ ├── kingbase-sink.md │ │ │ └── kingbase-source.md │ │ ├── kudu │ │ │ ├── kudu-lookup.md │ │ │ ├── kudu-sink.md │ │ │ └── kudu-source.md │ │ ├── logminer │ │ │ ├── LogMiner-source.md │ │ │ ├── LogMiner原理.md │ │ │ └── LogMiner配置.md │ │ ├── mongodb │ │ │ ├── mongodb-lookup.md │ │ │ ├── mongodb-sink.md │ │ │ └── mongodb-source.md │ │ ├── mysql │ │ │ ├── mysql-lookup.md │ │ │ ├── mysql-sink.md │ │ │ └── mysql-source.md │ │ ├── oracle │ │ │ ├── oracle-lookup.md │ │ │ ├── oracle-sink.md │ │ │ └── oracle-source.md │ │ ├── pgwal │ │ │ └── Postgres-CDC.md │ │ ├── postgresql │ │ │ ├── postgres-lookup.md │ │ │ ├── postgres-sink.md │ │ │ └── postgres-source.md │ │ ├── rocketmq │ │ │ └── rocketmq-source.md │ │ ├── saphana │ │ │ ├── saphana-sink.md │ │ │ └── saphana-source.md │ │ ├── sqlserver │ │ │ ├── sqlserver-lookup.md │ │ │ ├── sqlserver-sink.md │ │ │ └── sqlserver-source.md │ │ └── sqlservercdc │ │ │ ├── SqlServer CDC实时采集原理.md │ │ │ ├── SqlServer配置CDC.md │ │ │ └── SqlserverCDC-source.md │ ├── ChunJun Extend Data Format │ │ └── protobuf-x.md │ ├── Contribution │ │ ├── How to define a plugin.md │ │ └── How to submit a great Pull Request.md │ ├── General Configuration.md │ └── Quick Start.md └── docs_zh │ ├── ChunJun拓展数据格式 │ └── protobuf-x.md │ ├── ChunJun连接器 │ ├── binlog │ │ └── binlog-source.md │ ├── clickhouse │ │ ├── clickhouse-lookup.md │ │ ├── clickhouse-sink.md │ │ └── clickhouse-source.md │ ├── db2 │ │ ├── db2-lookup.md │ │ ├── db2-sink.md │ │ └── db2-source.md │ ├── dm │ │ ├── dm-sink.md │ │ └── dm-source.md │ ├── doris │ │ └── dorisbatch-sink.md │ ├── elasticsearch │ │ ├── es7-lookup.md │ │ ├── es7-sink.md │ │ └── es7-source.md │ ├── gbase │ │ ├── gbase-lookup.md │ │ ├── gbase-sink.md │ │ └── gbase-source.md │ ├── greenplum │ │ ├── greenplum-sink.md │ │ └── greenplum-source.md │ ├── hbase │ │ ├── hbase-lookup.md │ │ ├── hbase-sink.md │ │ └── hbase-source.md │ ├── hdfs │ │ ├── hdfs-sink.md │ │ └── hdfs-source.md │ ├── hive │ │ ├── hive-lookup.md │ │ └── hive-sink.md │ ├── influxdb │ │ ├── influxdb-sink.md │ │ └── influxdb-source.md │ ├── kafka │ │ ├── kafka-sink.md │ │ └── kafka-source.md │ ├── kingbase │ │ ├── kingbase-sink.md │ │ └── kingbase-source.md │ ├── kudu │ │ ├── kudu-lookup.md │ │ ├── kudu-sink.md │ │ └── kudu-source.md │ ├── logminer │ │ ├── LogMiner-source.md │ │ ├── LogMiner原理.md │ │ └── LogMiner配置.md │ ├── mongodb │ │ ├── mongodb-lookup.md │ │ ├── mongodb-sink.md │ │ └── mongodb-source.md │ ├── mysql │ │ ├── mysql-lookup.md │ │ ├── mysql-sink.md │ │ └── mysql-source.md │ ├── oracle │ │ ├── oracle-lookup.md │ │ ├── oracle-sink.md │ │ └── oracle-source.md │ ├── pgwal │ │ └── Postgres-CDC.md │ ├── postgresql │ │ ├── postgres-lookup.md │ │ ├── postgres-sink.md │ │ └── postgres-source.md │ ├── rocketmq │ │ └── rocketmq-source.md │ ├── saphana │ │ ├── saphana-sink.md │ │ └── saphana-source.md │ ├── sqlserver │ │ ├── sqlserver-lookup.md │ │ ├── sqlserver-sink.md │ │ └── sqlserver-source.md │ └── sqlservercdc │ │ ├── SqlServer CDC实时采集原理.md │ │ ├── SqlServer配置CDC.md │ │ └── SqlserverCDC-source.md │ ├── ChunJun通用配置详解.md │ ├── 开发者指南 │ ├── 如何提交一个优秀的PR.md │ └── 如何自定义插件.md │ ├── 快速开始.md │ └── 拓展功能 │ ├── 增量同步介绍.md │ ├── 断点续传介绍.md │ └── 脏数据插件设计.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── website ├── .eslintrc.json ├── .gitignore ├── LICENSE ├── README.md ├── api ├── json-api.ts ├── post-api.ts └── sql-api.ts ├── chunjun-examples ├── json │ ├── binlog │ │ ├── binlog_hive.json │ │ ├── binlog_stream.json │ │ └── binlog_stream_transformer.json │ ├── cassandra │ │ ├── cassandra_stream.json │ │ └── stream_cassandra.json │ ├── clickhouse │ │ └── clickhouse.json │ ├── db2 │ │ ├── db2_db2_batch.json │ │ └── db2_db2_realtime.json │ ├── dm │ │ ├── dm_dm.json │ │ ├── dm_stream.json │ │ └── stream_dm.json │ ├── doris │ │ └── mysql_doris.json │ ├── elasticsearch5 │ │ └── es2es.json │ ├── elasticsearch6 │ │ └── es2es.json │ ├── elasticsearch7 │ │ └── es2es.json │ ├── emqx │ │ ├── emqx_plain.json │ │ ├── emqx_sourcejson.json │ │ ├── emqx_sourcejson_data.json │ │ └── mysql_emqx.json │ ├── ftp │ │ └── ftp_ftp.json │ ├── gbase │ │ ├── gbase_stream.json │ │ └── stream_gbase.json │ ├── greenplum │ │ ├── all_type.json │ │ └── support_type.json │ ├── hbase │ │ ├── hbase_stream.json │ │ ├── hbase_stream_transformer.json │ │ └── stream_hbase.json │ ├── hdfs │ │ ├── hdfs_orc_stream.json │ │ ├── hdfs_parquet_stream.json │ │ ├── hdfs_text_stream.json │ │ ├── stream_hdfs_orc.json │ │ ├── stream_hdfs_parquet.json │ │ └── stream_hdfs_text.json │ ├── hive │ │ ├── binlog_hive.json │ │ └── kafka_hive.json │ ├── http │ │ ├── http_stream.json │ │ ├── http_stream_transformer.json │ │ └── stream_http.json │ ├── kafka │ │ ├── kafka_stream.json │ │ ├── kafka_stream_data.txt │ │ └── mysql_kafka.json │ ├── kingbase │ │ ├── kingbase2kingbase.json │ │ └── kingbase2kingbase_upsert.json │ ├── kudu │ │ ├── kudu_kudu.json │ │ ├── kudu_stream.json │ │ └── stream_kudu.json │ ├── logminer │ │ ├── logminer_stream.json │ │ ├── logminer_stream_insert_mode.json │ │ └── logminer_stream_transformer.json │ ├── mongodb │ │ ├── mongodb_stream.json │ │ ├── stream_mongodb.json │ │ └── stream_mongodb_auth.json │ ├── mysql │ │ ├── mysql_hdfs_polling.json │ │ ├── mysql_mysql_batch.json │ │ ├── mysql_mysql_batch_transform.json │ │ └── mysql_mysql_realtime.json │ ├── mysqld │ │ └── mysql_distribute.json │ ├── oracle │ │ ├── oracle_oracle.json │ │ └── split │ │ │ ├── oracle_oracle.json │ │ │ └── oracle_oracle_mode.json │ ├── pgwal │ │ └── pgwal_stream.json │ ├── phoenix5 │ │ ├── phoenix5_phoenix5_alltype.json │ │ ├── phoenix_phoenix.json │ │ ├── phoenix_stream.json │ │ ├── phoenixhbase_phoenix.json │ │ └── phoenixhbase_stream.json │ ├── postgresql │ │ ├── numeric.json │ │ └── without_numeric.json │ ├── redis │ │ └── redis_sink.json │ ├── saphana │ │ ├── mysql_saphana_num.json │ │ ├── saphana_mysql_num.json │ │ ├── saphana_saphana.json │ │ ├── saphana_saphana_date.json │ │ ├── saphana_saphana_lob.json │ │ └── saphana_saphana_num.json │ ├── socket │ │ └── socket_stream.json │ ├── solr │ │ ├── read_solr.json │ │ └── write_solr.json │ ├── sqlserver │ │ ├── sqlserver_stream.json │ │ └── stream_sqlserver.json │ ├── sqlservercdc │ │ ├── sqlservercdc_stream.json │ │ └── sqlservercdc_stream_transformer.json │ ├── starrocks │ │ └── mysql_starrocks.json │ └── stream │ │ └── stream.json └── sql │ ├── binlog │ └── binlog_stream.sql │ ├── cassandra │ ├── cassandra-lookup.sql │ ├── cassandra-print.sql │ └── cassandra-sink.sql │ ├── clickhouse │ └── clickhouse.sql │ ├── db2 │ ├── db.info │ ├── db2_lookup.sql │ ├── db2_scan_json.sql │ ├── db2_source_batch.sql │ └── db2_source_realtime.sql │ ├── dm │ ├── dm_lookup_sink.sql │ ├── dm_source_batch.sql │ └── dm_source_realtime.sql │ ├── doris │ ├── kafka_doris.sql │ ├── kafka_doris_stream.sql │ ├── mysql_doris.sql │ └── stream-doris.sql │ ├── elasticsearch5 │ └── es2es.sql │ ├── elasticsearch6 │ ├── es2es.sql │ └── kafka_eslookup_stream.sql │ ├── elasticsearch7 │ ├── es2es.sql │ └── kafka_eslookup_stream.sql │ ├── emqx │ ├── emqx_emqx.sql │ └── kafka_emqx_upsert.sql │ ├── file │ └── file_stream.sql │ ├── filesystem │ └── s3 │ │ └── s3sink.sql │ ├── ftp │ ├── ftp_stream.sql │ └── stream_ftp.sql │ ├── gbase │ ├── gbase_lookup_stream.sql │ ├── gbase_stream.sql │ └── stream_gbase.sql │ ├── greenplum │ └── support_type.sql │ ├── hbase │ ├── hbase2hbase.sql │ ├── hbase_stream.sql │ ├── kafka_hbaselookup_stream.sql │ └── stream_hbase.sql │ ├── hdfs │ ├── hdfs_orc_stream.sql │ ├── hdfs_parquet_stream.sql │ ├── hdfs_text_stream.sql │ ├── stream_hdfs_orc.sql │ ├── stream_hdfs_parquet.sql │ └── stream_hdfs_text.sql │ ├── hive │ ├── binlog_hive.sql │ ├── hive_lookup_sink.sql │ └── kafka_hive.sql │ ├── http │ ├── http_stream.sql │ └── stream_http.sql │ ├── iceberg │ └── iceberg_streaming.sql │ ├── kafka │ ├── kafka_kafka.sql │ ├── kafka_kafka_deserializer.sql │ ├── kafka_multi_line.sql │ ├── kafka_nested.sql │ ├── kafka_oracle_reduction.sql │ ├── kafka_stream_complex.sql │ ├── kafka_upsert-kafka.sql │ └── proto_proto.sql │ ├── kingbase │ ├── kingbase2kingbase.sql │ ├── kingbase_source_batch.sql │ └── kingbase_source_realtime.sql │ ├── kudu │ ├── kudu_source_stream.sql │ ├── mysql_kudu_kudu.sql │ └── mysql_kudu_stream.sql │ ├── logminer │ └── logminer_stream.sql │ ├── mongo │ ├── all_join.sql │ ├── async_join.sql │ └── sink.sql │ ├── mysql │ ├── kafka_mysql_sink.sql │ ├── mysql_hdfs_polling.sql │ ├── mysql_lookup_sink.sql │ ├── mysql_source_batch.sql │ └── mysql_source_realtime.sql │ ├── oracle │ ├── increment │ │ └── oracle_stream.sql │ ├── lookup │ │ └── oracle_lookup_oracle.sql │ ├── oracle_oracle.sql │ ├── parallelism │ │ └── oracle_oracle.sql │ └── polling │ │ └── oracle_oracle.sql │ ├── phoenix5 │ ├── hbasephoenix5_stream.sql │ ├── phoenix5_phoenix5_alltype.sql │ ├── phoenix5_stream.sql │ └── phoenix5_stream_alltype.sql │ ├── postgresql │ ├── numeric_lookup_sink.sql │ ├── numeric_source_batch.sql │ ├── numeric_source_realtime.sql │ ├── without_numeric_lookup_sink.sql │ └── without_numeric_source_batch.sql │ ├── redis │ ├── lookup_redis.sql │ └── stream_redis.sql │ ├── rocketmq │ └── rocketmq_stream.sql │ ├── saphana │ ├── saphana_saphana_date.sql │ ├── saphana_saphana_lob.sql │ ├── saphana_saphana_num.sql │ └── saphana_saphana_varchar.sql │ ├── solr │ └── solr_sink.sql │ ├── sqlserver │ ├── sqlserver_lookup_sink.sql │ ├── sqlserver_sqlserver.sql │ └── sqlserver_stream.sql │ ├── sqlservercdc │ ├── sqlservercdc_stream.sql │ └── sqlservercdc_stream1.sql │ ├── starrocks │ └── mysql_starrocks.sql │ ├── stream │ └── stream.sql │ └── window │ ├── tumble_eventime.sql │ └── tumble_proctime.sql ├── common └── document-like.tsx ├── components ├── AppFooter.tsx ├── AppHeader.tsx ├── AppNavbar.tsx ├── PostBody.tsx ├── TableOfContent.tsx └── useLocale.tsx ├── config ├── color.ts ├── companies.ts └── headerLinks.ts ├── githubInfo ├── build.js └── members.json ├── i18n ├── en.json ├── index.js └── zh.json ├── next-env.d.ts ├── next-export-i18n ├── I18n.tsx ├── components │ └── language-switcher │ │ └── index.tsx ├── hooks │ ├── use-language-query.tsx │ ├── use-language-switcher-is-active.tsx │ ├── use-selected-language.tsx │ └── use-translation.tsx ├── index.tsx └── types │ └── index.tsx ├── next.config.js ├── package.json ├── pages ├── _app.tsx ├── contributor │ └── index.tsx ├── documents │ └── [locale] │ │ └── [slug].tsx ├── examples │ ├── json │ │ └── [slug].tsx │ └── sql │ │ └── [slug].tsx ├── faq │ └── index.tsx ├── help │ └── index.tsx └── index.tsx ├── postcss.config.js ├── public ├── .nojekyll ├── assets │ ├── img │ │ ├── dingding.jpg │ │ ├── dt.jpg │ │ ├── flink-png@2x.png │ │ ├── fudan.png │ │ ├── github-dark.svg │ │ ├── github.svg │ │ ├── logo-dark.svg │ │ ├── logo-light.svg │ │ ├── logo2d.svg │ │ ├── logo2l.svg │ │ ├── more.svg │ │ ├── nat-1.png │ │ ├── nat-10.png │ │ ├── nat-11.png │ │ ├── nat-12.png │ │ ├── nat-13.png │ │ ├── nat-14.png │ │ ├── nat-15.png │ │ ├── nat-16.png │ │ ├── nat-17.png │ │ ├── nat-18.png │ │ ├── nat-19.png │ │ ├── nat-2.png │ │ ├── nat-20.png │ │ ├── nat-21.png │ │ ├── nat-22.png │ │ ├── nat-23.png │ │ ├── nat-24.png │ │ ├── nat-25.png │ │ ├── nat-26.png │ │ ├── nat-27.png │ │ ├── nat-28.png │ │ ├── nat-29.png │ │ ├── nat-3.png │ │ ├── nat-30.png │ │ ├── nat-31.png │ │ ├── nat-32.png │ │ ├── nat-4.png │ │ ├── nat-5.png │ │ ├── nat-6.png │ │ ├── nat-7.png │ │ ├── nat-8.png │ │ ├── nat-9.png │ │ ├── zheda.png │ │ └── zhongxin.png │ └── svg │ │ ├── cdp-data-dark.svg │ │ ├── cdp-data-light.svg │ │ ├── code.svg │ │ ├── collect.svg │ │ ├── datav.svg │ │ ├── dingding.svg │ │ ├── docker.svg │ │ ├── flex.svg │ │ ├── flink.svg │ │ ├── hcs_sgw.svg │ │ ├── nice.svg │ │ ├── sync.svg │ │ └── trans.svg ├── doc │ ├── LogMiner │ │ ├── LogMiner1.png │ │ ├── LogMiner10.png │ │ ├── LogMiner11.png │ │ ├── LogMiner12.png │ │ ├── LogMiner13.png │ │ ├── LogMiner14.png │ │ ├── LogMiner15.png │ │ ├── LogMiner16.png │ │ ├── LogMiner17.png │ │ ├── LogMiner18.png │ │ ├── LogMiner19.png │ │ ├── LogMiner2.png │ │ ├── LogMiner20.png │ │ ├── LogMiner21.png │ │ ├── LogMiner22.png │ │ ├── LogMiner23.png │ │ ├── LogMiner3.png │ │ ├── LogMiner4.png │ │ ├── LogMiner5.png │ │ ├── LogMiner6.png │ │ ├── LogMiner7.png │ │ ├── LogMiner8.png │ │ └── LogMiner9.png │ ├── SqlserverCDC │ │ ├── Sqlserver1.png │ │ ├── Sqlserver10.png │ │ ├── Sqlserver11.png │ │ ├── Sqlserver12.png │ │ ├── Sqlserver13.png │ │ ├── Sqlserver14.png │ │ ├── Sqlserver16.png │ │ ├── Sqlserver17.png │ │ ├── Sqlserver18.png │ │ ├── Sqlserver19.png │ │ ├── Sqlserver2.png │ │ ├── Sqlserver3.png │ │ ├── Sqlserver4.png │ │ ├── Sqlserver5.png │ │ ├── Sqlserver6.png │ │ ├── Sqlserver7.png │ │ ├── Sqlserver8.png │ │ ├── Sqlserver9.png │ │ └── SqlserverCdc流程图.png │ ├── contribute │ │ ├── 195230-11f4ee6bc7e788c7.webp │ │ ├── image-20220614143347037.png │ │ ├── image-20220614144650798.png │ │ ├── image-20220614145127874.png │ │ ├── image-20220614145839069.png │ │ ├── image-20220614150742626.png │ │ ├── image-20220614151300210.png │ │ ├── image-20220614152751238.png │ │ ├── image-20220614152928836.png │ │ ├── image-20220614153545215.png │ │ ├── image-20220614171917692.png │ │ ├── image-20220614172338108.png │ │ ├── image-20220616102414067.png │ │ ├── image-20220616102856402.png │ │ ├── image-20220616103241458.png │ │ └── image-20220616112115980.png │ ├── dirty │ │ ├── dirty-1.png │ │ ├── dirty-2.png │ │ ├── dirty-conf.png │ │ └── dirty-manager.png │ ├── doc.svg │ ├── docusaurus.png │ ├── easyuse.svg │ ├── favicon.ico │ ├── flink_header_logo.svg │ ├── incremental │ │ └── prometheus-search.png │ ├── logo-dark.svg │ ├── logo-light.svg │ ├── logo2d.svg │ ├── logo2l.svg │ ├── pr │ │ ├── pr1.png │ │ ├── pr2.png │ │ ├── pr3.png │ │ ├── pr4.png │ │ ├── pr5.png │ │ ├── pr6.png │ │ ├── pr7.png │ │ ├── pr8.png │ │ └── pr9.png │ ├── quickstart │ │ ├── quick_1.png │ │ ├── quick_2.png │ │ ├── quick_3.png │ │ ├── quick_4.png │ │ ├── quick_5.png │ │ ├── quick_6.png │ │ ├── quick_7.png │ │ └── quick_8.png │ ├── restore │ │ ├── restore1.png │ │ └── restore2.png │ └── tutorial │ │ ├── docsVersionDropdown.png │ │ └── localeDropdown.png ├── dt.jpg ├── favicon.ico └── logo-dark.svg ├── styles ├── font.css └── globals.css ├── tailwind.config.js ├── tsconfig.json ├── types ├── Context.ts ├── FileTree.ts ├── Item.ts ├── MDFile.ts ├── Params.ts └── Toc.ts ├── utils ├── generateTree.ts ├── loader.ts └── markdown2html.ts └── yarn.lock /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 4 | 5 | ## Purpose of this pull request 6 | 7 | 8 | ## Which issue you fix 9 | Fixes # (issue). 10 | 11 | ## Checklist: 12 | 13 | - [ ] I have executed the **'mvn spotless:apply'** command to format my code. 14 | - [ ] I have a meaningful commit message (including the issue id, **the template of commit message is '[label-type-#issue-id][fixed-module] a meaningful commit message.'**) 15 | - [ ] I have performed a self-review of my own code. 16 | - [ ] I have commented my code, particularly in hard-to-understand areas. 17 | - [ ] I have made corresponding changes to the documentation. 18 | - [ ] I have added tests that prove my fix is effective or that my feature works. 19 | - [ ] New and existing unit tests pass locally with my changes. 20 | - [ ] I have checked my code and corrected any misspellings. 21 | - [ ] My commit is only one. (If there are multiple commits, you can use 'git squash' to compress multiple commits into one.) 22 | -------------------------------------------------------------------------------- /.github/workflows/approve-label-trigger.yml: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | # 18 | 19 | name: Label-when-reviewed 20 | on: pull_request_review 21 | jobs: 22 | 23 | label-when-reviewed: 24 | name: "Label PRs when reviewed" 25 | runs-on: ubuntu-latest 26 | steps: 27 | - name: "Do nothing. Only trigger corresponding workflow_run event" 28 | run: echo 29 | -------------------------------------------------------------------------------- /.github/workflows/docs-deploy.yml: -------------------------------------------------------------------------------- 1 | name: docs deploy. 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | paths: 8 | - "website/**/*" 9 | - "docs/**/*" 10 | pull_request: 11 | branches: 12 | - master 13 | paths: 14 | - "website/**/*" 15 | - "docs/**/*" 16 | 17 | concurrency: 18 | group: ${{ github.workflow }}-${{ github.ref }} 19 | cancel-in-progress: true 20 | 21 | jobs: 22 | build: 23 | if: github.repository =='DTStack/chunjun' 24 | name: Deployment help document. 25 | runs-on: ubuntu-latest 26 | timeout-minutes: 10 27 | steps: 28 | - uses: actions/checkout@v3 29 | - name: Setup node 30 | uses: actions/setup-node@v3 31 | with: 32 | node-version: 16 33 | cache: yarn 34 | cache-dependency-path: website/yarn.lock 35 | - name: build 36 | working-directory: website 37 | run: | 38 | yarn install --frozen-lockfile 39 | yarn build 40 | yarn export 41 | - name: Deploy 42 | uses: JamesIves/github-pages-deploy-action@v4 43 | with: 44 | branch: gh-pages 45 | folder: website/out 46 | 47 | -------------------------------------------------------------------------------- /.github/workflows/label.yml: -------------------------------------------------------------------------------- 1 | # This workflow will triage pull requests and apply a label based on the 2 | # paths that are modified in the pull request. 3 | # 4 | # To use this workflow, you will need to set up a .github/label.yml 5 | # file with configuration. For more information, see: 6 | # https://github.com/actions/labeler 7 | 8 | name: Labeler 9 | on: [pull_request_target] 10 | 11 | jobs: 12 | label: 13 | 14 | runs-on: ubuntu-latest 15 | permissions: 16 | contents: read 17 | pull-requests: write 18 | 19 | steps: 20 | - uses: actions/labeler@v4 21 | with: 22 | repo-token: "${{ secrets.GITHUB_TOKEN }}" 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.nar 17 | *.ear 18 | *.zip 19 | *.tar.gz 20 | *.rar 21 | 22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 23 | hs_err_pid* 24 | replay_pid* 25 | 26 | # build targets 27 | target/ 28 | 29 | # Intellij Idea files 30 | .idea/* 31 | !.idea/vcs.xml 32 | *.iml 33 | 34 | # mac system 35 | .DS_Store 36 | 37 | lib/ 38 | 39 | # out log. 40 | nohup.out 41 | 42 | # auth 43 | *.keytab 44 | 45 | # chunjun plugins 46 | chunjun-dist/ 47 | 48 | */.cache 49 | */node_modules 50 | 51 | chunjun-dev/data/** 52 | output/* 53 | 54 | venv/ 55 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule ".github/actions/get-workflow-origin"] 2 | path = .github/actions/get-workflow-origin 3 | url = https://github.com/potiuk/get-workflow-origin.git 4 | [submodule ".github/actions/label-when-approved-action"] 5 | path = .github/actions/label-when-approved-action 6 | url = https://github.com/TobKed/label-when-approved-action 7 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 17 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 18 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 19 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # How to become a contributor and submit your own code 2 | 3 | We'd love to accept your patches! 4 | 5 | ## Contributing A Patch 6 | 7 | 1. Submit an issue describing your proposed change to the repo in question. 8 | 2. The repo owner will respond to your issue promptly. 9 | 3. Fork the desired repo, develop and test your code changes. 10 | 4. Ensure that your code adheres to the existing style in the sample to which you are contributing. 11 | 5. Ensure that your code has an appropriate set of unit tests which all pass. 12 | 6. Submit a pull request. 13 | -------------------------------------------------------------------------------- /chunjun-clients/src/main/java/com/dtstack/chunjun/client/ClusterClientHelper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.dtstack.chunjun.client; 19 | 20 | import org.apache.flink.client.program.ClusterClient; 21 | 22 | public interface ClusterClientHelper { 23 | 24 | ClusterClient submit(JobDeployer jobDeployer) throws Exception; 25 | } 26 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-arctic/src/main/resources/META-INF.services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.arctic.sink.ArcticSinkFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-binlog/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.binlog.table.BinlogDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-cassandra/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.cassandra.table.CassandraDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-clickhouse/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.clickhouse.table.ClickhouseDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-db2/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.db2.table.Db2DynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-dm/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.dm.table.DmDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-doris/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.doris.table.DorisDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-elasticsearch6/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.elasticsearch6.table.Elasticsearch6DynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-elasticsearch7/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.elasticsearch7.table.Elasticsearch7DynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-emqx/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.emqx.table.EmqxDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-file/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.file.table.FileDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-ftp/src/main/java/com/dtstack/chunjun/connector/ftp/enums/CompressType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.dtstack.chunjun.connector.ftp.enums; 19 | 20 | public enum CompressType { 21 | GZIP, 22 | BZIP2, 23 | ZIP; 24 | } 25 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-ftp/src/main/java/com/dtstack/chunjun/connector/ftp/enums/EFtpMode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.dtstack.chunjun.connector.ftp.enums; 20 | 21 | public enum EFtpMode { 22 | 23 | /** 被动方式 */ 24 | PASV, 25 | 26 | /** 主动方式 */ 27 | PORT 28 | } 29 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-ftp/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.ftp.table.FtpDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-gbase/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.gbase.table.GbaseDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-gbase8s/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.gbase8s.table.Gbase8sDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-gbasehk/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.gbasehk.table.GbasehkDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-greenplum/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.greenplum.table.GreenplumDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-hbase-1.4/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.hbase14.table.Hbase14DynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-hbase-base/src/test/java/com/dtstack/chunjun/connector/hbase/table/HBaseOptionsTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.dtstack.chunjun.connector.hbase.table; 20 | 21 | public class HBaseOptionsTest {} 22 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-hbase2/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.hbase2.table.Hbase2DynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-hdfs/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.hdfs.table.HdfsDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-hive/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.hive.table.HiveDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-http/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.http.table.HttpDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-hudi/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | com.dtstack.chunjun.connector.hudi.table.HudiDynamicTableFactory 18 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-jdbc-base/src/main/java/com/dtstack/chunjun/connector/jdbc/sink/DynamicPreparedStmt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/chunjun-connectors/chunjun-connector-jdbc-base/src/main/java/com/dtstack/chunjun/connector/jdbc/sink/DynamicPreparedStmt.java -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-kafka/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.kafka.table.KafkaDynamicTableFactory 17 | com.dtstack.chunjun.connector.upsertkafka.table.UpsertKafkaDynamicTableFactory 18 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-kingbase/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.kingbase.table.KingbaseDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-kudu/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.kudu.table.KuduDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-mongodb/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.mongodb.table.MongodbDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-mysql/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.mysql.table.MysqlDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-nebula/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.nebula.table.NebulaDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-oceanbase/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.oceanbase.table.OceanbaseDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-oceanbasecdc/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.oceanbasecdc.table.OceanBaseCdcDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-opengauss/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.opengauss.table.OpengaussDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-oracle/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.oracle.table.OracleDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-oraclelogminer/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.oraclelogminer.table.OraclelogminerDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-postgresql/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.postgresql.table.PostgresqlDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-rabbitmq/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.rabbitmq.table.RabbitmqDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-redis/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.redis.table.RedisDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-rocketmq/src/main/resources/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.rocketmq.table.RocketMQDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-s3/src/main/java/com/dtstack/chunjun/connector/s3/enums/CompressType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.dtstack.chunjun.connector.s3.enums; 19 | 20 | public enum CompressType { 21 | GZIP, 22 | BZIP2, 23 | ZIP; 24 | } 25 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-s3/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.s3.table.S3DynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-saphana/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.saphana.table.SaphanaDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-selectdb-cloud/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.selectdbcloud.table.SelectdbcloudDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-socket/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.socket.table.SocketDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-solr/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.solr.table.SolrDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-sqlserver/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | com.dtstack.chunjun.connector.sqlserver.table.SqlserverDynamicTableFactory 20 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-sqlservercdc/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.sqlservercdc.table.SqlservercdcDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-starrocks/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.starrocks.table.StarRocksDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-stream/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.stream.table.StreamDynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-sybase/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | com.dtstack.chunjun.connector.sybase.table.SybaseDynamicTableFactory 20 | -------------------------------------------------------------------------------- /chunjun-connectors/chunjun-connector-vertica11/src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | com.dtstack.chunjun.connector.vertica11.table.Vertica11DynamicTableFactory 17 | -------------------------------------------------------------------------------- /chunjun-core/.gitignore: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | target 19 | .idea/ 20 | /.idea/* 21 | *.pyc 22 | *.swp 23 | .DS_Store 24 | /target 25 | target 26 | .class 27 | .project 28 | .classpath 29 | *.eclipse.* 30 | *.iml 31 | /dependency-reduced-pom.xml 32 | -------------------------------------------------------------------------------- /chunjun-core/src/main/java/com/dtstack/chunjun/cdc/ddl/ColumnType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.dtstack.chunjun.cdc.ddl; 20 | 21 | public interface ColumnType { 22 | 23 | String getSourceName(); 24 | } 25 | -------------------------------------------------------------------------------- /chunjun-core/src/main/java/com/dtstack/chunjun/cdc/ddl/definition/DataSourceFunction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.dtstack.chunjun.cdc.ddl.definition; 20 | 21 | public enum DataSourceFunction { 22 | CURRENT_TIMESTAMP 23 | } 24 | -------------------------------------------------------------------------------- /chunjun-core/src/main/java/com/dtstack/chunjun/cdc/ddl/definition/IndexType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.dtstack.chunjun.cdc.ddl.definition; 20 | 21 | public enum IndexType { 22 | FULLTEXT, 23 | SPATIAL, 24 | UNIQUE; 25 | } 26 | -------------------------------------------------------------------------------- /chunjun-core/src/main/java/com/dtstack/chunjun/mapping/Casing.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.dtstack.chunjun.mapping; 20 | 21 | public enum Casing { 22 | UNCHANGE, 23 | UPPER, 24 | LOWER, 25 | } 26 | -------------------------------------------------------------------------------- /chunjun-core/src/test/java/com/dtstack/chunjun/util/TestClassUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.dtstack.chunjun.util; 20 | 21 | import org.junit.Test; 22 | 23 | public class TestClassUtil { 24 | 25 | @Test 26 | public void testForNameAndClassLoad() {} 27 | } 28 | -------------------------------------------------------------------------------- /chunjun-ddl/chunjun-ddl-mysql/src/main/java/com/dtstack/chunjun/ddl/convent/mysql/parse/enums/IndexStorageType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.dtstack.chunjun.ddl.convent.mysql.parse.enums; 20 | 21 | public enum IndexStorageType { 22 | BTREE, 23 | HASH, 24 | ; 25 | } 26 | -------------------------------------------------------------------------------- /chunjun-ddl/chunjun-ddl-mysql/src/main/java/com/dtstack/chunjun/ddl/convent/mysql/parse/enums/OrderEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.dtstack.chunjun.ddl.convent.mysql.parse.enums; 20 | 21 | public enum OrderEnum { 22 | DESC, 23 | ASC, 24 | ; 25 | } 26 | -------------------------------------------------------------------------------- /chunjun-dev/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/chunjun-dev/README.md -------------------------------------------------------------------------------- /chunjun-dev/app/clean_maven.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | 19 | #!/bin/bash 20 | 21 | REPO_PATH="/root/.m2/repository" 22 | 23 | echo "正在清理"$REPO_PATH"目录下的.lastUpdated后缀文件" 24 | 25 | find $REPO_PATH -name "*.lastUpdated" | xargs rm -fr 26 | 27 | echo "完成清理" 28 | -------------------------------------------------------------------------------- /chunjun-dev/dm7/Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM liaobaikai/dm7:dev-20210709 19 | 20 | LABEL maintainer="dtstack" 21 | 22 | # 默认账号密码 SYSDBA/SYSDBA 23 | -------------------------------------------------------------------------------- /chunjun-dev/dm8/Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM liaobaikai/dm8:dev-20210813 19 | 20 | LABEL maintainer="dtstack" 21 | 22 | # 默认账号密码 SYSDBA/SYSDBA 23 | -------------------------------------------------------------------------------- /chunjun-dev/images/build_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/chunjun-dev/images/build_success.png -------------------------------------------------------------------------------- /chunjun-dev/images/chunjun_dev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/chunjun-dev/images/chunjun_dev.png -------------------------------------------------------------------------------- /chunjun-dev/images/docker_containers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/chunjun-dev/images/docker_containers.png -------------------------------------------------------------------------------- /chunjun-dev/images/gateway_ide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/chunjun-dev/images/gateway_ide.png -------------------------------------------------------------------------------- /chunjun-dev/images/new_connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/chunjun-dev/images/new_connection.png -------------------------------------------------------------------------------- /chunjun-dev/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/chunjun-dev/images/success.png -------------------------------------------------------------------------------- /chunjun-dev/kafka2.8/Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM wurstmeister/kafka:2.13-2.8.1 19 | 20 | LABEL maintainer="dtstack" 21 | -------------------------------------------------------------------------------- /chunjun-dev/kudu/Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM apache/kudu:latest 19 | 20 | LABEL maintainer="dtstack" 21 | -------------------------------------------------------------------------------- /chunjun-dev/mysql5.7/Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM mysql:5.7 19 | 20 | LABEL maintainer="dtstack" 21 | -------------------------------------------------------------------------------- /chunjun-dev/mysql8/Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM mysql:8.0 19 | 20 | LABEL maintainer="dtstack" 21 | -------------------------------------------------------------------------------- /chunjun-dev/redis5/Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM redis:5.0 19 | 20 | LABEL maintainer="dtstack" 21 | -------------------------------------------------------------------------------- /chunjun-dev/redis6/Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM redis:6.2.5 19 | 20 | LABEL maintainer="dtstack" 21 | -------------------------------------------------------------------------------- /chunjun-dev/zookeeper/Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM wurstmeister/zookeeper:latest 19 | 20 | LABEL maintainer="dtstack" 21 | -------------------------------------------------------------------------------- /chunjun-docker/docker-build/Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM apache/flink:1.12.7-scala_2.12-java8 19 | COPY chunjun-dist.tar.gz /opt/flink/lib/ 20 | RUN mkdir /opt/flink/lib/chunjun-dist | tar -zxvf /opt/flink/lib/chunjun-dist.tar.gz -C /opt/flink/lib/chunjun-dist 21 | ENV CHUNJUN_HOME /opt/flink/lib/chunjun-dist 22 | COPY docker-entrypoint.sh / 23 | RUN chmod 777 /docker-entrypoint.sh 24 | -------------------------------------------------------------------------------- /chunjun-docker/docker/README.md: -------------------------------------------------------------------------------- 1 | ChunJun Docker 2 | ============ 3 | [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) 4 | 5 | # build step 6 | 1.使用git工具把项目clone到本地 7 | 8 | ``` 9 | git clone https://github.com/DTStack/chunjun.git 10 | ``` 11 | 12 | 2.编译插件包 13 | ``` 14 | cd chunjun 15 | sh build/build.sh 16 | ``` 17 | 18 | 3.拷贝构建的插件包到镜像构建目录下 19 | ``` 20 | cp -r flink-dist ./chunjun-docker/docker 21 | ``` 22 | 23 | 4.构建镜像 24 | ``` 25 | cd ./chunjun-docker/docker 26 | docker build -t ${image_name} . 27 | ``` 28 | 镜像构建完成后可推送到docker hub供后续使用 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /chunjun-docker/docker/gosu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/chunjun-docker/docker/gosu -------------------------------------------------------------------------------- /chunjun-e2e/src/test/java/com/dtstack/chunjun/connector/test/standalone/mysql/sql/MysqlSqlE2eITCase.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.dtstack.chunjun.connector.test.standalone.mysql.sql; 20 | 21 | public class MysqlSqlE2eITCase {} 22 | -------------------------------------------------------------------------------- /chunjun-e2e/src/test/java/com/dtstack/chunjun/connector/test/standalone/oracle/sql/OracleSqlE2eITCase.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.dtstack.chunjun.connector.test.standalone.oracle.sql; 20 | 21 | public class OracleSqlE2eITCase {} 22 | -------------------------------------------------------------------------------- /chunjun-e2e/src/test/java/com/dtstack/chunjun/connector/test/standalone/postgre/sql/PostgreSqlE2eITCase.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | 19 | package com.dtstack.chunjun.connector.test.standalone.postgre.sql; 20 | 21 | public class PostgreSqlE2eITCase {} 22 | -------------------------------------------------------------------------------- /chunjun-e2e/src/test/resources/docker/emqx/Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM emqx/emqx 19 | 20 | LABEL maintainer="chunjun@github.com" 21 | 22 | ENV LANG=C.UTF-8 23 | 24 | ENV TZ=Asia/Shanghai 25 | -------------------------------------------------------------------------------- /chunjun-e2e/src/test/resources/docker/flink/standalone/entrypoint.sh: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | #/bin/bash 19 | 20 | cd /opt/flink/bin 21 | bash start-cluster.sh && tail -f /dev/null 22 | -------------------------------------------------------------------------------- /chunjun-e2e/src/test/resources/docker/flink/standalone/slf4j-log4j12-1.7.10.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/chunjun-e2e/src/test/resources/docker/flink/standalone/slf4j-log4j12-1.7.10.jar -------------------------------------------------------------------------------- /chunjun-e2e/src/test/resources/docker/ftp/test.csv: -------------------------------------------------------------------------------- 1 | 1,1 2 | 1,1 3 | 1,1 4 | 1,1 5 | 1,1 6 | 1,1 7 | 1,1 8 | 1,1 9 | 1,1 10 | 1,1 11 | 1,1 12 | 1,1 13 | 1,1 14 | 1,1 15 | 1,1 16 | 1,1 17 | 1,1 18 | 1,1 19 | 1,1 20 | 1,1 21 | -------------------------------------------------------------------------------- /chunjun-e2e/src/test/resources/docker/mysql/Mysql5Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM mysql:5.7 19 | 20 | LABEL maintainer="chunjun@github.com" 21 | 22 | ENV LANG=C.UTF-8 23 | 24 | ENV TZ=Asia/Shanghai 25 | 26 | WORKDIR /docker-entrypoint-initdb.d 27 | 28 | ADD ./init.sql . 29 | -------------------------------------------------------------------------------- /chunjun-e2e/src/test/resources/docker/mysql/Mysql8Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM mysql:8.0 19 | 20 | LABEL maintainer="chunjun@gituhb.com" 21 | 22 | ENV LANG=C.UTF-8 23 | 24 | ENV TZ=Asia/Shanghai 25 | 26 | WORKDIR /docker-entrypoint-initdb.d 27 | 28 | ADD ./init.sql . 29 | -------------------------------------------------------------------------------- /chunjun-e2e/src/test/resources/docker/postgre/Dockerfile: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one 2 | # or more contributor license agreements. See the NOTICE file 3 | # distributed with this work for additional information 4 | # regarding copyright ownership. The ASF licenses this file 5 | # to you under the Apache License, Version 2.0 (the 6 | # "License"); you may not use this file except in compliance 7 | # with the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, 12 | # software distributed under the License is distributed on an 13 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | # KIND, either express or implied. See the License for the 15 | # specific language governing permissions and limitations 16 | # under the License. 17 | 18 | FROM debezium/postgres:9.6 19 | 20 | LABEL maintainer="chunjun@github.com" 21 | 22 | ENV LANG=C.UTF-8 23 | ENV TZ=Asia/Shanghai 24 | ENV POSTGRES_DB=postgre 25 | ENV POSTGRES_USER=postgre 26 | ENV POSTGRES_PASSWORD=postgre 27 | -------------------------------------------------------------------------------- /chunjun-examples/json/binlog/binlog_stream.json: -------------------------------------------------------------------------------- 1 | { 2 | "job" : { 3 | "content" : [ { 4 | "reader" : { 5 | "parameter" : { 6 | "schema" : "tudou", 7 | "username" : "root", 8 | "password" : "root", 9 | "cat" : "insert,delete,update", 10 | "jdbcUrl" : "jdbc:mysql://localhost:3306/tudou?useSSL=false", 11 | "host" : "localhost", 12 | "port" : 3306, 13 | "start" : { 14 | "journal-name": "mysql-bin.000001" 15 | }, 16 | "table" : [ ], 17 | "splitUpdate" : true, 18 | "pavingData" : true 19 | }, 20 | "name" : "binlogreader" 21 | }, 22 | "writer" : { 23 | "parameter" : { 24 | "print" : true 25 | }, 26 | "name" : "streamwriter" 27 | } 28 | } ], 29 | "setting" : { 30 | "speed" : { 31 | "bytes" : 0, 32 | "channel" : 1 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /chunjun-examples/json/emqx/stream_emqx.json: -------------------------------------------------------------------------------- 1 | { 2 | "job": { 3 | "content": [ 4 | { 5 | "reader": { 6 | "parameter": { 7 | "column": [ 8 | { 9 | "name": "id", 10 | "type": "int" 11 | }, 12 | { 13 | "name": "raw_date", 14 | "type": "string" 15 | } 16 | ], 17 | "sliceRecordCount": ["30"], 18 | "permitsPerSecond": 1 19 | }, 20 | "table": { 21 | "tableName": "sourceTable" 22 | }, 23 | "name": "streamreader" 24 | }, 25 | "writer": { 26 | "parameter": { 27 | "tableFields": [ 28 | "id", 29 | "raw_date" 30 | ], 31 | "broker": "tcp://emqx-e2e-stream:1883", 32 | "topic": "test", 33 | "isCleanSession": true, 34 | "qos": 2 35 | }, 36 | "name": "emqxwriter" 37 | } 38 | } 39 | ], 40 | "setting": { 41 | "speed": { 42 | "channel": 1, 43 | "bytes": 0 44 | } 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /chunjun-examples/json/kafka/kafka_stream_data.txt: -------------------------------------------------------------------------------- 1 | {"id":100,"name":"lb james阿道夫","money":293.899778,"dateone":"2020-07-30 10:08:22","age":"33","datethree":"2020-07-30 10:08:22.123","datesix":"2020-07-30 10:08:22.123456","datenigth":"2020-07-30 10:08:22.123456789","dtdate":"2020-07-30","dttime":"10:08:22","dtime":"2020-08-30 11:08:22"} 2 | {"id":"100","name":"lb james阿道夫","money":"293.899778","dateone":"2020-07-30 10:08:22","age":"33","datethree":"2020-07-30 10:08:22.123","datesix":"2020-07-30 10:08:22.123456","datenigth":"2020-07-30 10:08:22.123456789","dtdate":"2020-07-30","dttime":"10:08:22","dtime":"2020-08-30 11:08:22"} 3 | -------------------------------------------------------------------------------- /chunjun-examples/json/logminer/logminer_full_sync_stream.json: -------------------------------------------------------------------------------- 1 | { 2 | "job": { 3 | "content": [ 4 | { 5 | "reader": { 6 | "parameter": { 7 | "jdbcUrl": "jdbc:oracle:thin:@//127.0.0.1:1521/orcl11g.us.oracle.com", 8 | "username": "oracle", 9 | "password": "oracle", 10 | "supportAutoAddLog": false, 11 | "table": ["xxx.xxxx"], 12 | "cat": "UPDATE,INSERT,DELETE", 13 | "pavingData" : true, 14 | "enableFetchAll": true, 15 | "queryTimeout": 3000 16 | }, 17 | "name": "oraclelogminerreader" 18 | }, 19 | "writer": { 20 | "parameter": { 21 | "print": true 22 | }, 23 | "name": "streamwriter" 24 | } 25 | } 26 | ], 27 | "setting" : { 28 | "speed" : { 29 | "bytes" : 0, 30 | "channel" : 1 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /chunjun-examples/json/logminer/logminer_stream.json: -------------------------------------------------------------------------------- 1 | { 2 | "job": { 3 | "content": [ 4 | { 5 | "reader": { 6 | "parameter": { 7 | "jdbcUrl": "jdbc:oracle:thin:@127.0.0.1:1521:xe", 8 | "username": "username", 9 | "password": "password", 10 | "supportAutoAddLog": false, 11 | "table": ["table.*"], 12 | "cat": "UPDATE,INSERT,DELETE", 13 | "pavingData" : true, 14 | "readPosition" : "CURRENT", 15 | "queryTimeout": 3000 16 | }, 17 | "name": "oraclelogminerreader" 18 | }, 19 | "writer": { 20 | "parameter": { 21 | "print": true 22 | }, 23 | "name": "streamwriter" 24 | } 25 | } 26 | ], 27 | "setting" : { 28 | "speed" : { 29 | "bytes" : 0, 30 | "channel" : 1 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /chunjun-examples/json/pgwal/pgwal_stream.json: -------------------------------------------------------------------------------- 1 | { 2 | "job" : { 3 | "content" : [ { 4 | "reader" : { 5 | "parameter" : { 6 | "temporary" : false, 7 | "password" : "****", 8 | "databaseName" : "postgres", 9 | "cat" : "insert,update,delete", 10 | "tableList" : [ "public.pgresult" ], 11 | "allowCreateSlot" : true, 12 | "pavingData" : true, 13 | "url" : "jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8", 14 | "username" : "dtstack_rep" 15 | }, 16 | "name" : "pgwalreader" 17 | }, 18 | "writer" : { 19 | "parameter" : { 20 | "print" : true 21 | }, 22 | "name" : "streamwriter" 23 | } 24 | } ], 25 | "setting" : { 26 | "restore" : { 27 | "isRestore" : true, 28 | "isStream" : true 29 | }, 30 | "errorLimit" : { 31 | }, 32 | "speed" : { 33 | "readerChannel" : 1, 34 | "writerChannel" : 1, 35 | "bytes" : -1048576, 36 | "channel" : 1 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /chunjun-examples/json/socket/socket_stream.json: -------------------------------------------------------------------------------- 1 | { 2 | "job" : { 3 | "content" : [ { 4 | "reader" : { 5 | "parameter" : { 6 | "address" : "127.0.0.1:9023", 7 | "parse" : "text" 8 | }, 9 | "name" : "socketreader" 10 | }, 11 | "writer": { 12 | "parameter": { 13 | "print": true 14 | }, 15 | "name": "streamwriter" 16 | } 17 | } ], 18 | "setting" : { 19 | "restore" : { 20 | "isRestore" : true, 21 | "isStream" : true 22 | }, 23 | "errorLimit" : { }, 24 | "speed" : { 25 | "readerChannel" : 1, 26 | "writerChannel" : 1, 27 | "bytes" : -1048576, 28 | "channel" : 1 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /chunjun-examples/json/sqlservercdc/sqlservercdc_stream.json: -------------------------------------------------------------------------------- 1 | { 2 | "job" : { 3 | "content" : [ { 4 | "reader" : { 5 | "parameter" : { 6 | "databaseName":"db_test", 7 | "tableList": ["test.test123"], 8 | "username" : "test", 9 | "password" : "Abc12345", 10 | "cat" : "insert,delete,update", 11 | "url" : "jdbc:sqlserver://localhost:1433;databaseName=db_test", 12 | "splitUpdate" : true, 13 | "pavingData" : true, 14 | "pollInterval" : 1000 15 | }, 16 | "name" : "sqlservercdcreader" 17 | }, 18 | "writer" : { 19 | "parameter" : { 20 | "print" : true 21 | }, 22 | "name" : "streamwriter" 23 | } 24 | } ], 25 | "setting" : { 26 | "speed" : { 27 | "bytes" : 0, 28 | "channel" : 1 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /chunjun-examples/sql/cassandra/cassandra-print.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source_one 2 | ( 3 | id int, 4 | name varchar, 5 | birth timestamp, 6 | todayTime time, 7 | todayDate date 8 | ) WITH ( 9 | 'connector' = 'cassandra-x', 10 | 'host' = 'ip1,ip2,ip3', 11 | 'port' = '9042', 12 | 'hostDistance' = 'local', 13 | 'user-name' = 'cassandra', 14 | 'password' = 'xxxxxxxx', 15 | 'table-name' = 'one', 16 | 'keyspaces' = 'tiezhu', 17 | ); 18 | 19 | CREATE TABLE sink_one 20 | ( 21 | id int, 22 | name varchar, 23 | birth timestamp, 24 | todayTime time, 25 | todayDate date 26 | ) WITH ( 27 | 'connector' = 'stream-x' 28 | ); 29 | 30 | 31 | INSERT INTO sink_one 32 | SELECT id, 33 | name, 34 | birth, 35 | todayTime, 36 | todayDate 37 | FROM source_one; 38 | -------------------------------------------------------------------------------- /chunjun-examples/sql/doris/stream-doris.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE test_kafka 2 | ( 3 | id int, 4 | name VARCHAR, 5 | message VARCHAR, 6 | age int, 7 | address VARCHAR, 8 | proc_time AS PROCTIME() 9 | ) WITH ( 10 | 'connector' = 'stream-x', 11 | 'number-of-rows' = '1000', -- 输入条数,默认无限 12 | 'rows-per-second' = '100' -- 每秒输入条数,默认不限制 13 | ); 14 | 15 | CREATE TABLE doris_out_test 16 | ( 17 | id int, 18 | name VARCHAR, 19 | message VARCHAR, 20 | age int, 21 | address VARCHAR 22 | ) WITH ( 23 | 'password' = '', 24 | 'connector' = 'doris-x', 25 | 'sink.buffer-flush.interval' = '1000', 26 | 'sink.all-replace' = 'false', 27 | 'sink.buffer-flush.max-rows' = '100', 28 | 'schema' = 'tiezhu', 29 | 'table-name' = 'doris_2', 30 | 'sink.parallelism' = '1', 31 | -- 'feNodes' = 'doris_fe:8030', 32 | 'url' = 'jdbc:mysql://doris_fe:9030', 33 | 'username' = 'root' 34 | ); 35 | 36 | insert 37 | into doris_out_test 38 | select id as id, 39 | name as name, 40 | message as message, 41 | age as age, 42 | address as address 43 | from test_kafka; 44 | -------------------------------------------------------------------------------- /chunjun-examples/sql/elasticsearch5/es2es.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE es7_source( 2 | id int 3 | , phone bigint 4 | , qq varchar 5 | , wechat varchar 6 | , income decimal(10,6) 7 | , birthday timestamp 8 | , today date 9 | , timecurrent time ) 10 | WITH( 11 | 'connector' ='elasticsearch5-x', 12 | 'hosts' ='localhost:9300', 13 | 'index' ='mowen1', 14 | 'cluster' = 'elasticsearch', 15 | 'document-type' = 'schema1'); 16 | 17 | 18 | CREATE TABLE es7_sink( 19 | id int 20 | , phone bigint 21 | , qq varchar 22 | , wechat varchar 23 | , income decimal(10,6) 24 | , birthday timestamp 25 | , today date 26 | , timecurrent time ) 27 | WITH( 28 | 'connector' ='elasticsearch5-x' 29 | ,'hosts' ='localhost:9300', 30 | 'index' ='students_4', 31 | 'cluster' = 'elasticsearch', 32 | 'document-type' = 'schema12' 33 | ); 34 | 35 | 36 | INSERT INTO es7_sink 37 | SELECT * 38 | FROM es7_source; 39 | -------------------------------------------------------------------------------- /chunjun-examples/sql/elasticsearch6/es2es.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE es6_source( 2 | id int 3 | , phone bigint 4 | , qq varchar 5 | , wechat varchar 6 | , income decimal(10,2) 7 | , birthday timestamp 8 | , today date 9 | , timecurrent time 10 | ) 11 | 12 | WITH( 13 | 'connector' ='es-x', 14 | 'hosts' ='localhost:9200', 15 | 'index' ='mowen', 16 | 'document-type' = '_doc'); 17 | 18 | 19 | CREATE TABLE es6_sink( 20 | id int 21 | , phone bigint 22 | , qq varchar 23 | , wechat varchar 24 | , income decimal(10,2) 25 | , birthday timestamp 26 | , today date 27 | , timecurrent time 28 | ) 29 | 30 | WITH( 31 | 'connector' ='es-x' 32 | ,'hosts' ='localhost:9200', 33 | 'index' ='testdate21', 34 | 'document-type' = '_doc' 35 | ); 36 | 37 | 38 | INSERT INTO es6_sink 39 | SELECT * 40 | FROM es6_source; 41 | -------------------------------------------------------------------------------- /chunjun-examples/sql/file/file_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE FILE_SOURCE ( 2 | C_ID INT, 3 | C_BOOLEAN BOOLEAN, 4 | C_TINYINT TINYINT, 5 | C_SMALLINT SMALLINT, 6 | C_INT INT, 7 | C_BIGINT BIGINT, 8 | C_FLOAT FLOAT, 9 | C_DOUBLE DOUBLE, 10 | C_DECIMAL DECIMAL, 11 | C_STRING STRING, 12 | C_VARCHAR VARCHAR(255), 13 | C_CHAR CHAR(255), 14 | C_TIMESTAMP TIMESTAMP, 15 | C_DATE DATE 16 | ) WITH ( 17 | 'connector' = 'file-x', 18 | 'path' = '/tmp/source/data.csv', 19 | 'format' = 'csv' 20 | ); 21 | 22 | CREATE TABLE SINK ( 23 | C_ID INT, 24 | C_BOOLEAN BOOLEAN, 25 | C_TINYINT TINYINT, 26 | C_SMALLINT SMALLINT, 27 | C_INT INT, 28 | C_BIGINT BIGINT, 29 | C_FLOAT FLOAT, 30 | C_DOUBLE DOUBLE, 31 | C_DECIMAL DECIMAL, 32 | C_STRING STRING, 33 | C_VARCHAR VARCHAR(255), 34 | C_CHAR CHAR(255), 35 | C_TIMESTAMP TIMESTAMP, 36 | C_DATE DATE 37 | ) WITH ( 38 | 'connector' = 'stream-x', 39 | 'print' = 'true' 40 | ); 41 | 42 | INSERT INTO SINK 43 | SELECT * 44 | FROM FILE_SOURCE; 45 | -------------------------------------------------------------------------------- /chunjun-examples/sql/filesystem/s3/s3sink.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source ( 2 | name String 3 | ) WITH ( 4 | 'connector' = 'kafka-x', 5 | 'topic' = 'shifang_s3', 6 | 'properties.bootstrap.servers' = 'chunjun1:9092', 7 | 'scan.startup.mode' = 'earliest-offset', 8 | 'format' = 'json' 9 | ); 10 | 11 | CREATE TABLE sink10 ( 12 | name String 13 | ) WITH ( 14 | 'connector' = 'filesystem-x', 15 | 'path' = 's3a://daishu-csp-test01-1255000139/test/shifang1211/', 16 | 'format' = 'json', 17 | 'sink.rolling-policy.rollover-interval' = '10s', 18 | 'sink.rolling-policy.rollover-interval' = '30min', 19 | 'auto-compaction' = 'true', 20 | 's3.access-key' ='xxxxxxxxxx', 21 | 's3.secret-key' = 'xxxxxxxxxx', 22 | 's3.ssl.enabled' ='false', 23 | 's3.path.style.access' = 'true', 24 | 's3.endpoint'= 'https://xxxxxxx' 25 | ); 26 | 27 | insert into sink10 select name from source 28 | -------------------------------------------------------------------------------- /chunjun-examples/sql/ftp/ftp_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE FILE_SOURCE ( 2 | C_ID INT, 3 | C_BOOLEAN BOOLEAN, 4 | C_TINYINT TINYINT, 5 | C_SMALLINT SMALLINT, 6 | C_INT INT, 7 | C_BIGINT BIGINT, 8 | C_FLOAT FLOAT, 9 | C_DOUBLE DOUBLE, 10 | C_DECIMAL DECIMAL, 11 | C_STRING STRING, 12 | C_VARCHAR VARCHAR(255), 13 | C_CHAR CHAR(255), 14 | C_TIMESTAMP TIMESTAMP, 15 | C_DATE DATE 16 | ) WITH ( 17 | 'connector' = 'ftp-x', 18 | 'path' = '/data/sftp/chunjun/sql/source/data.csv', 19 | 'protocol' = 'sftp', 20 | 'host' = 'localhost', 21 | 'username' = 'root', 22 | 'password' = 'xxxxxx', 23 | 'format' = 'csv' 24 | ); 25 | 26 | CREATE TABLE SINK ( 27 | C_ID INT, 28 | C_BOOLEAN BOOLEAN, 29 | C_TINYINT TINYINT, 30 | C_SMALLINT SMALLINT, 31 | C_INT INT, 32 | C_BIGINT BIGINT, 33 | C_FLOAT FLOAT, 34 | C_DOUBLE DOUBLE, 35 | C_DECIMAL DECIMAL, 36 | C_STRING STRING, 37 | C_VARCHAR VARCHAR(255), 38 | C_CHAR CHAR(255), 39 | C_TIMESTAMP TIMESTAMP, 40 | C_DATE DATE 41 | ) WITH ( 42 | 'connector' = 'stream-x', 43 | 'print' = 'true' 44 | ); 45 | 46 | INSERT INTO SINK 47 | SELECT * 48 | FROM FILE_SOURCE; 49 | -------------------------------------------------------------------------------- /chunjun-examples/sql/gbase/gbase_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | id int, 4 | name varchar, 5 | price decimal, 6 | money double, 7 | message string, 8 | age tinyint, 9 | todayTimestamp timestamp, 10 | todayDate date, 11 | todayTime time 12 | ) WITH ( 13 | 'connector' = 'gbase-x', 14 | 'url' = 'jdbc:gbase://gbase:5258/dev_db', 15 | 'table-name' = 'sink', 16 | 'schema' = 'dev_db', 17 | 'username' = 'dev', 18 | 'password' = 'dev123', 19 | 'scan.fetch-size' = '2', 20 | 'scan.query-timeout' = '10' 21 | ); 22 | 23 | CREATE TABLE sink 24 | ( 25 | id int, 26 | name varchar, 27 | price decimal, 28 | money double, 29 | message string, 30 | age tinyint, 31 | todayTimestamp timestamp, 32 | todayDate date, 33 | todayTime time 34 | ) WITH ( 35 | 'connector' = 'stream-x' 36 | ); 37 | 38 | insert into sink 39 | select * 40 | from source; 41 | -------------------------------------------------------------------------------- /chunjun-examples/sql/gbase/stream_gbase.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | id int, 4 | name varchar, 5 | price decimal, 6 | money double, 7 | message string, 8 | age tinyint, 9 | todayTimestamp timestamp, 10 | todayDate date, 11 | todayTime time 12 | ) WITH ( 13 | 'connector' = 'gbase-x', 14 | 'url' = 'jdbc:gbase://gbase:5258/dev_db', 15 | 'table-name' = 'sink', 16 | 'schema' = 'dev_db', 17 | 'username' = 'dev', 18 | 'password' = 'dev123', 19 | 'sink.buffer-flush.max-rows' = '1', 20 | 'sink.all-replace' = 'false' 21 | ); 22 | 23 | CREATE TABLE sink 24 | ( 25 | id int, 26 | name varchar, 27 | price decimal, 28 | money double, 29 | message string, 30 | age tinyint, 31 | todayTimestamp timestamp, 32 | todayDate date, 33 | todayTime time 34 | ) WITH ( 35 | 'connector' = 'stream-x', 36 | 'number-of-rows' = '50' 37 | ); 38 | 39 | insert into source 40 | select * 41 | from sink; 42 | -------------------------------------------------------------------------------- /chunjun-examples/sql/hbase/hbase_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | rowkey VARCHAR, 4 | info ROW, 5 | PRIMARY KEY (rowkey) NOT ENFORCED 6 | ) WITH ( 7 | 'connector' = 'hbase14-x' 8 | ,'zookeeper.quorum' = 'kudu1:2181,kudu2:2181,kudu3:2181' 9 | ,'zookeeper.znode.parent' = '/hbase_2.x' 10 | ,'null-string-literal' = 'null' 11 | ,'sink.buffer-flush.max-size' = '1000' 12 | ,'sink.buffer-flush.max-rows' = '1000' 13 | ,'sink.buffer-flush.interval' = '60' 14 | ,'table-name' = 'test' 15 | ); 16 | 17 | CREATE TABLE sink 18 | ( 19 | rowkey VARCHAR 20 | ) WITH ( 21 | 'connector' = 'stream-x' 22 | ); 23 | 24 | insert into sink 25 | SELECT rowkey 26 | from source u; 27 | -------------------------------------------------------------------------------- /chunjun-examples/sql/hbase/stream_hbase.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | rowkey VARCHAR, 4 | item_id VARCHAR, 5 | category_id VARCHAR, 6 | behavior VARCHAR, 7 | ts TIMESTAMP(3) 8 | ) WITH ( 9 | 'connector' = 'stream-x' 10 | ); 11 | 12 | CREATE TABLE sink 13 | ( 14 | rowkey VARCHAR, 15 | cf ROW(item_id VARCHAR, category_id VARCHAR, behavior VARCHAR, ts TIMESTAMP(3)), 16 | PRIMARY KEY (rowkey) NOT ENFORCED 17 | ) WITH ( 18 | 'connector' = 'hbase14-x' 19 | ,'zookeeper.quorum' = 'kudu1:2181,kudu2:2181,kudu3:2181' 20 | ,'zookeeper.znode.parent' = '/hbase_2.x' 21 | ,'null-string-literal' = 'null' 22 | ,'sink.buffer-flush.max-size' = '1000' 23 | ,'sink.buffer-flush.max-rows' = '1000' 24 | ,'sink.buffer-flush.interval' = '60' 25 | ,'table-name' = 'test' 26 | ); 27 | 28 | insert into sink 29 | SELECT rowkey, ROW(item_id, category_id, behavior, ts ) as cf 30 | from source u; 31 | -------------------------------------------------------------------------------- /chunjun-examples/sql/logminer/logminer_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | ID bigint, 4 | TTIME DATE, 5 | TTIMESTAMP TIMESTAMP 6 | ) WITH ( 7 | 'connector' = 'oraclelogminer-x' 8 | ,'url' = 'jdbc:oracle:thin:@127.0.0.1:1521:xe' 9 | ,'username' = 'username' 10 | ,'password' = 'password' 11 | ,'cat' = 'insert,delete,update' 12 | ,'table' = 'schema.table' 13 | ,'timestamp-format.standard' = 'SQL' 14 | ); 15 | 16 | CREATE TABLE sink 17 | ( 18 | ID bigint, 19 | TTIME DATE, 20 | TTIMESTAMP TIMESTAMP 21 | ) WITH ( 22 | 'connector' = 'stream-x' 23 | ); 24 | 25 | insert into sink 26 | select * 27 | from source u; 28 | -------------------------------------------------------------------------------- /chunjun-examples/sql/mongo/mongo_to_mongo.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE lookup_mongo 2 | ( 3 | val_int INT, 4 | val_long BIGINT, 5 | val_double DOUBLE 6 | ) WITH ( 7 | 'connector' = 'mongodb-x', 8 | --"url": "mongodb://mongo:0c4529b306988737@10.208.44.52:2908/crm?authSource=admin", 9 | 'uri' = 'mongodb://localhost:27017', 10 | 'username' = 'root', 11 | 'password' = 'root', 12 | 'database' = 'flink_dev', 13 | 'collection' = 'dim_m', 14 | 'filter'='{"val_int": {"$eq": 1}}', 15 | 'scan.parallelism' = '1', 16 | 'fetch-size'='0' 17 | ); 18 | 19 | CREATE TABLE sink_print 20 | ( 21 | val_int INT, 22 | val_long BIGINT, 23 | val_double DOUBLE 24 | ) WITH ( 25 | 'connector' = 'mongodb-x', 26 | 'uri' = 'mongodb://localhost:27017', 27 | 'database' = 'flink_dev', 28 | 'collection' = 'test', 29 | 'username' = 'root', 30 | 'password' = 'root', 31 | 'sink.parallelism' = '1', 32 | 'sink.buffer-flush.max-rows' = '1024', 33 | 'sink.buffer-flush.interval' = '10000' 34 | ); 35 | 36 | 37 | insert into sink_print select * from lookup_mongo; 38 | -------------------------------------------------------------------------------- /chunjun-examples/sql/mongo/mongo_to_print.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE lookup_mongo 2 | ( 3 | val_int INT, 4 | val_long BIGINT, 5 | val_double DOUBLE 6 | ) WITH ( 7 | 'connector' = 'mongodb-x', 8 | 'uri' = 'mongodb://localhost:27017', 9 | 'database' = 'flink_dev', 10 | 'collection' = 'dim_m', 11 | -- 'filter'='{"val_int": {"$eq": 1}}', 12 | 'scan.parallelism' = '2', 13 | 'fetch-size'='0' 14 | ); 15 | 16 | CREATE TABLE sink_print 17 | ( 18 | val_int INT, 19 | val_long BIGINT, 20 | val_double DOUBLE 21 | ) WITH ( 22 | 'connector' = 'print' 23 | ); 24 | 25 | 26 | insert into sink_print select * from lookup_mongo; 27 | -------------------------------------------------------------------------------- /chunjun-examples/sql/nebula/stream_nebula.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | id STRING, 4 | dateone timestamp, 5 | age bigint, 6 | score float, 7 | dtdate date, 8 | dttime time, 9 | flag BOOLEAN 10 | ) WITH ( 11 | 'connector' = 'stream-x', 12 | 'number-of-rows' = '10', 13 | 'rows-per-second' = '1' 14 | ); 15 | 16 | CREATE TABLE sink ( 17 | vid varchar, -- 字段中必须包含 18 | dateone timestamp, 19 | age bigint, 20 | score float, 21 | dtdate date, 22 | dttime time, 23 | flag BOOLEAN 24 | ) WITH ( 25 | 'connector' = 'nebula-x', 26 | 'nebula.enableSSL' = 'false', 27 | 'nebula.storage-addresses' = 'localhost:9559', 28 | 'nebula.graphd-addresses' = 'localhost:9669', 29 | 'nebula.password' = 'nebula', 30 | 'nebula.username' = 'nebula', 31 | 'nebula.schema-name' = 'test_vertex', 32 | 'nebula.space' = 'chunjun_test', 33 | 'nebula.schema-type' = 'vertex', 34 | 'write.tasks' = '1', 35 | 'nebula.bulk-size' = '5', 36 | 'nebula.vid-type' = 'FIXED_STRING(36)', 37 | 'write-mode' = 'upsert' 38 | ); 39 | 40 | insert into sink 41 | select * from source; 42 | -------------------------------------------------------------------------------- /chunjun-examples/sql/phoenix5/phoenix5_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source ( 2 | id bigint primary key, 3 | NAME varchar 4 | ) WITH ( 5 | 'connector' = 'phoenix5-x', 6 | 'username' = '', 7 | 'password' = '', 8 | 'url' = 'jdbc:phoenix:chunjun1,chunjun2,chunjun3:2181', 9 | 'table-name' = 't1' 10 | ); 11 | 12 | CREATE TABLE sink ( 13 | id bigint, 14 | name varchar 15 | ) WITH ('connector' = 'stream-x'); 16 | 17 | insert into sink 18 | select * 19 | from source u; 20 | -------------------------------------------------------------------------------- /chunjun-examples/sql/postgresql/row_array_map_data_type.sql: -------------------------------------------------------------------------------- 1 | 2 | CREATE TABLE test 3 | ( 4 | id bigint, 5 | deployment_pictures ARRAY, 6 | deployment_images MAP, 7 | deployment_contacts ROW(Name varchar,Contact varchar), 8 | origin_id varchar 9 | ) WITH ( 10 | 'connector' = 'postgresql-x', 11 | 'url' = 'jdbc:postgresql://localhost:5432/visual_test1', 12 | 'table-name' = 'test', 13 | 'username' = 'pg', 14 | 'password' = 'pg' 15 | ); 16 | 17 | CREATE TABLE sink( 18 | id bigint, 19 | deployment_pictures ARRAY, 20 | deployment_images MAP, 21 | deployment_contacts ROW(Name varchar,Contact varchar), 22 | origin_id varchar 23 | )WITH( 24 | 'connector' = 'stream-x', 25 | 'print' = 'true' 26 | ); 27 | 28 | insert into sink 29 | select * from test; 30 | -------------------------------------------------------------------------------- /chunjun-examples/sql/rabbitmq/rabbitmq_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | id INT, 4 | name STRING 5 | ) WITH ( 6 | 'connector' = 'rabbitmq-x', 7 | 'host' = 'hostname', 8 | 'username' = 'root', 9 | 'password' = 'root', 10 | 'virtual-host' = '/', 11 | 'queue-name' = 'first2', 12 | 'format' = 'json' 13 | ); 14 | 15 | CREATE TABLE sink 16 | ( 17 | id INT, 18 | name STRING 19 | ) WITH ( 20 | 'connector' = 'stream-x', 21 | 'print' = 'true' 22 | ); 23 | 24 | insert into sink 25 | select * 26 | from source; 27 | -------------------------------------------------------------------------------- /chunjun-examples/sql/redis/redis_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | tag_code STRING, 4 | `start` STRING, 5 | lastStart STRING, 6 | lastStatus STRING, 7 | status STRING 8 | ) WITH ( 9 | 'connector' = 'redis-x', 10 | 'url'= 'hadoop101:6379', 11 | 'database' = '1', 12 | 'password' = '123456', 13 | 'table-name' = 'run_power*', 14 | 'type' = 'hash', 15 | 'mode' = 'hget' 16 | ); 17 | 18 | CREATE TABLE sink 19 | ( 20 | tag_code STRING, 21 | `start` STRING, 22 | lastStart STRING, 23 | lastStatus STRING, 24 | status STRING 25 | ) WITH ( 26 | 'connector' = 'stream-x', 27 | 'print' = 'true' 28 | ); 29 | 30 | insert into sink 31 | select * 32 | from source; 33 | -------------------------------------------------------------------------------- /chunjun-examples/sql/s3/s3_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | i1 INT, 4 | i2 INT 5 | ) WITH ( 6 | 'connector' = 's3-x', 7 | 'assessKey' = '', 8 | 'secretKey' = '', 9 | 'bucket' = '', 10 | 'objects' = '[""]', 11 | 'fieldDelimiter' = '|', 12 | 'isFirstLineHeader' = 'false', 13 | 'region' = '' 14 | ); 15 | 16 | CREATE TABLE sink 17 | ( 18 | i1 INT, 19 | i2 INT 20 | ) WITH ( 21 | 'connector' = 'stream-x', 22 | 'print' = 'true' 23 | ); 24 | 25 | INSERT INTO sink 26 | SELECT * 27 | FROM source; 28 | -------------------------------------------------------------------------------- /chunjun-examples/sql/selectdb-cloud/stream_selectdbcloud.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | `timestamp` TIMESTAMP, 4 | `type` INT, 5 | `error_code` INT, 6 | `error_msg` VARCHAR(1024), 7 | `op_id` BIGINT, 8 | `op_time` TIMESTAMP 9 | ) WITH ( 10 | 'connector' = 'stream-x', 11 | 'number-of-rows' = '100', -- 输入条数,默认无限 12 | 'rows-per-second' = '1' -- 每秒输入条数,默认不限制 13 | ); 14 | 15 | CREATE TABLE sink 16 | ( 17 | `timestamp` TIMESTAMP, 18 | `type` INT, 19 | `error_code` INT, 20 | `error_msg` VARCHAR(1024), 21 | `op_id` BIGINT, 22 | `op_time` TIMESTAMP 23 | ) WITH ( 24 | 'connector' = 'selectdbcloud-x', 25 | 'host' = 'xxx', 26 | 'http-port' = '46635', 27 | 'query-port' = '12634', 28 | 'cluster-name' = 'test', 29 | 'table.identifier' = 'test.dup_tbl', 30 | 'username' = 'admin', 31 | 'password' = 'xxx', 32 | 'sink.properties.file.type' = 'json', 33 | 'sink.properties.file.strip_outer_array' = 'true', 34 | 'sink.enable-delete' = 'false' 35 | ); 36 | 37 | insert into sink 38 | select * 39 | from source; 40 | -------------------------------------------------------------------------------- /chunjun-examples/sql/sqlservercdc/sqlservercdc_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | id int, 4 | name varchar(22), 5 | day1 date, 6 | day2 timestamp, 7 | sale decimal(10,3) 8 | 9 | ) WITH ( 10 | 'connector' = 'sqlservercdc-x' 11 | ,'username' = 'test' 12 | ,'password' = 'Abc12345' 13 | ,'cat' = 'insert,delete,update' 14 | ,'url' = 'jdbc:sqlserver://localhost:1433;databaseName=db_test' 15 | ,'table' = 'test.shifang2' 16 | ,'timestamp-format.standard' = 'SQL' 17 | ,'database' = 'db_test' 18 | ,'poll-interval' = '1000' 19 | ); 20 | 21 | CREATE TABLE sink 22 | ( 23 | id int, 24 | name varchar(22), 25 | day1 date, 26 | day2 timestamp, 27 | sale decimal(10,3) 28 | ) WITH ( 29 | 'connector' = 'stream-x' 30 | ); 31 | 32 | insert into sink 33 | select * 34 | from source u; 35 | -------------------------------------------------------------------------------- /chunjun-examples/sql/starrocks/stream_starrocks.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | id int, 4 | name string 5 | ) with ( 6 | 'connector' = 'stream-x', 7 | 'number-of-rows' = '10' 8 | ); 9 | 10 | CREATE TABLE sink 11 | ( 12 | id int, 13 | name string 14 | 15 | 16 | ) with ( 17 | 'connector' = 'starrocks-x', 18 | 'url' = 'jdbc:mysql://node1:9030', 19 | 'fe-nodes' = 'node1:8030;node2:8030;node3:8030', 20 | 'schema-name' = 'test', 21 | 'table-name' = 'sink', 22 | 'username' = 'root', 23 | 'password' = '' 24 | ); 25 | 26 | insert into sink 27 | select * 28 | from source; 29 | -------------------------------------------------------------------------------- /chunjun-examples/sql/stream/row_array_map_data_type.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | id INT, 4 | name STRING, 5 | money DECIMAL(32, 2), 6 | dateone timestamp, 7 | age bigint, 8 | datethree timestamp, 9 | datesix timestamp(6), 10 | datenigth timestamp(9), 11 | dtdate date, 12 | dttime time, 13 | `row` ROW(id int,name varchar), 14 | plateText ARRAY, 15 | pt MAP 16 | ) WITH ( 17 | 'connector' = 'stream-x', 18 | 'number-of-rows' = '10', -- 输入条数,默认无限 19 | 'rows-per-second' = '1' -- 每秒输入条数,默认不限制 20 | ); 21 | 22 | CREATE TABLE sink 23 | ( 24 | id INT, 25 | name STRING, 26 | money DECIMAL(32, 2), 27 | dateone timestamp, 28 | age bigint, 29 | datethree timestamp, 30 | datesix timestamp(6), 31 | datenigth timestamp(9), 32 | dtdate date, 33 | dttime time, 34 | `row` ROW(id int,name varchar), 35 | plateText ARRAY, 36 | pt MAP 37 | ) WITH ( 38 | 'connector' = 'stream-x', 39 | 'print' = 'true' 40 | ); 41 | 42 | insert into sink 43 | select * 44 | from source; 45 | -------------------------------------------------------------------------------- /chunjun-examples/sql/stream/stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | id INT, 4 | name STRING, 5 | money DECIMAL(32, 2), 6 | dateone timestamp, 7 | age bigint, 8 | datethree timestamp, 9 | datesix timestamp(6), 10 | datenigth timestamp(9), 11 | dtdate date, 12 | dttime time 13 | ) WITH ( 14 | 'connector' = 'stream-x', 15 | 'number-of-rows' = '10', -- 输入条数,默认无限 16 | 'rows-per-second' = '1' -- 每秒输入条数,默认不限制 17 | ); 18 | 19 | CREATE TABLE sink 20 | ( 21 | id INT, 22 | name STRING, 23 | money DECIMAL(32, 2), 24 | dateone timestamp, 25 | age bigint, 26 | datethree timestamp, 27 | datesix timestamp(6), 28 | datenigth timestamp(9), 29 | dtdate date, 30 | dttime time 31 | ) WITH ( 32 | 'connector' = 'stream-x', 33 | 'print' = 'true' 34 | ); 35 | 36 | insert into sink 37 | select * 38 | from source; 39 | -------------------------------------------------------------------------------- /chunjun-server/src/main/java/com/dtstack/chunjun/config/WebConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.dtstack.chunjun.config; 19 | 20 | import lombok.Data; 21 | 22 | /** 23 | * @author xuchao 24 | * @date 2023-09-19 25 | */ 26 | @Data 27 | public class WebConfig { 28 | 29 | private int port; 30 | } 31 | -------------------------------------------------------------------------------- /chunjun-server/src/main/java/com/dtstack/chunjun/entry/JobInfoReq.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.dtstack.chunjun.entry; 19 | 20 | import lombok.Data; 21 | 22 | /** 23 | * 获取状态的请求 24 | * 25 | * @author xuchao 26 | * @date 2023-09-20 27 | */ 28 | @Data 29 | public class JobInfoReq { 30 | 31 | private String jobId; 32 | } 33 | -------------------------------------------------------------------------------- /chunjun-server/src/main/java/com/dtstack/chunjun/entry/JobLogVO.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.dtstack.chunjun.entry; 19 | 20 | import lombok.Data; 21 | 22 | /** 23 | * @author xuchao 24 | * @date 2023-09-20 25 | */ 26 | @Data 27 | public class JobLogVO { 28 | 29 | private String jobId; 30 | 31 | private String log; 32 | } 33 | -------------------------------------------------------------------------------- /chunjun-server/src/main/java/com/dtstack/chunjun/entry/JobSubmitVO.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.dtstack.chunjun.entry; 19 | 20 | import lombok.Data; 21 | 22 | /** 23 | * @author xuchao 24 | * @date 2023-09-21 25 | */ 26 | @Data 27 | public class JobSubmitVO { 28 | 29 | private String jobId; 30 | } 31 | -------------------------------------------------------------------------------- /chunjun-server/src/main/java/com/dtstack/chunjun/entry/StatusVO.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | */ 18 | package com.dtstack.chunjun.entry; 19 | 20 | import lombok.Data; 21 | 22 | /** 23 | * 返回的任务状态信息 24 | * 25 | * @author xuchao 26 | * @date 2023-09-20 27 | */ 28 | @Data 29 | public class StatusVO { 30 | private String jobId; 31 | 32 | private String jobStatus; 33 | } 34 | -------------------------------------------------------------------------------- /conf/application.properties: -------------------------------------------------------------------------------- 1 | #server port 2 | #server.port = 18081 3 | #open session check 4 | #flink session check,default for true 5 | #chunjun.session.check = true 6 | #chunjun.session.deploy = true 7 | #chunjun.restful.enable = true 8 | 9 | #yarn config 10 | yarn.queue = default 11 | 12 | #log config 13 | log.level = INFO 14 | 15 | #env $FLINK_HOME 16 | flink.home.path = /Users/xuchao/MyPrograms/Flink/flink-1.16 17 | #flink.conf.path,default get from flink.home.path 18 | #flink.conf.path = /Users/xuchao/MyPrograms/Flink/flink-1.16/conf/ 19 | #flink.lib.path,default get from flink.home.path 20 | #flink.lib.path = /Users/xuchao/MyPrograms/Flink/flink-1.16/lib/ 21 | 22 | chunjun.home.path = /Users/xuchao/IdeaProjects/chunjun 23 | #chunjun.conf.path,default get from chunjun.home.path 24 | #chunjun.lib.path,default get from chunjun.home.path 25 | 26 | hadoop.conf.path = /Users/xuchao/conf/hadoopconf/dev_hadoop_new_flinkx01 27 | 28 | 29 | -------------------------------------------------------------------------------- /docs/docs_en/ChunJun Connector/hive/hive-lookup.md: -------------------------------------------------------------------------------- 1 | # hive Lookup 2 | 3 | ## 一、介绍 4 | 5 | Hive维表,使用原生Flink实现
6 | 具体参数及使用方式请参考:[Flink官方文档](https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/connectors/hive/) 7 | 8 | ## 二、脚本示例 9 | 10 | 见项目内`chunjun-examples`文件夹。 11 | -------------------------------------------------------------------------------- /docs/docs_zh/ChunJun连接器/hive/hive-lookup.md: -------------------------------------------------------------------------------- 1 | # hive Lookup 2 | 3 | ## 一、介绍 4 | 5 | Hive维表,使用原生Flink实现
6 | 具体参数及使用方式请参考:[Flink官方文档](https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/connectors/hive/) 7 | 8 | ## 二、脚本示例 9 | 10 | 见项目内`chunjun-examples`文件夹。 11 | -------------------------------------------------------------------------------- /website/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } -------------------------------------------------------------------------------- /website/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | /build/ 15 | 16 | # production 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | .pnpm-debug.log* 27 | 28 | # local env files 29 | .env*.local 30 | 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | -------------------------------------------------------------------------------- /website/chunjun-examples/json/binlog/binlog_stream.json: -------------------------------------------------------------------------------- 1 | { 2 | "job" : { 3 | "content" : [ { 4 | "reader" : { 5 | "parameter" : { 6 | "schema" : "tudou", 7 | "username" : "root", 8 | "password" : "root", 9 | "cat" : "insert,delete,update", 10 | "jdbcUrl" : "jdbc:mysql://localhost:3306/tudou?useSSL=false", 11 | "host" : "localhost", 12 | "port" : 3306, 13 | "start" : { 14 | "journal-name": "mysql-bin.000001" 15 | }, 16 | "table" : [ ], 17 | "splitUpdate" : true, 18 | "pavingData" : true 19 | }, 20 | "name" : "binlogreader" 21 | }, 22 | "writer" : { 23 | "parameter" : { 24 | "print" : true 25 | }, 26 | "name" : "streamwriter" 27 | } 28 | } ], 29 | "setting" : { 30 | "speed" : { 31 | "bytes" : 0, 32 | "channel" : 1 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /website/chunjun-examples/json/emqx/emqx_plain.json: -------------------------------------------------------------------------------- 1 | { 2 | "job": { 3 | "content": [{ 4 | "reader": { 5 | "parameter" : { 6 | "broker" : "tcp://localhost:1883", 7 | "topic" : "cx", 8 | "isCleanSession": true, 9 | "qos": 2, 10 | "codec": "plain" 11 | }, 12 | "name" : "emqxreader" 13 | }, 14 | "writer": { 15 | "parameter" : { 16 | "broker" : "tcp://localhost:1883", 17 | "topic" : "test", 18 | "isCleanSession": true, 19 | "qos": 2 20 | }, 21 | "name" : "emqxwriter" 22 | } 23 | } ], 24 | "setting": { 25 | "speed": { 26 | "channel": 1, 27 | "bytes": 0 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /website/chunjun-examples/json/emqx/emqx_sourcejson_data.json: -------------------------------------------------------------------------------- 1 | {"name":"alice","subject":[{"name":"math","score":89},{"name":"chinese","score":94},{"name":"english","score":73},{"name":"japanese","score":81}],"money":[1,2,3,4],"mother":{"name":"Lily","year":45},"id":1002} 2 | -------------------------------------------------------------------------------- /website/chunjun-examples/json/kafka/kafka_stream_data.txt: -------------------------------------------------------------------------------- 1 | {"id":100,"name":"lb james阿道夫","money":293.899778,"dateone":"2020-07-30 10:08:22","age":"33","datethree":"2020-07-30 10:08:22.123","datesix":"2020-07-30 10:08:22.123456","datenigth":"2020-07-30 10:08:22.123456789","dtdate":"2020-07-30","dttime":"10:08:22","dtime":"2020-08-30 11:08:22"} 2 | {"id":"100","name":"lb james阿道夫","money":"293.899778","dateone":"2020-07-30 10:08:22","age":"33","datethree":"2020-07-30 10:08:22.123","datesix":"2020-07-30 10:08:22.123456","datenigth":"2020-07-30 10:08:22.123456789","dtdate":"2020-07-30","dttime":"10:08:22","dtime":"2020-08-30 11:08:22"} 3 | -------------------------------------------------------------------------------- /website/chunjun-examples/json/logminer/logminer_stream.json: -------------------------------------------------------------------------------- 1 | { 2 | "job": { 3 | "content": [ 4 | { 5 | "reader": { 6 | "parameter": { 7 | "jdbcUrl": "jdbc:oracle:thin:@127.0.0.1:1521:xe", 8 | "username": "username", 9 | "password": "password", 10 | "supportAutoAddLog": false, 11 | "table": ["table.*"], 12 | "cat": "UPDATE,INSERT,DELETE", 13 | "pavingData" : true, 14 | "readPosition" : "CURRENT", 15 | "queryTimeout": 3000 16 | }, 17 | "name": "oraclelogminerreader" 18 | }, 19 | "writer": { 20 | "parameter": { 21 | "print": true 22 | }, 23 | "name": "streamwriter" 24 | } 25 | } 26 | ], 27 | "setting" : { 28 | "speed" : { 29 | "bytes" : 0, 30 | "channel" : 1 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /website/chunjun-examples/json/pgwal/pgwal_stream.json: -------------------------------------------------------------------------------- 1 | { 2 | "job" : { 3 | "content" : [ { 4 | "reader" : { 5 | "parameter" : { 6 | "temporary" : false, 7 | "password" : "****", 8 | "databaseName" : "postgres", 9 | "cat" : "insert,update,delete", 10 | "tableList" : [ "public.pgresult" ], 11 | "allowCreateSlot" : true, 12 | "pavingData" : true, 13 | "url" : "jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8", 14 | "username" : "dtstack_rep" 15 | }, 16 | "name" : "pgwalreader" 17 | }, 18 | "writer" : { 19 | "parameter" : { 20 | "print" : true 21 | }, 22 | "name" : "streamwriter" 23 | } 24 | } ], 25 | "setting" : { 26 | "restore" : { 27 | "isRestore" : true, 28 | "isStream" : true 29 | }, 30 | "errorLimit" : { 31 | }, 32 | "speed" : { 33 | "readerChannel" : 1, 34 | "writerChannel" : 1, 35 | "bytes" : -1048576, 36 | "channel" : 1 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /website/chunjun-examples/json/socket/socket_stream.json: -------------------------------------------------------------------------------- 1 | { 2 | "job" : { 3 | "content" : [ { 4 | "reader" : { 5 | "parameter" : { 6 | "address" : "127.0.0.1:9023", 7 | "parse" : "text" 8 | }, 9 | "name" : "socketreader" 10 | }, 11 | "writer": { 12 | "parameter": { 13 | "print": true 14 | }, 15 | "name": "streamwriter" 16 | } 17 | } ], 18 | "setting" : { 19 | "restore" : { 20 | "isRestore" : true, 21 | "isStream" : true 22 | }, 23 | "errorLimit" : { }, 24 | "speed" : { 25 | "readerChannel" : 1, 26 | "writerChannel" : 1, 27 | "bytes" : -1048576, 28 | "channel" : 1 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /website/chunjun-examples/json/sqlservercdc/sqlservercdc_stream.json: -------------------------------------------------------------------------------- 1 | { 2 | "job" : { 3 | "content" : [ { 4 | "reader" : { 5 | "parameter" : { 6 | "databaseName":"db_test", 7 | "tableList": ["test.test123"], 8 | "username" : "test", 9 | "password" : "Abc12345", 10 | "cat" : "insert,delete,update", 11 | "url" : "jdbc:sqlserver://localhost:1433;databaseName=db_test", 12 | "splitUpdate" : true, 13 | "pavingData" : true, 14 | "pollInterval" : 1000 15 | }, 16 | "name" : "sqlservercdcreader" 17 | }, 18 | "writer" : { 19 | "parameter" : { 20 | "print" : true 21 | }, 22 | "name" : "streamwriter" 23 | } 24 | } ], 25 | "setting" : { 26 | "speed" : { 27 | "bytes" : 0, 28 | "channel" : 1 29 | } 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/cassandra/cassandra-print.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source_one 2 | ( 3 | id int, 4 | name varchar, 5 | birth timestamp, 6 | todayTime time, 7 | todayDate date 8 | ) WITH ( 9 | 'connector' = 'cassandra-x', 10 | 'host' = 'ip1,ip2,ip3', 11 | 'port' = '9042', 12 | 'hostDistance' = 'local', 13 | 'user-name' = 'cassandra', 14 | 'password' = 'xxxxxxxx', 15 | 'table-name' = 'one', 16 | 'keyspaces' = 'tiezhu', 17 | ); 18 | 19 | CREATE TABLE sink_one 20 | ( 21 | id int, 22 | name varchar, 23 | birth timestamp, 24 | todayTime time, 25 | todayDate date 26 | ) WITH ( 27 | 'connector' = 'stream-x' 28 | ); 29 | 30 | 31 | INSERT INTO sink_one 32 | SELECT id, 33 | name, 34 | birth, 35 | todayTime, 36 | todayDate 37 | FROM source_one; 38 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/doris/stream-doris.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE test_kafka 2 | ( 3 | id int, 4 | name VARCHAR, 5 | message VARCHAR, 6 | age int, 7 | address VARCHAR, 8 | proc_time AS PROCTIME() 9 | ) WITH ( 10 | 'connector' = 'stream-x', 11 | 'number-of-rows' = '1000', -- 输入条数,默认无限 12 | 'rows-per-second' = '100' -- 每秒输入条数,默认不限制 13 | ); 14 | 15 | CREATE TABLE doris_out_test 16 | ( 17 | id int, 18 | name VARCHAR, 19 | message VARCHAR, 20 | age int, 21 | address VARCHAR 22 | ) WITH ( 23 | 'password' = '', 24 | 'connector' = 'doris-x', 25 | 'sink.buffer-flush.interval' = '1000', 26 | 'sink.all-replace' = 'false', 27 | 'sink.buffer-flush.max-rows' = '100', 28 | 'schema' = 'tiezhu', 29 | 'table-name' = 'doris_2', 30 | 'sink.parallelism' = '1', 31 | -- 'feNodes' = 'doris_fe:8030', 32 | 'url' = 'jdbc:mysql://doris_fe:9030', 33 | 'username' = 'root' 34 | ); 35 | 36 | insert 37 | into doris_out_test 38 | select id as id, 39 | name as name, 40 | message as message, 41 | age as age, 42 | address as address 43 | from test_kafka; 44 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/elasticsearch5/es2es.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE es7_source( 2 | id int 3 | , phone bigint 4 | , qq varchar 5 | , wechat varchar 6 | , income decimal(10,6) 7 | , birthday timestamp 8 | , today date 9 | , timecurrent time ) 10 | WITH( 11 | 'connector' ='elasticsearch5-x', 12 | 'hosts' ='localhost:9300', 13 | 'index' ='mowen1', 14 | 'cluster' = 'elasticsearch', 15 | 'document-type' = 'schema1'); 16 | 17 | 18 | CREATE TABLE es7_sink( 19 | id int 20 | , phone bigint 21 | , qq varchar 22 | , wechat varchar 23 | , income decimal(10,6) 24 | , birthday timestamp 25 | , today date 26 | , timecurrent time ) 27 | WITH( 28 | 'connector' ='elasticsearch5-x' 29 | ,'hosts' ='localhost:9300', 30 | 'index' ='students_4', 31 | 'cluster' = 'elasticsearch', 32 | 'document-type' = 'schema12' 33 | ); 34 | 35 | 36 | INSERT INTO es7_sink 37 | SELECT * 38 | FROM es7_source; 39 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/elasticsearch6/es2es.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE es6_source( 2 | id int 3 | , phone bigint 4 | , qq varchar 5 | , wechat varchar 6 | , income decimal(10,2) 7 | , birthday timestamp 8 | , today date 9 | , timecurrent time 10 | ) 11 | 12 | WITH( 13 | 'connector' ='es-x', 14 | 'hosts' ='localhost:9200', 15 | 'index' ='mowen', 16 | 'document-type' = '_doc'); 17 | 18 | 19 | CREATE TABLE es6_sink( 20 | id int 21 | , phone bigint 22 | , qq varchar 23 | , wechat varchar 24 | , income decimal(10,2) 25 | , birthday timestamp 26 | , today date 27 | , timecurrent time 28 | ) 29 | 30 | WITH( 31 | 'connector' ='es-x' 32 | ,'hosts' ='localhost:9200', 33 | 'index' ='testdate21', 34 | 'document-type' = '_doc' 35 | ); 36 | 37 | 38 | INSERT INTO es6_sink 39 | SELECT * 40 | FROM es6_source; 41 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/file/file_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE FILE_SOURCE ( 2 | C_ID INT, 3 | C_BOOLEAN BOOLEAN, 4 | C_TINYINT TINYINT, 5 | C_SMALLINT SMALLINT, 6 | C_INT INT, 7 | C_BIGINT BIGINT, 8 | C_FLOAT FLOAT, 9 | C_DOUBLE DOUBLE, 10 | C_DECIMAL DECIMAL, 11 | C_STRING STRING, 12 | C_VARCHAR VARCHAR(255), 13 | C_CHAR CHAR(255), 14 | C_TIMESTAMP TIMESTAMP, 15 | C_DATE DATE 16 | ) WITH ( 17 | 'connector' = 'file-x', 18 | 'path' = '/tmp/source/data.csv', 19 | 'format' = 'csv' 20 | ); 21 | 22 | CREATE TABLE SINK ( 23 | C_ID INT, 24 | C_BOOLEAN BOOLEAN, 25 | C_TINYINT TINYINT, 26 | C_SMALLINT SMALLINT, 27 | C_INT INT, 28 | C_BIGINT BIGINT, 29 | C_FLOAT FLOAT, 30 | C_DOUBLE DOUBLE, 31 | C_DECIMAL DECIMAL, 32 | C_STRING STRING, 33 | C_VARCHAR VARCHAR(255), 34 | C_CHAR CHAR(255), 35 | C_TIMESTAMP TIMESTAMP, 36 | C_DATE DATE 37 | ) WITH ( 38 | 'connector' = 'stream-x', 39 | 'print' = 'true' 40 | ); 41 | 42 | INSERT INTO SINK 43 | SELECT * 44 | FROM FILE_SOURCE; 45 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/filesystem/s3/s3sink.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source ( 2 | name String 3 | ) WITH ( 4 | 'connector' = 'kafka-x', 5 | 'topic' = 'shifang_s3', 6 | 'properties.bootstrap.servers' = 'chunjun1:9092', 7 | 'scan.startup.mode' = 'earliest-offset', 8 | 'format' = 'json' 9 | ); 10 | 11 | CREATE TABLE sink10 ( 12 | name String 13 | ) WITH ( 14 | 'connector' = 'filesystem-x', 15 | 'path' = 's3a://daishu-csp-test01-1255000139/test/shifang1211/', 16 | 'format' = 'json', 17 | 'sink.rolling-policy.rollover-interval' = '10s', 18 | 'sink.rolling-policy.rollover-interval' = '30min', 19 | 'auto-compaction' = 'true', 20 | 's3.access-key' ='xxxxxxxxxx', 21 | 's3.secret-key' = 'xxxxxxxxxx', 22 | 's3.ssl.enabled' ='false', 23 | 's3.path.style.access' = 'true', 24 | 's3.endpoint'= 'https://xxxxxxx' 25 | ); 26 | 27 | insert into sink10 select name from source 28 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/gbase/gbase_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | id int, 4 | name varchar, 5 | price decimal, 6 | money double, 7 | message string, 8 | age tinyint, 9 | todayTimestamp timestamp, 10 | todayDate date, 11 | todayTime time 12 | ) WITH ( 13 | 'connector' = 'gbase-x', 14 | 'url' = 'jdbc:gbase://gbase:5258/dev_db', 15 | 'table-name' = 'sink', 16 | 'schema' = 'dev_db', 17 | 'username' = 'dev', 18 | 'password' = 'dev123', 19 | 'scan.fetch-size' = '2', 20 | 'scan.query-timeout' = '10' 21 | ); 22 | 23 | CREATE TABLE sink 24 | ( 25 | id int, 26 | name varchar, 27 | price decimal, 28 | money double, 29 | message string, 30 | age tinyint, 31 | todayTimestamp timestamp, 32 | todayDate date, 33 | todayTime time 34 | ) WITH ( 35 | 'connector' = 'stream-x' 36 | ); 37 | 38 | insert into sink 39 | select * 40 | from source; 41 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/gbase/stream_gbase.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | id int, 4 | name varchar, 5 | price decimal, 6 | money double, 7 | message string, 8 | age tinyint, 9 | todayTimestamp timestamp, 10 | todayDate date, 11 | todayTime time 12 | ) WITH ( 13 | 'connector' = 'gbase-x', 14 | 'url' = 'jdbc:gbase://gbase:5258/dev_db', 15 | 'table-name' = 'sink', 16 | 'schema' = 'dev_db', 17 | 'username' = 'dev', 18 | 'password' = 'dev123', 19 | 'sink.buffer-flush.max-rows' = '1', 20 | 'sink.all-replace' = 'false' 21 | ); 22 | 23 | CREATE TABLE sink 24 | ( 25 | id int, 26 | name varchar, 27 | price decimal, 28 | money double, 29 | message string, 30 | age tinyint, 31 | todayTimestamp timestamp, 32 | todayDate date, 33 | todayTime time 34 | ) WITH ( 35 | 'connector' = 'stream-x', 36 | 'number-of-rows' = '50' 37 | ); 38 | 39 | insert into source 40 | select * 41 | from sink; 42 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/hbase/hbase_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | rowkey VARCHAR, 4 | info ROW, 5 | PRIMARY KEY (rowkey) NOT ENFORCED 6 | ) WITH ( 7 | 'connector' = 'hbase14-x' 8 | ,'zookeeper.quorum' = 'kudu1:2181,kudu2:2181,kudu3:2181' 9 | ,'zookeeper.znode.parent' = '/hbase_2.x' 10 | ,'null-string-literal' = 'null' 11 | ,'sink.buffer-flush.max-size' = '1000' 12 | ,'sink.buffer-flush.max-rows' = '1000' 13 | ,'sink.buffer-flush.interval' = '60' 14 | ,'table-name' = 'test' 15 | ); 16 | 17 | CREATE TABLE sink 18 | ( 19 | rowkey VARCHAR 20 | ) WITH ( 21 | 'connector' = 'stream-x' 22 | ); 23 | 24 | insert into sink 25 | SELECT rowkey 26 | from source u; 27 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/hbase/stream_hbase.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | rowkey VARCHAR, 4 | item_id VARCHAR, 5 | category_id VARCHAR, 6 | behavior VARCHAR, 7 | ts TIMESTAMP(3) 8 | ) WITH ( 9 | 'connector' = 'stream-x' 10 | ); 11 | 12 | CREATE TABLE sink 13 | ( 14 | rowkey VARCHAR, 15 | cf ROW(item_id VARCHAR, category_id VARCHAR, behavior VARCHAR, ts TIMESTAMP(3)), 16 | PRIMARY KEY (rowkey) NOT ENFORCED 17 | ) WITH ( 18 | 'connector' = 'hbase14-x' 19 | ,'zookeeper.quorum' = 'kudu1:2181,kudu2:2181,kudu3:2181' 20 | ,'zookeeper.znode.parent' = '/hbase_2.x' 21 | ,'null-string-literal' = 'null' 22 | ,'sink.buffer-flush.max-size' = '1000' 23 | ,'sink.buffer-flush.max-rows' = '1000' 24 | ,'sink.buffer-flush.interval' = '60' 25 | ,'table-name' = 'test' 26 | ); 27 | 28 | insert into sink 29 | SELECT rowkey, ROW(item_id, category_id, behavior, ts ) as cf 30 | from source u; 31 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/logminer/logminer_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | ID bigint, 4 | TTIME DATE, 5 | TTIMESTAMP TIMESTAMP 6 | ) WITH ( 7 | 'connector' = 'oraclelogminer-x' 8 | ,'url' = 'jdbc:oracle:thin:@127.0.0.1:1521:xe' 9 | ,'username' = 'username' 10 | ,'password' = 'password' 11 | ,'cat' = 'insert,delete,update' 12 | ,'table' = 'schema.table' 13 | ,'timestamp-format.standard' = 'SQL' 14 | ); 15 | 16 | CREATE TABLE sink 17 | ( 18 | ID bigint, 19 | TTIME DATE, 20 | TTIMESTAMP TIMESTAMP 21 | ) WITH ( 22 | 'connector' = 'stream-x' 23 | ); 24 | 25 | insert into sink 26 | select * 27 | from source u; 28 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/phoenix5/phoenix5_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source ( 2 | id bigint primary key, 3 | NAME varchar 4 | ) WITH ( 5 | 'connector' = 'phoenix5-x', 6 | 'username' = '', 7 | 'password' = '', 8 | 'url' = 'jdbc:phoenix:chunjun1,chunjun2,chunjun3:2181', 9 | 'table-name' = 't1' 10 | ); 11 | 12 | CREATE TABLE sink ( 13 | id bigint, 14 | name varchar 15 | ) WITH ('connector' = 'stream-x'); 16 | 17 | insert into sink 18 | select * 19 | from source u; 20 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/sqlservercdc/sqlservercdc_stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | id int, 4 | name varchar(22), 5 | day1 date, 6 | day2 timestamp, 7 | sale decimal(10,3) 8 | 9 | ) WITH ( 10 | 'connector' = 'sqlservercdc-x' 11 | ,'username' = 'test' 12 | ,'password' = 'Abc12345' 13 | ,'cat' = 'insert,delete,update' 14 | ,'url' = 'jdbc:sqlserver://localhost:1433;databaseName=db_test' 15 | ,'table' = 'test.shifang2' 16 | ,'timestamp-format.standard' = 'SQL' 17 | ,'database' = 'db_test' 18 | ,'poll-interval' = '1000' 19 | ); 20 | 21 | CREATE TABLE sink 22 | ( 23 | id int, 24 | name varchar(22), 25 | day1 date, 26 | day2 timestamp, 27 | sale decimal(10,3) 28 | ) WITH ( 29 | 'connector' = 'stream-x' 30 | ); 31 | 32 | insert into sink 33 | select * 34 | from source u; 35 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/starrocks/mysql_starrocks.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | appkey varchar, 4 | day_id int, 5 | channel varchar, 6 | pv int, 7 | uv int, 8 | retry_done int 9 | ) WITH ( 10 | 'connector' = 'mysql-x' 11 | ,'url' = 'jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false' 12 | ,'table-name' = 'starrocks_test' 13 | ,'username' = 'root' 14 | ,'password' = 'root' 15 | ); 16 | 17 | CREATE TABLE sink 18 | ( 19 | name varchar, 20 | type int, 21 | attr varchar, 22 | score int, 23 | quarter int, 24 | num int 25 | ) WITH ( 26 | 'connector' = 'starrocks-x' 27 | ,'jdbc-url'='jdbc:mysql://localhost:9030/test?useUnicode=true&characterEncoding=utf8&useSSL=false&rewriteBatchedStatements=true&&serverTimezone=Asia/Shanghai' 28 | ,'load-url'='localhost' 29 | ,'database-name' = 'test' 30 | ,'table-name' = 'starrocks_sink_test' 31 | ,'username' = 'root' 32 | ,'password' = 'root' 33 | ); 34 | 35 | insert into sink 36 | select appkey,day_id,channel,pv,uv, 1 as retry_done 37 | from source; 38 | -------------------------------------------------------------------------------- /website/chunjun-examples/sql/stream/stream.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE source 2 | ( 3 | id INT, 4 | name STRING, 5 | money DECIMAL(32, 2), 6 | dateone timestamp, 7 | age bigint, 8 | datethree timestamp, 9 | datesix timestamp(6), 10 | datenigth timestamp(9), 11 | dtdate date, 12 | dttime time 13 | ) WITH ( 14 | 'connector' = 'stream-x', 15 | 'number-of-rows' = '10', -- 输入条数,默认无限 16 | 'rows-per-second' = '1' -- 每秒输入条数,默认不限制 17 | ); 18 | 19 | CREATE TABLE sink 20 | ( 21 | id INT, 22 | name STRING, 23 | money DECIMAL(32, 2), 24 | dateone timestamp, 25 | age bigint, 26 | datethree timestamp, 27 | datesix timestamp(6), 28 | datenigth timestamp(9), 29 | dtdate date, 30 | dttime time 31 | ) WITH ( 32 | 'connector' = 'stream-x', 33 | 'print' = 'true' 34 | ); 35 | 36 | insert into sink 37 | select * 38 | from source; 39 | -------------------------------------------------------------------------------- /website/components/PostBody.tsx: -------------------------------------------------------------------------------- 1 | import { TypographyStylesProvider } from '@mantine/core' 2 | import { useMantineColorScheme } from '@mantine/core' 3 | import 'highlight.js/styles/atom-one-dark.css' 4 | type Props = { 5 | content: string 6 | } 7 | 8 | const PostBody = (props: Props) => { 9 | const { content } = props 10 | const { colorScheme } = useMantineColorScheme() 11 | 12 | return ( 13 | ({ 15 | main: { 16 | backgroundColor: 17 | theme.colorScheme === 'dark' 18 | ? theme.colors.dark[4] 19 | : theme.colors.white, 20 | padding: 0 21 | } 22 | })} 23 | className="md:col-span-3 p-4 overflow-hidden" 24 | > 25 |
29 | 30 | ) 31 | } 32 | 33 | export default PostBody 34 | -------------------------------------------------------------------------------- /website/components/useLocale.tsx: -------------------------------------------------------------------------------- 1 | import React, { useEffect, useState } from 'react' 2 | import { LocaleType } from '@/api/post-api'; 3 | import { useLanguageQuery } from '@/next-export-i18n'; 4 | 5 | function useLocale() { 6 | const [query] = useLanguageQuery(); 7 | const [locale, setLocale] = useState('zh'); 8 | 9 | useEffect(() => { 10 | setLocale(query?.lang === 'en' ? 'en' : 'zh'); 11 | }, [query?.lang]); 12 | 13 | return locale 14 | } 15 | 16 | export default useLocale -------------------------------------------------------------------------------- /website/config/color.ts: -------------------------------------------------------------------------------- 1 | import Color from "color" 2 | 3 | 4 | export const primaryColor = Color('#88C0D6') 5 | 6 | // HEX: #88C0D6 7 | // RGB: R136 G192 B214 8 | // CMYK: C36 M10 Y0 K16 9 | // HSB: H196 S36% B83% -------------------------------------------------------------------------------- /website/config/companies.ts: -------------------------------------------------------------------------------- 1 | export const companies: string[] = [ 2 | '/assets/img/nat-1.png', 3 | '/assets/img/nat-2.png', 4 | '/assets/img/nat-3.png', 5 | '/assets/img/nat-4.png', 6 | '/assets/img/nat-5.png', 7 | '/assets/img/nat-6.png', 8 | '/assets/img/nat-7.png', 9 | '/assets/img/nat-8.png', 10 | '/assets/img/nat-9.png', 11 | '/assets/img/nat-10.png', 12 | '/assets/img/nat-11.png', 13 | '/assets/img/nat-12.png', 14 | '/assets/img/nat-13.png', 15 | '/assets/img/nat-14.png', 16 | '/assets/img/nat-15.png', 17 | '/assets/img/nat-16.png', 18 | '/assets/img/nat-17.png', 19 | '/assets/img/nat-18.png', 20 | '/assets/img/nat-19.png', 21 | '/assets/img/nat-20.png', 22 | '/assets/img/nat-21.png', 23 | '/assets/img/nat-22.png', 24 | '/assets/img/nat-23.png', 25 | '/assets/img/more.svg' 26 | ] 27 | -------------------------------------------------------------------------------- /website/githubInfo/build.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @description 获取chunjun repo 成员的脚本 3 | * 使用node 执行后 成员信息会保存在同级目录的 member.json下 4 | */ 5 | const axios = require('axios') 6 | const contributorsApi = 7 | 'https://api.github.com/repos/DTStack/chunjun/contributors' 8 | const fs = require('fs') 9 | const path = require('path') 10 | const fileName = 'members.json' 11 | axios 12 | .get(contributorsApi) 13 | .then((res) => { 14 | fs.writeFileSync( 15 | path.resolve(__dirname, './' + fileName), 16 | JSON.stringify(res.data, null, '\t') 17 | ) 18 | }) 19 | .catch((error) => { 20 | console.error(error) 21 | }) 22 | -------------------------------------------------------------------------------- /website/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "Home": { 3 | "title": "Chunjun", 4 | "quickStart": "Quick Start" 5 | }, 6 | "Header": { 7 | "home": "Home", 8 | "documents": "Docs", 9 | "download": "Download", 10 | "resources": "Resource", 11 | "contributor": "Contributor", 12 | "faq": "Faq", 13 | "examples": "Examples", 14 | "sql": "SQL", 15 | "json": "JSON" 16 | }, 17 | "Faq": { 18 | "introduction": "Hi, There are some guidelines, you can read it to know more about Chenjun<,Have a good time!", 19 | "pr": "How To Submit A Great Pull Request", 20 | "plugin": "How To Customize A Plugin" 21 | }, 22 | "docs": { 23 | "quickStart": "Quick-Start" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /website/i18n/index.js: -------------------------------------------------------------------------------- 1 | var en = require("./en.json"); 2 | var zh = require("./zh.json"); 3 | 4 | export const i18n = { 5 | translations: { 6 | en, 7 | zh, 8 | }, 9 | defaultLang: "zh", 10 | useBrowserDefault: true, 11 | }; 12 | 13 | -------------------------------------------------------------------------------- /website/i18n/zh.json: -------------------------------------------------------------------------------- 1 | { 2 | "Home": { 3 | "title": "纯钧", 4 | "quickStart": "快速开始" 5 | }, 6 | "Header": { 7 | "home": "主页", 8 | "documents": "文档", 9 | "download": "下载", 10 | "resources": "资源", 11 | "contributor": "贡献者", 12 | "faq": "指南", 13 | "examples": "案例", 14 | "sql": "SQL", 15 | "json": "JSON" 16 | }, 17 | "Faq": { 18 | "introduction": "hi, 你好, 这里是指南,你可以通过阅读我们的指南来了解纯钧,祝你玩得开心!", 19 | "pr": "如何提交一个优秀的PR", 20 | "plugin": "如何自定义插件" 21 | }, 22 | "docs": { 23 | "quickStart": "快速开始" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /website/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /website/next-export-i18n/hooks/use-language-switcher-is-active.tsx: -------------------------------------------------------------------------------- 1 | 2 | import React, { ReactNode, useState, useEffect} from 'react'; 3 | import { useRouter } from 'next/router'; 4 | import i18n from '../I18n'; 5 | import { I18N } from '../types'; 6 | 7 | /** 8 | * Returns a boolean react-state indicating if the current selected language equals the one passed to the hook. 9 | * @param currentLang string the language to check. Needs to equal the key in i18n/index. 10 | * @returns boolean react-state 11 | */ 12 | export default function useLanguageSwitcherIsActive(currentLang: string) { 13 | let i18nObj: I18N; 14 | i18nObj = i18n() as I18N; 15 | const defaultLang: string = i18nObj.defaultLang; 16 | const router = useRouter(); 17 | const [isActive, setIsActive] = useState(false); 18 | useEffect( () => { 19 | let current = false; 20 | if (!router.query || !router.query.lang) { 21 | current = defaultLang === currentLang; 22 | } 23 | else { 24 | current = router.query.lang === currentLang; 25 | } 26 | setIsActive(current); 27 | },[currentLang, defaultLang, router.query]); 28 | return { isActive } as const; 29 | // return [isActive] as const; 30 | } 31 | 32 | 33 | -------------------------------------------------------------------------------- /website/next-export-i18n/hooks/use-selected-language.tsx: -------------------------------------------------------------------------------- 1 | import { useRouter } from 'next/router'; 2 | import { useEffect, useState } from 'react'; 3 | import i18n from '../I18n'; 4 | import { I18N } from '../types'; 5 | 6 | /** 7 | * Returns a react-state containing the currently selected language. 8 | * @returns [lang as string, setLang as SetStateAction] a react-state containing the currently selected language 9 | */ 10 | export default function useSelectedLanguage() { 11 | let i18nObj: I18N; 12 | 13 | i18nObj = i18n() as I18N; 14 | 15 | const defaultLang: string = i18nObj.defaultLang; 16 | const translations = i18nObj.translations; 17 | const router = useRouter(); 18 | const [lang, setLang] = useState(defaultLang); 19 | 20 | // set the language if the query parameter changes 21 | useEffect(() => { 22 | if (router.query.lang && router.query.lang !== lang && translations && translations[router.query.lang as string]) { 23 | let lang: string = router.query.lang as string; 24 | setLang(lang); 25 | } 26 | 27 | }, [lang, router.query.lang]); 28 | return { lang, setLang } as const; 29 | // return [lang, setLang] as const; 30 | } 31 | -------------------------------------------------------------------------------- /website/next-export-i18n/index.tsx: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * the unified entry file for the exported and compiled node module 4 | */ 5 | import useLanguageQuery from './hooks/use-language-query'; 6 | import useSelectedLanguage from './hooks/use-selected-language'; 7 | import useLanguageSwitcherIsActive from './hooks/use-language-switcher-is-active'; 8 | import { useTranslation } from './hooks/use-translation'; 9 | import LanguageSwitcher from './components/language-switcher'; 10 | import i18n from "./I18n"; 11 | 12 | export { useLanguageQuery, useSelectedLanguage, useLanguageSwitcherIsActive, useTranslation, LanguageSwitcher }; 13 | export default i18n; 14 | -------------------------------------------------------------------------------- /website/next-export-i18n/types/index.tsx: -------------------------------------------------------------------------------- 1 | export type Dictionary = { [key: string]: string | Dictionary }; 2 | 3 | export type I18N = { 4 | translations: { [language: string]: Dictionary }; 5 | defaultLang: string; 6 | useBrowserDefault: boolean; 7 | }; 8 | -------------------------------------------------------------------------------- /website/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | swcMinify: true, 5 | env: { 6 | sep: '@', 7 | root_en: '../docs/docs_en', 8 | root_zh: '../docs/docs_zh', 9 | sql: '/chunjun-examples/sql', 10 | json: '/chunjun-examples/json' 11 | } 12 | }; 13 | 14 | const isProd = process.env.NODE_ENV === 'production'; 15 | 16 | if (isProd) { 17 | nextConfig.images = { 18 | loader: 'imgix', 19 | domains: ['github.com'], 20 | basePath: '/chunjun', 21 | path: 'https://dtstack.github.io/chunjun' 22 | }; 23 | nextConfig.basePath = '/chunjun'; 24 | } else { 25 | nextConfig.experimental = { 26 | images: { 27 | unoptimized: true 28 | } 29 | }; 30 | } 31 | 32 | module.exports = nextConfig; 33 | -------------------------------------------------------------------------------- /website/pages/help/index.tsx: -------------------------------------------------------------------------------- 1 | const HelpUs = () => { 2 | return

help us

; 3 | }; 4 | 5 | export default HelpUs; 6 | -------------------------------------------------------------------------------- /website/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /website/public/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/.nojekyll -------------------------------------------------------------------------------- /website/public/assets/img/dingding.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/dingding.jpg -------------------------------------------------------------------------------- /website/public/assets/img/dt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/dt.jpg -------------------------------------------------------------------------------- /website/public/assets/img/flink-png@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/flink-png@2x.png -------------------------------------------------------------------------------- /website/public/assets/img/fudan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/fudan.png -------------------------------------------------------------------------------- /website/public/assets/img/more.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /website/public/assets/img/nat-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-1.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-10.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-11.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-12.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-13.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-14.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-15.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-16.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-17.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-18.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-19.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-2.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-20.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-21.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-22.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-23.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-24.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-25.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-26.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-27.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-28.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-29.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-3.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-30.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-31.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-32.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-4.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-5.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-6.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-7.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-8.png -------------------------------------------------------------------------------- /website/public/assets/img/nat-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/nat-9.png -------------------------------------------------------------------------------- /website/public/assets/img/zheda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/zheda.png -------------------------------------------------------------------------------- /website/public/assets/img/zhongxin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/assets/img/zhongxin.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner1.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner10.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner11.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner12.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner13.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner14.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner15.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner16.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner17.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner18.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner19.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner2.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner20.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner21.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner22.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner23.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner3.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner4.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner5.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner6.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner7.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner8.png -------------------------------------------------------------------------------- /website/public/doc/LogMiner/LogMiner9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/LogMiner/LogMiner9.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver1.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver10.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver11.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver12.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver13.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver14.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver16.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver17.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver18.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver19.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver2.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver3.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver4.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver5.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver6.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver7.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver8.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/Sqlserver9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/Sqlserver9.png -------------------------------------------------------------------------------- /website/public/doc/SqlserverCDC/SqlserverCdc流程图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/SqlserverCDC/SqlserverCdc流程图.png -------------------------------------------------------------------------------- /website/public/doc/contribute/195230-11f4ee6bc7e788c7.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/195230-11f4ee6bc7e788c7.webp -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220614143347037.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220614143347037.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220614144650798.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220614144650798.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220614145127874.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220614145127874.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220614145839069.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220614145839069.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220614150742626.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220614150742626.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220614151300210.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220614151300210.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220614152751238.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220614152751238.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220614152928836.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220614152928836.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220614153545215.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220614153545215.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220614171917692.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220614171917692.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220614172338108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220614172338108.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220616102414067.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220616102414067.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220616102856402.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220616102856402.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220616103241458.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220616103241458.png -------------------------------------------------------------------------------- /website/public/doc/contribute/image-20220616112115980.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/contribute/image-20220616112115980.png -------------------------------------------------------------------------------- /website/public/doc/dirty/dirty-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/dirty/dirty-1.png -------------------------------------------------------------------------------- /website/public/doc/dirty/dirty-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/dirty/dirty-2.png -------------------------------------------------------------------------------- /website/public/doc/dirty/dirty-conf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/dirty/dirty-conf.png -------------------------------------------------------------------------------- /website/public/doc/dirty/dirty-manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/dirty/dirty-manager.png -------------------------------------------------------------------------------- /website/public/doc/docusaurus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/docusaurus.png -------------------------------------------------------------------------------- /website/public/doc/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/favicon.ico -------------------------------------------------------------------------------- /website/public/doc/incremental/prometheus-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/incremental/prometheus-search.png -------------------------------------------------------------------------------- /website/public/doc/pr/pr1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/pr/pr1.png -------------------------------------------------------------------------------- /website/public/doc/pr/pr2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/pr/pr2.png -------------------------------------------------------------------------------- /website/public/doc/pr/pr3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/pr/pr3.png -------------------------------------------------------------------------------- /website/public/doc/pr/pr4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/pr/pr4.png -------------------------------------------------------------------------------- /website/public/doc/pr/pr5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/pr/pr5.png -------------------------------------------------------------------------------- /website/public/doc/pr/pr6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/pr/pr6.png -------------------------------------------------------------------------------- /website/public/doc/pr/pr7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/pr/pr7.png -------------------------------------------------------------------------------- /website/public/doc/pr/pr8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/pr/pr8.png -------------------------------------------------------------------------------- /website/public/doc/pr/pr9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/pr/pr9.png -------------------------------------------------------------------------------- /website/public/doc/quickstart/quick_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/quickstart/quick_1.png -------------------------------------------------------------------------------- /website/public/doc/quickstart/quick_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/quickstart/quick_2.png -------------------------------------------------------------------------------- /website/public/doc/quickstart/quick_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/quickstart/quick_3.png -------------------------------------------------------------------------------- /website/public/doc/quickstart/quick_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/quickstart/quick_4.png -------------------------------------------------------------------------------- /website/public/doc/quickstart/quick_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/quickstart/quick_5.png -------------------------------------------------------------------------------- /website/public/doc/quickstart/quick_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/quickstart/quick_6.png -------------------------------------------------------------------------------- /website/public/doc/quickstart/quick_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/quickstart/quick_7.png -------------------------------------------------------------------------------- /website/public/doc/quickstart/quick_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/quickstart/quick_8.png -------------------------------------------------------------------------------- /website/public/doc/restore/restore1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/restore/restore1.png -------------------------------------------------------------------------------- /website/public/doc/restore/restore2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/restore/restore2.png -------------------------------------------------------------------------------- /website/public/doc/tutorial/docsVersionDropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/tutorial/docsVersionDropdown.png -------------------------------------------------------------------------------- /website/public/doc/tutorial/localeDropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/doc/tutorial/localeDropdown.png -------------------------------------------------------------------------------- /website/public/dt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/dt.jpg -------------------------------------------------------------------------------- /website/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DTStack/chunjun/b040670885ff985feba5647db634b1ac0b5a40e8/website/public/favicon.ico -------------------------------------------------------------------------------- /website/styles/font.css: -------------------------------------------------------------------------------- 1 | /* @import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300&display=swap'); */ 2 | /* @import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@1,300&display=swap'); */ 3 | @import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300&display=swap'); 4 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap'); 5 | @import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300&display=swap'); 6 | -------------------------------------------------------------------------------- /website/tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | mode: 'jit', 4 | content: [ 5 | './pages/**/*.{js,ts,jsx,tsx}', 6 | './components/**/*.{js,ts,jsx,tsx}', 7 | './common/**/*.{js,ts,jsx,tsx}' 8 | ], 9 | theme: { 10 | extend: { 11 | backgroundImage: { 12 | 'data-light': "url('/assets/svg/cdp-data-light.svg')", 13 | 'data-dark': "url('/assets/svg/cdp-data-dark.svg')" 14 | } 15 | } 16 | }, 17 | plugins: [], 18 | darkMode: 'class' 19 | } 20 | -------------------------------------------------------------------------------- /website/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2015", 4 | "lib": [ 5 | "dom", 6 | "dom.iterable", 7 | "esnext" 8 | ], 9 | "allowJs": true, 10 | "skipLibCheck": true, 11 | "strict": true, 12 | "forceConsistentCasingInFileNames": true, 13 | "noEmit": true, 14 | "esModuleInterop": true, 15 | "module": "esnext", 16 | "moduleResolution": "node", 17 | "resolveJsonModule": true, 18 | "isolatedModules": true, 19 | "jsx": "preserve", 20 | "incremental": true, 21 | "baseUrl": ".", 22 | "paths": { 23 | "@/*": [ 24 | "./*" 25 | ], 26 | } 27 | }, 28 | "include": [ 29 | "next-env.d.ts", 30 | "**/*.ts", 31 | "**/*.tsx" 32 | ], 33 | "exclude": [ 34 | "node_modules" 35 | ] 36 | } -------------------------------------------------------------------------------- /website/types/Context.ts: -------------------------------------------------------------------------------- 1 | type Context = { 2 | locales: string[]; 3 | locale: string; 4 | defaultLocale: string; 5 | }; 6 | 7 | export default Context; 8 | -------------------------------------------------------------------------------- /website/types/FileTree.ts: -------------------------------------------------------------------------------- 1 | type FileTree = { 2 | label: string; 3 | category: "dir" | "file"; 4 | children?: FileTree[]; 5 | path?: string; 6 | }; 7 | 8 | export default FileTree; 9 | -------------------------------------------------------------------------------- /website/types/Item.ts: -------------------------------------------------------------------------------- 1 | type Items = { 2 | [key: string]: string; 3 | }; 4 | 5 | export default Items; 6 | -------------------------------------------------------------------------------- /website/types/MDFile.ts: -------------------------------------------------------------------------------- 1 | import Toc from '@/types/Toc' 2 | 3 | type MDFileType = { 4 | content: string 5 | toc: Toc[] 6 | } 7 | 8 | export default MDFileType 9 | -------------------------------------------------------------------------------- /website/types/Params.ts: -------------------------------------------------------------------------------- 1 | type Params = { 2 | params: { 3 | slug: string 4 | } 5 | } 6 | 7 | export default Params 8 | -------------------------------------------------------------------------------- /website/types/Toc.ts: -------------------------------------------------------------------------------- 1 | type Toc = { 2 | level: 1 | 2 | 3 | 4 | 5 3 | text: string 4 | id: string 5 | } 6 | 7 | export default Toc 8 | -------------------------------------------------------------------------------- /website/utils/loader.ts: -------------------------------------------------------------------------------- 1 | import Image from 'next/image' 2 | 3 | type ImageLoader = { 4 | src: string 5 | width: number 6 | quality: number 7 | } 8 | 9 | export const customLoader = (imageLoader: ImageLoader) => { 10 | return 11 | } 12 | -------------------------------------------------------------------------------- /website/utils/markdown2html.ts: -------------------------------------------------------------------------------- 1 | import { marked } from 'marked' 2 | import Toc from '@/types/Toc' 3 | import { v4 as uuidv4 } from 'uuid' 4 | import hljs from 'highlight.js' 5 | 6 | export const markdownToHtml = async (markdown: string) => { 7 | const toc: Toc[] = [] 8 | const renderer = { 9 | heading(text: string, level: 1 | 2 | 3 | 4 | 5) { 10 | toc.push({ 11 | text, 12 | level, 13 | id: uuidv4() 14 | }) 15 | return ` 16 | 17 | 18 | ${text} 19 | 20 | ` 21 | } 22 | } 23 | 24 | marked.use({ renderer }) 25 | marked.setOptions({ 26 | highlight: function (code) { 27 | return hljs.highlightAuto(code).value 28 | } 29 | }) 30 | return { 31 | content: marked.parse(markdown), 32 | toc 33 | } 34 | } 35 | --------------------------------------------------------------------------------