├── .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 | [](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 |
--------------------------------------------------------------------------------