├── .asf.yaml ├── .dlc.json ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug-report.yml │ ├── feature-request.yml │ └── umbrella.yml ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── add-label.yml │ ├── approve-label-trigger.yml │ ├── approve-label.yml │ ├── backend.yml │ ├── build_main.yml │ ├── codeql.yaml │ ├── labeler │ └── label-scope-conf.yml │ ├── notify_test_workflow.yml │ ├── publish-docker.yaml │ ├── publish-helm-chart.yaml │ ├── schedule_backend.yml │ ├── stale.yml │ └── update_build_status.yml ├── .gitignore ├── .gitmodules ├── .idea ├── icon.png └── vcs.xml ├── .licenserc.yaml ├── .mvn └── wrapper │ └── maven-wrapper.properties ├── LICENSE ├── NOTICE ├── README.md ├── bin ├── install-plugin.cmd └── install-plugin.sh ├── config ├── hazelcast-client.yaml ├── hazelcast-master.yaml ├── hazelcast-worker.yaml ├── hazelcast.yaml ├── jvm_client_options ├── jvm_master_options ├── jvm_options ├── jvm_worker_options ├── log4j2.properties ├── log4j2_client.properties ├── plugin_config ├── seatunnel-env.cmd ├── seatunnel-env.sh ├── seatunnel.yaml ├── v2.batch.config.template └── v2.streaming.conf.template ├── deploy └── kubernetes │ └── seatunnel │ ├── Chart.yaml │ ├── conf │ ├── hazelcast-client.yaml │ ├── hazelcast-master.yaml │ ├── hazelcast-worker.yaml │ ├── jvm_client_options │ ├── jvm_master_options │ ├── jvm_worker_options │ ├── log4j2.properties │ └── seatunnel.yaml │ ├── templates │ ├── NOTES.txt │ ├── _helpers.tpl │ ├── configmap.yaml │ ├── deployment-seatunnel-master.yaml │ ├── deployment-seatunnel-worker.yaml │ ├── ingress.yaml │ ├── rbac.yaml │ ├── service-headless.yaml │ └── service-master-headless.yaml │ └── values.yaml ├── docs ├── en │ ├── about.md │ ├── command │ │ ├── connector-check.md │ │ └── usage.mdx │ ├── concept │ │ ├── JobEnvConfig.md │ │ ├── config.md │ │ ├── connector-v2-features.md │ │ ├── event-listener.md │ │ ├── schema-evolution.md │ │ ├── schema-feature.md │ │ ├── sink-options-placeholders.md │ │ ├── speed-limit.md │ │ └── sql-config.md │ ├── connector-v2 │ │ ├── Config-Encryption-Decryption.md │ │ ├── Error-Quick-Reference-Manual.md │ │ ├── changelog │ │ │ ├── connector-activemq.md │ │ │ ├── connector-aerospike.md │ │ │ ├── connector-amazondynamodb.md │ │ │ ├── connector-amazonsqs.md │ │ │ ├── connector-assert.md │ │ │ ├── connector-cassandra.md │ │ │ ├── connector-cdc-base.md │ │ │ ├── connector-cdc-mongodb.md │ │ │ ├── connector-cdc-mysql.md │ │ │ ├── connector-cdc-opengauss.md │ │ │ ├── connector-cdc-oracle.md │ │ │ ├── connector-cdc-postgres.md │ │ │ ├── connector-cdc-sqlserver.md │ │ │ ├── connector-cdc-tidb.md │ │ │ ├── connector-cdc.md │ │ │ ├── connector-clickhouse.md │ │ │ ├── connector-cloudberry.md │ │ │ ├── connector-common.md │ │ │ ├── connector-console.md │ │ │ ├── connector-databend.md │ │ │ ├── connector-datahub.md │ │ │ ├── connector-dingtalk.md │ │ │ ├── connector-doris.md │ │ │ ├── connector-druid.md │ │ │ ├── connector-easysearch.md │ │ │ ├── connector-elasticsearch.md │ │ │ ├── connector-email.md │ │ │ ├── connector-fake.md │ │ │ ├── connector-file-base-hadoop.md │ │ │ ├── connector-file-base.md │ │ │ ├── connector-file-cos.md │ │ │ ├── connector-file-ftp.md │ │ │ ├── connector-file-hadoop.md │ │ │ ├── connector-file-jindo-oss.md │ │ │ ├── connector-file-local.md │ │ │ ├── connector-file-obs.md │ │ │ ├── connector-file-oss-jindo.md │ │ │ ├── connector-file-oss.md │ │ │ ├── connector-file-s3.md │ │ │ ├── connector-file-sftp.md │ │ │ ├── connector-file.md │ │ │ ├── connector-google-firestore.md │ │ │ ├── connector-google-sheets.md │ │ │ ├── connector-graphql.md │ │ │ ├── connector-hbase.md │ │ │ ├── connector-hive.md │ │ │ ├── connector-http-base.md │ │ │ ├── connector-http-feishu.md │ │ │ ├── connector-http-github.md │ │ │ ├── connector-http-gitlab.md │ │ │ ├── connector-http-jira.md │ │ │ ├── connector-http-klaviyo.md │ │ │ ├── connector-http-lemlist.md │ │ │ ├── connector-http-myhours.md │ │ │ ├── connector-http-notion.md │ │ │ ├── connector-http-onesignal.md │ │ │ ├── connector-http-persistiq.md │ │ │ ├── connector-http-wechat.md │ │ │ ├── connector-http.md │ │ │ ├── connector-hudi.md │ │ │ ├── connector-iceberg.md │ │ │ ├── connector-influxdb.md │ │ │ ├── connector-iotdb.md │ │ │ ├── connector-jdbc.md │ │ │ ├── connector-kafka.md │ │ │ ├── connector-kudu.md │ │ │ ├── connector-maxcompute.md │ │ │ ├── connector-milvus.md │ │ │ ├── connector-mongodb.md │ │ │ ├── connector-neo4j.md │ │ │ ├── connector-openmldb.md │ │ │ ├── connector-paimon.md │ │ │ ├── connector-prometheus.md │ │ │ ├── connector-pulsar.md │ │ │ ├── connector-qdrant.md │ │ │ ├── connector-rabbitmq.md │ │ │ ├── connector-redis.md │ │ │ ├── connector-rocketmq.md │ │ │ ├── connector-s3-redshift.md │ │ │ ├── connector-selectdb-cloud.md │ │ │ ├── connector-sentry.md │ │ │ ├── connector-slack.md │ │ │ ├── connector-sls.md │ │ │ ├── connector-socket.md │ │ │ ├── connector-starrocks.md │ │ │ ├── connector-tablestore.md │ │ │ ├── connector-tdengine.md │ │ │ ├── connector-typesense.md │ │ │ └── connector-web3j.md │ │ ├── formats │ │ │ ├── avro.md │ │ │ ├── canal-json.md │ │ │ ├── cdc-compatible-debezium-json.md │ │ │ ├── debezium-json.md │ │ │ ├── kafka-compatible-kafkaconnect-json.md │ │ │ ├── maxwell-json.md │ │ │ ├── ogg-json.md │ │ │ └── protobuf.md │ │ ├── sink-common-options.md │ │ ├── sink │ │ │ ├── Activemq.md │ │ │ ├── Aerospike.md │ │ │ ├── AmazonDynamoDB.md │ │ │ ├── AmazonSqs.md │ │ │ ├── Assert.md │ │ │ ├── Cassandra.md │ │ │ ├── Clickhouse.md │ │ │ ├── ClickhouseFile.md │ │ │ ├── Cloudberry.md │ │ │ ├── Console.md │ │ │ ├── CosFile.md │ │ │ ├── DB2.md │ │ │ ├── Databend.md │ │ │ ├── Datahub.md │ │ │ ├── DingTalk.md │ │ │ ├── Doris.md │ │ │ ├── Druid.md │ │ │ ├── Easysearch.md │ │ │ ├── Elasticsearch.md │ │ │ ├── Email.md │ │ │ ├── Enterprise-WeChat.md │ │ │ ├── Feishu.md │ │ │ ├── FtpFile.md │ │ │ ├── GoogleFirestore.md │ │ │ ├── GraphQL.md │ │ │ ├── Greenplum.md │ │ │ ├── Hbase.md │ │ │ ├── HdfsFile.md │ │ │ ├── Hive.md │ │ │ ├── Http.md │ │ │ ├── Hudi.md │ │ │ ├── Iceberg.md │ │ │ ├── InfluxDB.md │ │ │ ├── IoTDB.md │ │ │ ├── Jdbc.md │ │ │ ├── Kafka.md │ │ │ ├── Kingbase.md │ │ │ ├── Kudu.md │ │ │ ├── LocalFile.md │ │ │ ├── Maxcompute.md │ │ │ ├── Milvus.md │ │ │ ├── MongoDB.md │ │ │ ├── Mysql.md │ │ │ ├── Neo4j.md │ │ │ ├── ObsFile.md │ │ │ ├── OceanBase.md │ │ │ ├── Oracle.md │ │ │ ├── OssFile.md │ │ │ ├── OssJindoFile.md │ │ │ ├── Paimon.md │ │ │ ├── Phoenix.md │ │ │ ├── PostgreSql.md │ │ │ ├── Prometheus.md │ │ │ ├── Pulsar.md │ │ │ ├── Qdrant.md │ │ │ ├── Rabbitmq.md │ │ │ ├── Redis.md │ │ │ ├── Redshift.md │ │ │ ├── RocketMQ.md │ │ │ ├── S3-Redshift.md │ │ │ ├── S3File.md │ │ │ ├── SelectDB-Cloud.md │ │ │ ├── Sentry.md │ │ │ ├── SftpFile.md │ │ │ ├── Slack.md │ │ │ ├── Sls.md │ │ │ ├── Snowflake.md │ │ │ ├── Socket.md │ │ │ ├── SqlServer.md │ │ │ ├── StarRocks.md │ │ │ ├── TDengine.md │ │ │ ├── Tablestore.md │ │ │ ├── Typesense.md │ │ │ └── Vertica.md │ │ ├── source-common-options.md │ │ └── source │ │ │ ├── AmazonDynamoDB.md │ │ │ ├── AmazonSqs.md │ │ │ ├── Cassandra.md │ │ │ ├── Clickhouse.md │ │ │ ├── Cloudberry.md │ │ │ ├── CosFile.md │ │ │ ├── DB2.md │ │ │ ├── Databend.md │ │ │ ├── Doris.md │ │ │ ├── Easysearch.md │ │ │ ├── Elasticsearch.md │ │ │ ├── FakeSource.md │ │ │ ├── FtpFile.md │ │ │ ├── Github.md │ │ │ ├── Gitlab.md │ │ │ ├── GoogleSheets.md │ │ │ ├── GraphQL.md │ │ │ ├── Greenplum.md │ │ │ ├── Hbase.md │ │ │ ├── HdfsFile.md │ │ │ ├── Hive.md │ │ │ ├── HiveJdbc.md │ │ │ ├── Http.md │ │ │ ├── Iceberg.md │ │ │ ├── InfluxDB.md │ │ │ ├── IoTDB.md │ │ │ ├── Jdbc.md │ │ │ ├── Jira.md │ │ │ ├── Kafka.md │ │ │ ├── Kingbase.md │ │ │ ├── Klaviyo.md │ │ │ ├── Kudu.md │ │ │ ├── Lemlist.md │ │ │ ├── LocalFile.md │ │ │ ├── Maxcompute.md │ │ │ ├── Milvus.md │ │ │ ├── MongoDB-CDC.md │ │ │ ├── MongoDB.md │ │ │ ├── MyHours.md │ │ │ ├── MySQL-CDC.md │ │ │ ├── Mysql.md │ │ │ ├── Neo4j.md │ │ │ ├── Notion.md │ │ │ ├── ObsFile.md │ │ │ ├── OceanBase.md │ │ │ ├── OneSignal.md │ │ │ ├── OpenMldb.md │ │ │ ├── Opengauss-CDC.md │ │ │ ├── Oracle-CDC.md │ │ │ ├── Oracle.md │ │ │ ├── OssFile.md │ │ │ ├── OssJindoFile.md │ │ │ ├── Paimon.md │ │ │ ├── Persistiq.md │ │ │ ├── Phoenix.md │ │ │ ├── PostgreSQL-CDC.md │ │ │ ├── PostgreSQL.md │ │ │ ├── Prometheus.md │ │ │ ├── Pulsar.md │ │ │ ├── Qdrant.md │ │ │ ├── Rabbitmq.md │ │ │ ├── Redis.md │ │ │ ├── Redshift.md │ │ │ ├── RocketMQ.md │ │ │ ├── S3File.md │ │ │ ├── SftpFile.md │ │ │ ├── Sls.md │ │ │ ├── Snowflake.md │ │ │ ├── Socket.md │ │ │ ├── SqlServer-CDC.md │ │ │ ├── SqlServer.md │ │ │ ├── StarRocks.md │ │ │ ├── TDengine.md │ │ │ ├── Tablestore.md │ │ │ ├── TiDB-CDC.md │ │ │ ├── Typesense.md │ │ │ ├── Vertica.md │ │ │ └── Web3j.md │ ├── contribution │ │ ├── coding-guide.md │ │ ├── contribute-plugin.md │ │ ├── contribute-transform-v2-guide.md │ │ ├── docs-format-specification.md │ │ ├── how-to-create-your-connector.md │ │ ├── new-license.md │ │ └── setup.md │ ├── faq.md │ ├── other-engine │ │ ├── flink.md │ │ └── spark.md │ ├── seatunnel-engine │ │ ├── about.md │ │ ├── checkpoint-storage.md │ │ ├── deployment.md │ │ ├── download-seatunnel.md │ │ ├── engine-jar-storage-mode.md │ │ ├── hybrid-cluster-deployment.md │ │ ├── local-mode-deployment.md │ │ ├── logging.md │ │ ├── resource-isolation.md │ │ ├── rest-api-v1.md │ │ ├── rest-api-v2.md │ │ ├── savepoint.md │ │ ├── security.md │ │ ├── separated-cluster-deployment.md │ │ ├── slot-allocation-strategy.md │ │ ├── tcp.md │ │ ├── telemetry.md │ │ ├── telemetry │ │ │ ├── grafana-dashboard.json │ │ │ ├── metrics.txt │ │ │ └── openmetrics.txt │ │ ├── tuning-guide.md │ │ ├── user-command.md │ │ └── web-ui.md │ ├── start-v2 │ │ ├── docker │ │ │ └── docker.md │ │ ├── kubernetes │ │ │ ├── helm.md │ │ │ └── kubernetes.mdx │ │ └── locally │ │ │ ├── deployment.md │ │ │ ├── quick-start-flink.md │ │ │ ├── quick-start-seatunnel-engine.md │ │ │ └── quick-start-spark.md │ └── transform-v2 │ │ ├── common-options.md │ │ ├── copy.md │ │ ├── define-sink-type.md │ │ ├── dynamic-compile.md │ │ ├── embedding.md │ │ ├── field-mapper.md │ │ ├── field-rename.md │ │ ├── filter-rowkind.md │ │ ├── filter.md │ │ ├── jsonpath.md │ │ ├── llm.md │ │ ├── metadata.md │ │ ├── replace.md │ │ ├── rowkind-extractor.md │ │ ├── split.md │ │ ├── sql-functions.md │ │ ├── sql-udf.md │ │ ├── sql.md │ │ ├── table-filter.md │ │ ├── table-merge.md │ │ ├── table-rename.md │ │ └── transform-multi-table.md ├── images │ ├── architecture_diagram.png │ ├── azkaban.png │ ├── checkstyle.png │ ├── grafana.png │ ├── icons │ │ ├── AmazonDynamoDB.svg │ │ ├── Apache Iceberg.svg │ │ ├── Cassandra.png │ │ ├── Clickhouse.png │ │ ├── Doris.svg │ │ ├── Elasticsearch.png │ │ ├── FtpFile.svg │ │ ├── Github.png │ │ ├── Gitlab.svg │ │ ├── Greenplum.svg │ │ ├── Hbase.svg │ │ ├── Hdfs文件.svg │ │ ├── Hive.svg │ │ ├── HiveJdbc.svg │ │ ├── Http.svg │ │ ├── InfluxDB.svg │ │ ├── IoTDB.svg │ │ ├── JDBC.svg │ │ ├── Jira.svg │ │ ├── Kafka.svg │ │ ├── Kingbase.svg │ │ ├── Klaviyo.svg │ │ ├── Kudu.png │ │ ├── LocalFile.svg │ │ ├── Maxcompute.svg │ │ ├── Milvus.svg │ │ ├── MongoDB.svg │ │ ├── MySQL CDC.svg │ │ ├── MySQL.svg │ │ ├── Neo4j.svg │ │ ├── Notion.svg │ │ ├── ObsFile.png │ │ ├── OceanBase.svg │ │ ├── OneSignal.svg │ │ ├── OpenMldb.png │ │ ├── Oracle CDC.svg │ │ ├── Oracle.svg │ │ ├── Paimon.svg │ │ ├── Persistiq.svg │ │ ├── Phoenix.svg │ │ ├── PostgreSQL CDC.svg │ │ ├── PostgreSQL.svg │ │ ├── Pulsar.svg │ │ ├── Qdrant.svg │ │ ├── Rabbitmq.svg │ │ ├── Redis.svg │ │ ├── RocketMQ.svg │ │ ├── S3File.svg │ │ ├── SQL Server.svg │ │ ├── Sftp.svg │ │ ├── Snowflake.svg │ │ ├── StarRocks.svg │ │ ├── TDengine.svg │ │ ├── Tablestore.svg │ │ ├── Typesense.png │ │ └── Web3j.png │ ├── kafka.png │ ├── resource-isolation.png │ ├── seatunnel-workflow.svg │ ├── seatunnel_architecture.png │ ├── seatunnel_starter.png │ ├── ui │ │ ├── detail.png │ │ ├── finished.png │ │ ├── master.png │ │ ├── overview.png │ │ ├── running.png │ │ └── workers.png │ └── workflow.png ├── sidebars.js └── zh │ ├── about.md │ ├── command │ └── connector-check.md │ ├── concept │ ├── JobEnvConfig.md │ ├── config.md │ ├── connector-v2-features.md │ ├── event-listener.md │ ├── schema-evolution.md │ ├── schema-feature.md │ ├── sink-options-placeholders.md │ ├── speed-limit.md │ └── sql-config.md │ ├── connector-v2 │ ├── Config-Encryption-Decryption.md │ ├── changelog │ │ ├── connector-activemq.md │ │ ├── connector-aerospike.md │ │ ├── connector-amazondynamodb.md │ │ ├── connector-amazonsqs.md │ │ ├── connector-assert.md │ │ ├── connector-cassandra.md │ │ ├── connector-cdc-base.md │ │ ├── connector-cdc-mongodb.md │ │ ├── connector-cdc-mysql.md │ │ ├── connector-cdc-opengauss.md │ │ ├── connector-cdc-oracle.md │ │ ├── connector-cdc-postgres.md │ │ ├── connector-cdc-sqlserver.md │ │ ├── connector-cdc-tidb.md │ │ ├── connector-cdc.md │ │ ├── connector-clickhouse.md │ │ ├── connector-cloudberry.md │ │ ├── connector-common.md │ │ ├── connector-console.md │ │ ├── connector-databend.md │ │ ├── connector-datahub.md │ │ ├── connector-dingtalk.md │ │ ├── connector-doris.md │ │ ├── connector-druid.md │ │ ├── connector-easysearch.md │ │ ├── connector-elasticsearch.md │ │ ├── connector-email.md │ │ ├── connector-fake.md │ │ ├── connector-file-base-hadoop.md │ │ ├── connector-file-base.md │ │ ├── connector-file-cos.md │ │ ├── connector-file-ftp.md │ │ ├── connector-file-hadoop.md │ │ ├── connector-file-jindo-oss.md │ │ ├── connector-file-local.md │ │ ├── connector-file-obs.md │ │ ├── connector-file-oss-jindo.md │ │ ├── connector-file-oss.md │ │ ├── connector-file-s3.md │ │ ├── connector-file-sftp.md │ │ ├── connector-file.md │ │ ├── connector-google-firestore.md │ │ ├── connector-google-sheets.md │ │ ├── connector-graphql.md │ │ ├── connector-hbase.md │ │ ├── connector-hive.md │ │ ├── connector-http-base.md │ │ ├── connector-http-feishu.md │ │ ├── connector-http-github.md │ │ ├── connector-http-gitlab.md │ │ ├── connector-http-jira.md │ │ ├── connector-http-klaviyo.md │ │ ├── connector-http-lemlist.md │ │ ├── connector-http-myhours.md │ │ ├── connector-http-notion.md │ │ ├── connector-http-onesignal.md │ │ ├── connector-http-persistiq.md │ │ ├── connector-http-wechat.md │ │ ├── connector-http.md │ │ ├── connector-hudi.md │ │ ├── connector-iceberg.md │ │ ├── connector-influxdb.md │ │ ├── connector-iotdb.md │ │ ├── connector-jdbc.md │ │ ├── connector-kafka.md │ │ ├── connector-kudu.md │ │ ├── connector-maxcompute.md │ │ ├── connector-milvus.md │ │ ├── connector-mongodb.md │ │ ├── connector-neo4j.md │ │ ├── connector-openmldb.md │ │ ├── connector-paimon.md │ │ ├── connector-prometheus.md │ │ ├── connector-pulsar.md │ │ ├── connector-qdrant.md │ │ ├── connector-rabbitmq.md │ │ ├── connector-redis.md │ │ ├── connector-rocketmq.md │ │ ├── connector-s3-redshift.md │ │ ├── connector-selectdb-cloud.md │ │ ├── connector-sentry.md │ │ ├── connector-slack.md │ │ ├── connector-sls.md │ │ ├── connector-socket.md │ │ ├── connector-starrocks.md │ │ ├── connector-tablestore.md │ │ ├── connector-tdengine.md │ │ ├── connector-typesense.md │ │ └── connector-web3j.md │ ├── formats │ │ ├── avro.md │ │ ├── canal-json.md │ │ ├── cdc-compatible-debezium-json.md │ │ ├── debezium-json.md │ │ ├── kafka-compatible-kafkaconnect-json.md │ │ ├── ogg-json.md │ │ └── protobuf.md │ ├── sink-common-options.md │ ├── sink │ │ ├── Activemq.md │ │ ├── Aerospike.md │ │ ├── AmazonDynamoDB.md │ │ ├── AmazonSqs.md │ │ ├── Assert.md │ │ ├── Cassandra.md │ │ ├── Clickhouse.md │ │ ├── ClickhouseFile.md │ │ ├── Console.md │ │ ├── CosFile.md │ │ ├── DB2.md │ │ ├── Databend.md │ │ ├── Datahub.md │ │ ├── DingTalk.md │ │ ├── Doris.md │ │ ├── Druid.md │ │ ├── Easysearch.md │ │ ├── Elasticsearch.md │ │ ├── Email.md │ │ ├── Enterprise-WeChat.md │ │ ├── Feishu.md │ │ ├── FtpFile.md │ │ ├── GraphQL.md │ │ ├── Hbase.md │ │ ├── HdfsFile.md │ │ ├── Hive.md │ │ ├── Http.md │ │ ├── Hudi.md │ │ ├── Iceberg.md │ │ ├── IoTDB.md │ │ ├── Jdbc.md │ │ ├── Kafka.md │ │ ├── Kudu.md │ │ ├── LocalFile.md │ │ ├── Milvus.md │ │ ├── Mysql.md │ │ ├── Neo4j.md │ │ ├── ObsFile.md │ │ ├── OceanBase.md │ │ ├── Oracle.md │ │ ├── OssFile.md │ │ ├── OssJindoFile.md │ │ ├── Paimon.md │ │ ├── Phoenix.md │ │ ├── PostgreSql.md │ │ ├── Prometheus.md │ │ ├── Pulsar.md │ │ ├── Qdrant.md │ │ ├── Rabbitmq.md │ │ ├── Redis.md │ │ ├── Redshift.md │ │ ├── RocketMQ.md │ │ ├── S3-Redshift.md │ │ ├── S3File.md │ │ ├── SelectDB-Cloud.md │ │ ├── Sentry.md │ │ ├── SftpFile.md │ │ ├── Slack.md │ │ ├── Sls.md │ │ ├── Snowflake.md │ │ ├── Socket.md │ │ ├── SqlServer.md │ │ ├── StarRocks.md │ │ ├── TDengine.md │ │ ├── Tablestore.md │ │ ├── Typesense.md │ │ └── Vertica.md │ ├── source-common-options.md │ └── source │ │ ├── AmazonDynamoDB.md │ │ ├── AmazonSqs.md │ │ ├── Cassandra.md │ │ ├── Clickhouse.md │ │ ├── Cloudberry.md │ │ ├── CosFile.md │ │ ├── DB2.md │ │ ├── Databend.md │ │ ├── Doris.md │ │ ├── Easysearch.md │ │ ├── Elasticsearch.md │ │ ├── FakeSource.md │ │ ├── FtpFile.md │ │ ├── Github.md │ │ ├── GoogleSheets.md │ │ ├── GraphQL.md │ │ ├── Hbase.md │ │ ├── HdfsFile.md │ │ ├── Hive.md │ │ ├── HiveJdbc.md │ │ ├── Http.md │ │ ├── Jira.md │ │ ├── Kafka.md │ │ ├── LocalFile.md │ │ ├── Maxcompute.md │ │ ├── Milvus.md │ │ ├── MongoDB-CDC.md │ │ ├── MongoDB.md │ │ ├── MySQL-CDC.md │ │ ├── Mysql.md │ │ ├── Neo4j.md │ │ ├── OpenMldb.md │ │ ├── Opengauss-CDC.md │ │ ├── OssFile.md │ │ ├── Paimon.md │ │ ├── Phoenix.md │ │ ├── PostgreSQL-CDC.md │ │ ├── PostgreSQL.md │ │ ├── Prometheus.md │ │ ├── Qdrant.md │ │ ├── Redis.md │ │ ├── S3File.md │ │ ├── SftpFile.md │ │ ├── Sls.md │ │ ├── StarRocks.md │ │ ├── TiDB-CDC.md │ │ └── Typesense.md │ ├── contribution │ ├── coding-guide.md │ ├── contribute-plugin.md │ ├── contribute-transform-v2-guide.md │ ├── docs-format-specification.md │ ├── how-to-create-your-connector.md │ ├── new-license.md │ └── setup.md │ ├── faq.md │ ├── other-engine │ ├── flink.md │ └── spark.md │ ├── seatunnel-engine │ ├── about.md │ ├── checkpoint-storage.md │ ├── deployment.md │ ├── download-seatunnel.md │ ├── engine-jar-storage-mode.md │ ├── hybrid-cluster-deployment.md │ ├── local-mode-deployment.md │ ├── logging.md │ ├── resource-isolation.md │ ├── rest-api-v1.md │ ├── rest-api-v2.md │ ├── savepoint.md │ ├── security.md │ ├── separated-cluster-deployment.md │ ├── slot-allocation-strategy.md │ ├── tcp.md │ ├── telemetry.md │ ├── telemetry │ │ ├── grafana-dashboard.json │ │ ├── metrics.txt │ │ └── openmetrics.txt │ ├── tuning-guide.md │ ├── user-command.md │ └── web-ui.md │ ├── start-v2 │ ├── docker │ │ └── docker.md │ ├── kubernetes │ │ └── helm.md │ └── locally │ │ ├── deployment.md │ │ ├── quick-start-flink.md │ │ ├── quick-start-seatunnel-engine.md │ │ └── quick-start-spark.md │ └── transform-v2 │ ├── common-options.md │ ├── copy.md │ ├── define-sink-type.md │ ├── dynamic-compile.md │ ├── embedding.md │ ├── field-mapper.md │ ├── filter-rowkind.md │ ├── filter.md │ ├── jsonpath.md │ ├── llm.md │ ├── metadata.md │ ├── replace.md │ ├── rowkind-extractor.md │ ├── split.md │ ├── sql-functions.md │ ├── sql-udf.md │ ├── sql.md │ ├── table-filter.md │ ├── table-merge.md │ └── transform-multi-table.md ├── mvnw ├── mvnw.cmd ├── plugin-mapping.properties ├── plugins └── README.md ├── pom.xml ├── seatunnel-api ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── api │ │ ├── annotation │ │ └── Experimental.java │ │ ├── common │ │ ├── JobContext.java │ │ ├── PluginIdentifier.java │ │ ├── PluginIdentifierInterface.java │ │ ├── PrepareFailException.java │ │ ├── SeaTunnelAPIErrorCode.java │ │ ├── SeaTunnelPluginLifeCycle.java │ │ └── metrics │ │ │ ├── AbstractMetricsContext.java │ │ │ ├── Counter.java │ │ │ ├── JobMetrics.java │ │ │ ├── Measurement.java │ │ │ ├── MeasurementPredicates.java │ │ │ ├── Meter.java │ │ │ ├── Metric.java │ │ │ ├── MetricNames.java │ │ │ ├── MetricTags.java │ │ │ ├── MetricsContext.java │ │ │ ├── RawJobMetrics.java │ │ │ ├── ThreadSafeCounter.java │ │ │ ├── ThreadSafeQPSMeter.java │ │ │ └── Unit.java │ │ ├── configuration │ │ ├── ConfigAdapter.java │ │ ├── ConfigShade.java │ │ ├── Option.java │ │ ├── Options.java │ │ ├── ReadonlyConfig.java │ │ ├── SingleChoiceOption.java │ │ └── util │ │ │ ├── Condition.java │ │ │ ├── ConfigUtil.java │ │ │ ├── ConfigValidator.java │ │ │ ├── Expression.java │ │ │ ├── OptionMark.java │ │ │ ├── OptionRule.java │ │ │ ├── OptionUtil.java │ │ │ ├── OptionValidationException.java │ │ │ └── RequiredOption.java │ │ ├── env │ │ └── ParsingMode.java │ │ ├── event │ │ ├── DefaultEventProcessor.java │ │ ├── Event.java │ │ ├── EventHandler.java │ │ ├── EventListener.java │ │ ├── EventProcessor.java │ │ ├── EventType.java │ │ ├── LifecycleEvent.java │ │ └── LoggingEventHandler.java │ │ ├── options │ │ ├── ConnectorCommonOptions.java │ │ ├── EnvCommonOptions.java │ │ ├── EnvOptionRule.java │ │ ├── SinkConnectorCommonOptions.java │ │ ├── SourceConnectorCommonOptions.java │ │ └── table │ │ │ ├── CatalogOptions.java │ │ │ ├── ColumnOptions.java │ │ │ ├── ConstraintKeyOptions.java │ │ │ ├── FieldOptions.java │ │ │ ├── FormatOptions.java │ │ │ ├── PrimaryKeyOptions.java │ │ │ ├── TableIdentifierOptions.java │ │ │ └── TableSchemaOptions.java │ │ ├── serialization │ │ ├── DefaultSerializer.java │ │ ├── DeserializationSchema.java │ │ ├── SerializationSchema.java │ │ └── Serializer.java │ │ ├── sink │ │ ├── DataSaveMode.java │ │ ├── DefaultSaveModeHandler.java │ │ ├── DefaultSinkWriterContext.java │ │ ├── MultiTableResourceManager.java │ │ ├── SaveModeExecuteLocation.java │ │ ├── SaveModeExecuteWrapper.java │ │ ├── SaveModeHandler.java │ │ ├── SaveModePlaceHolder.java │ │ ├── SchemaSaveMode.java │ │ ├── SeaTunnelSink.java │ │ ├── SinkAggregatedCommitter.java │ │ ├── SinkCommitter.java │ │ ├── SinkReplaceNameConstant.java │ │ ├── SinkWriter.java │ │ ├── SupportMultiTableSink.java │ │ ├── SupportMultiTableSinkAggregatedCommitter.java │ │ ├── SupportMultiTableSinkWriter.java │ │ ├── SupportResourceShare.java │ │ ├── SupportSaveMode.java │ │ ├── SupportSchemaEvolutionSink.java │ │ ├── SupportSchemaEvolutionSinkWriter.java │ │ ├── TablePlaceholder.java │ │ ├── TablePlaceholderProcessor.java │ │ ├── event │ │ │ └── WriterCloseEvent.java │ │ └── multitablesink │ │ │ ├── MultiTableAggregatedCommitInfo.java │ │ │ ├── MultiTableCommitInfo.java │ │ │ ├── MultiTableSink.java │ │ │ ├── MultiTableSinkAggregatedCommitter.java │ │ │ ├── MultiTableSinkCommitter.java │ │ │ ├── MultiTableSinkFactory.java │ │ │ ├── MultiTableSinkWriter.java │ │ │ ├── MultiTableState.java │ │ │ ├── MultiTableWriterRunnable.java │ │ │ ├── SinkContextProxy.java │ │ │ └── SinkIdentifier.java │ │ ├── source │ │ ├── Boundedness.java │ │ ├── Collector.java │ │ ├── SeaTunnelJobAware.java │ │ ├── SeaTunnelSource.java │ │ ├── SourceEvent.java │ │ ├── SourceReader.java │ │ ├── SourceSplit.java │ │ ├── SourceSplitEnumerator.java │ │ ├── SupportColumnProjection.java │ │ ├── SupportCoordinate.java │ │ ├── SupportParallelism.java │ │ ├── SupportSchemaEvolution.java │ │ └── event │ │ │ ├── EnumeratorCloseEvent.java │ │ │ ├── EnumeratorOpenEvent.java │ │ │ ├── MessageDelayedEvent.java │ │ │ ├── ReaderCloseEvent.java │ │ │ └── ReaderOpenEvent.java │ │ ├── state │ │ └── CheckpointListener.java │ │ ├── table │ │ ├── catalog │ │ │ ├── Catalog.java │ │ │ ├── CatalogTable.java │ │ │ ├── CatalogTableUtil.java │ │ │ ├── Column.java │ │ │ ├── ConstraintKey.java │ │ │ ├── DataTypeConvertor.java │ │ │ ├── InfoPreviewResult.java │ │ │ ├── MetadataColumn.java │ │ │ ├── PhysicalColumn.java │ │ │ ├── PreviewResult.java │ │ │ ├── PrimaryKey.java │ │ │ ├── SQLPreviewResult.java │ │ │ ├── SeaTunnelDataTypeConvertorUtil.java │ │ │ ├── TableIdentifier.java │ │ │ ├── TablePath.java │ │ │ ├── TableSchema.java │ │ │ ├── VectorIndex.java │ │ │ ├── exception │ │ │ │ ├── CatalogException.java │ │ │ │ ├── DatabaseAlreadyExistException.java │ │ │ │ ├── DatabaseNotExistException.java │ │ │ │ ├── TableAlreadyExistException.java │ │ │ │ └── TableNotExistException.java │ │ │ └── schema │ │ │ │ ├── ReadonlyConfigParser.java │ │ │ │ └── TableSchemaParser.java │ │ ├── connector │ │ │ ├── DeserializationFormat.java │ │ │ ├── SerializationFormat.java │ │ │ ├── SupportReadingMetadata.java │ │ │ ├── TableSink.java │ │ │ ├── TableSource.java │ │ │ └── TableTransform.java │ │ ├── converter │ │ │ ├── BasicDataConverter.java │ │ │ ├── BasicDataTypeConverter.java │ │ │ ├── BasicTypeConverter.java │ │ │ ├── BasicTypeDefine.java │ │ │ ├── ConverterLoader.java │ │ │ ├── DataConverter.java │ │ │ ├── DataTypeConverter.java │ │ │ └── TypeConverter.java │ │ ├── factory │ │ │ ├── CatalogFactory.java │ │ │ ├── ChangeStreamTableSourceCheckpoint.java │ │ │ ├── ChangeStreamTableSourceFactory.java │ │ │ ├── ChangeStreamTableSourceState.java │ │ │ ├── DataTypeConvertorFactory.java │ │ │ ├── Factory.java │ │ │ ├── FactoryException.java │ │ │ ├── FactoryUtil.java │ │ │ ├── MultiTableFactoryContext.java │ │ │ ├── SerializationFormatFactory.java │ │ │ ├── TableFactoryContext.java │ │ │ ├── TableSinkFactory.java │ │ │ ├── TableSinkFactoryContext.java │ │ │ ├── TableSourceFactory.java │ │ │ ├── TableSourceFactoryContext.java │ │ │ ├── TableTransformFactory.java │ │ │ └── TableTransformFactoryContext.java │ │ ├── schema │ │ │ ├── SchemaChangeType.java │ │ │ ├── event │ │ │ │ ├── AlterTableAddColumnEvent.java │ │ │ │ ├── AlterTableChangeColumnEvent.java │ │ │ │ ├── AlterTableColumnEvent.java │ │ │ │ ├── AlterTableColumnsEvent.java │ │ │ │ ├── AlterTableDropColumnEvent.java │ │ │ │ ├── AlterTableEvent.java │ │ │ │ ├── AlterTableModifyColumnEvent.java │ │ │ │ ├── AlterTableNameEvent.java │ │ │ │ ├── SchemaChangeEvent.java │ │ │ │ └── TableEvent.java │ │ │ └── handler │ │ │ │ ├── AlterTableEventHandler.java │ │ │ │ ├── AlterTableSchemaEventHandler.java │ │ │ │ ├── DataTypeChangeEventDispatcher.java │ │ │ │ ├── DataTypeChangeEventHandler.java │ │ │ │ ├── SchemaChangeEventHandler.java │ │ │ │ ├── TableSchemaChangeEventDispatcher.java │ │ │ │ └── TableSchemaChangeEventHandler.java │ │ └── type │ │ │ ├── ArrayType.java │ │ │ ├── BasicType.java │ │ │ ├── CommonOptions.java │ │ │ ├── CompositeType.java │ │ │ ├── DecimalArrayType.java │ │ │ ├── DecimalType.java │ │ │ ├── LocalTimeType.java │ │ │ ├── MapType.java │ │ │ ├── MetadataUtil.java │ │ │ ├── MultipleRowType.java │ │ │ ├── PrimitiveByteArrayType.java │ │ │ ├── Record.java │ │ │ ├── RowKind.java │ │ │ ├── SeaTunnelDataType.java │ │ │ ├── SeaTunnelRow.java │ │ │ ├── SeaTunnelRowAccessor.java │ │ │ ├── SeaTunnelRowType.java │ │ │ ├── SqlType.java │ │ │ ├── TypeUtil.java │ │ │ └── VectorType.java │ │ ├── tracing │ │ ├── MDCCallable.java │ │ ├── MDCComparator.java │ │ ├── MDCConsumer.java │ │ ├── MDCContext.java │ │ ├── MDCExecutor.java │ │ ├── MDCExecutorService.java │ │ ├── MDCFunction.java │ │ ├── MDCPredicate.java │ │ ├── MDCRunnable.java │ │ ├── MDCScheduledExecutorService.java │ │ ├── MDCStream.java │ │ ├── MDCSupplier.java │ │ └── MDCTracer.java │ │ └── transform │ │ ├── Collector.java │ │ ├── SeaTunnelFlatMapTransform.java │ │ ├── SeaTunnelMapTransform.java │ │ └── SeaTunnelTransform.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── api │ │ ├── configuration │ │ ├── OptionTest.java │ │ ├── ReadableConfigTest.java │ │ └── util │ │ │ ├── ConditionTest.java │ │ │ ├── ConfigUtilTest.java │ │ │ ├── ConfigValidatorTest.java │ │ │ ├── OptionRuleTest.java │ │ │ ├── OptionUtilTest.java │ │ │ ├── SingleChoiceOptionTest.java │ │ │ ├── TestOptionConfig.java │ │ │ └── TestOptionConfigEnum.java │ │ ├── env │ │ └── EnvOptionRuleTest.java │ │ ├── sink │ │ ├── DefaultSaveModeHandlerTest.java │ │ ├── TablePlaceholderProcessorTest.java │ │ └── multitablesink │ │ │ ├── MultiTableSinkAggregatedCommitterTest.java │ │ │ └── MultiTableSinkWriterTest.java │ │ ├── table │ │ ├── catalog │ │ │ ├── CatalogTableTest.java │ │ │ ├── CatalogTableUtilTest.java │ │ │ ├── InMemoryCatalog.java │ │ │ ├── InMemoryCatalogFactory.java │ │ │ ├── InMemoryCatalogOptionRule.java │ │ │ ├── SeaTunnelDataTypeConvertorUtilTest.java │ │ │ └── schema │ │ │ │ ├── BaseConfigParserTest.java │ │ │ │ └── ReadonlyConfigParserTest.java │ │ ├── schema │ │ │ └── event │ │ │ │ └── EventTest.java │ │ └── type │ │ │ └── SeaTunnelRowTest.java │ │ └── tracing │ │ └── MDCTracerTest.java │ └── resources │ └── conf │ ├── catalog │ ├── schema_column.conf │ └── schema_field.conf │ ├── complex.schema.conf │ ├── config_special_schema.conf │ ├── default_tablepath.conf │ ├── generic_row.schema.conf │ ├── getCatalogTable.conf │ ├── option-test.conf │ └── simple.schema.conf ├── seatunnel-ci-tools ├── pom.xml └── src │ └── test │ └── java │ └── org │ └── apache │ └── seatunnel │ └── api │ ├── ChineseCharacterCheckTest.java │ ├── ConnectorOptionCheckTest.java │ ├── ImportClassCheckTest.java │ ├── SerialVersionUIDCheckerTest.java │ ├── UTClassNameCheckTest.java │ └── file │ ├── AllFileSpecificationCheckTest.java │ └── MarkdownTest.java ├── seatunnel-common ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── common │ │ ├── Constants.java │ │ ├── Handover.java │ │ ├── config │ │ ├── CheckConfigUtil.java │ │ ├── CheckResult.java │ │ ├── Common.java │ │ ├── ConfigRuntimeException.java │ │ ├── DeployMode.java │ │ └── TypesafeConfigUtils.java │ │ ├── constants │ │ ├── CollectionConstants.java │ │ ├── EngineType.java │ │ ├── JobMode.java │ │ └── PluginType.java │ │ ├── exception │ │ ├── CommonError.java │ │ ├── CommonErrorCode.java │ │ ├── CommonErrorCodeDeprecated.java │ │ ├── ExceptionParamsUtil.java │ │ ├── SeaTunnelErrorCode.java │ │ └── SeaTunnelRuntimeException.java │ │ └── utils │ │ ├── BufferUtils.java │ │ ├── DateTimeUtils.java │ │ ├── DateUtils.java │ │ ├── EncodingUtils.java │ │ ├── ExceptionUtils.java │ │ ├── FileUtils.java │ │ ├── JdbcUrlUtil.java │ │ ├── JsonUtils.java │ │ ├── ParserException.java │ │ ├── PlaceholderUtils.java │ │ ├── ReflectionUtils.java │ │ ├── RetryUtils.java │ │ ├── SeaTunnelException.java │ │ ├── SerializationException.java │ │ ├── SerializationUtils.java │ │ ├── StringFormatUtils.java │ │ ├── TemporaryClassLoaderContext.java │ │ ├── TimeUtils.java │ │ ├── VariablesSubstitute.java │ │ └── function │ │ ├── ConsumerWithException.java │ │ ├── FunctionWithException.java │ │ ├── RunnableWithException.java │ │ └── SupplierWithException.java │ └── test │ └── java │ └── org │ └── apache │ └── seatunnel │ └── common │ ├── HandoverTest.java │ ├── config │ ├── CheckConfigUtilTest.java │ ├── CommonTest.java │ └── TypesafeConfigUtilsTest.java │ ├── exception │ └── ExceptionParamsUtilTest.java │ └── utils │ ├── BufferUtilsTest.java │ ├── DateTimeUtilsTest.java │ ├── DateUtilsTest.java │ ├── ExceptionUtilsTest.java │ ├── FileUtilsTest.java │ ├── JdbcUrlUtilTest.java │ ├── ReflectionUtilsTest.java │ ├── SerializationUtilsTest.java │ ├── StringFormatUtilsTest.java │ ├── TimeUtilsTest.java │ └── VariablesSubstituteTest.java ├── seatunnel-config ├── README.md ├── pom.xml ├── seatunnel-config-base │ └── pom.xml ├── seatunnel-config-shade │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── shade │ │ │ └── com │ │ │ └── typesafe │ │ │ └── config │ │ │ ├── ConfigMergeable.java │ │ │ ├── ConfigParseOptions.java │ │ │ └── impl │ │ │ ├── ConfigImpl.java │ │ │ ├── ConfigNodePath.java │ │ │ ├── ConfigParser.java │ │ │ ├── Path.java │ │ │ ├── PathParser.java │ │ │ ├── PropertiesParser.java │ │ │ ├── SimpleConfigObject.java │ │ │ └── Tokenizer.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ ├── config │ │ │ ├── CompleteTest.java │ │ │ ├── ConfigFactoryTest.java │ │ │ ├── ConfigTest.java │ │ │ ├── JsonFormatTest.java │ │ │ ├── SerializeTest.java │ │ │ └── utils │ │ │ │ └── FileUtils.java │ │ │ └── shade │ │ │ └── com │ │ │ └── typesafe │ │ │ └── config │ │ │ └── impl │ │ │ └── ConfigTest.java │ │ └── resources │ │ ├── factory │ │ └── config.conf │ │ ├── json │ │ ├── spark.batch.conf │ │ └── spark.batch.json │ │ └── seatunnel │ │ ├── configWithSpecialKey.conf │ │ ├── serialize.conf │ │ └── variables.conf └── seatunnel-config-sql │ ├── pom.xml │ └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── config │ │ └── sql │ │ ├── ConfigTemplate.java │ │ ├── SqlConfigAdapter.java │ │ ├── SqlConfigBuilder.java │ │ ├── model │ │ ├── BaseConfig.java │ │ ├── Option.java │ │ ├── SeaTunnelConfig.java │ │ ├── SinkConfig.java │ │ ├── SourceConfig.java │ │ └── TransformConfig.java │ │ └── utils │ │ └── Constant.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── config │ │ └── sql │ │ └── SqlConfigBuilderTest.java │ └── resources │ └── sql-config.sql ├── seatunnel-connectors-v2 ├── README.md ├── README.zh.md ├── connector-activemq │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── activemq │ │ │ ├── client │ │ │ └── ActivemqClient.java │ │ │ ├── config │ │ │ └── ActivemqSinkOptions.java │ │ │ ├── exception │ │ │ ├── ActivemqConnectorErrorCode.java │ │ │ └── ActivemqConnectorException.java │ │ │ └── sink │ │ │ ├── ActivemqSink.java │ │ │ ├── ActivemqSinkFactory.java │ │ │ └── ActivemqSinkWriter.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── activemq │ │ └── ActivemqFactoryTest.java ├── connector-aerospike │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── aerospike │ │ │ ├── config │ │ │ ├── AerospikeDataType.java │ │ │ ├── AerospikeSinkOptions.java │ │ │ └── DataFormatType.java │ │ │ ├── exception │ │ │ ├── AerospikeConnectorException.java │ │ │ └── AerospikeErrorCode.java │ │ │ └── sink │ │ │ ├── AerospikeSink.java │ │ │ ├── AerospikeSinkFactory.java │ │ │ ├── AerospikeSinkWriter.java │ │ │ └── AerospikeTypeConverter.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── aerospike │ │ └── AerospikeFactoryTest.java ├── connector-amazondynamodb │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── amazondynamodb │ │ │ ├── config │ │ │ ├── AmazonDynamoDBBaseOptions.java │ │ │ ├── AmazonDynamoDBConfig.java │ │ │ ├── AmazonDynamoDBSinkOptions.java │ │ │ └── AmazonDynamoDBSourceOptions.java │ │ │ ├── exception │ │ │ └── AmazonDynamoDBConnectorException.java │ │ │ ├── serialize │ │ │ ├── DefaultSeaTunnelRowDeserializer.java │ │ │ ├── DefaultSeaTunnelRowSerializer.java │ │ │ ├── SeaTunnelRowDeserializer.java │ │ │ └── SeaTunnelRowSerializer.java │ │ │ ├── sink │ │ │ ├── AmazonDynamoDBSink.java │ │ │ ├── AmazonDynamoDBSinkFactory.java │ │ │ ├── AmazonDynamoDBWriter.java │ │ │ └── DynamoDbSinkClient.java │ │ │ └── source │ │ │ ├── AmazonDynamoDBSource.java │ │ │ ├── AmazonDynamoDBSourceFactory.java │ │ │ ├── AmazonDynamoDBSourceReader.java │ │ │ ├── AmazonDynamoDBSourceSplit.java │ │ │ ├── AmazonDynamoDBSourceSplitEnumerator.java │ │ │ └── AmazonDynamoDBSourceState.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── amazondynamodb │ │ └── AmazonDynamoDBSourceFactoryTest.java ├── connector-amazonsqs │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── amazonsqs │ │ │ ├── config │ │ │ ├── AmazonSqsBaseOptions.java │ │ │ ├── AmazonSqsSinkOptions.java │ │ │ ├── AmazonSqsSourceConfig.java │ │ │ ├── AmazonSqsSourceOptions.java │ │ │ └── MessageFormat.java │ │ │ ├── deserialize │ │ │ ├── AmazonSqsDeserializer.java │ │ │ └── SeaTunnelRowDeserializer.java │ │ │ ├── exception │ │ │ └── AmazonSqsConnectorException.java │ │ │ ├── sink │ │ │ ├── AmazonSqsSink.java │ │ │ ├── AmazonSqsSinkFactory.java │ │ │ └── AmazonSqsSinkWriter.java │ │ │ └── source │ │ │ ├── AmazonSqsSource.java │ │ │ ├── AmazonSqsSourceFactory.java │ │ │ └── AmazonSqsSourceReader.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── amazonsqs │ │ └── AmazonSqsSourceFactoryTest.java ├── connector-assert │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── assertion │ │ │ ├── excecutor │ │ │ └── AssertExecutor.java │ │ │ ├── exception │ │ │ ├── AssertConnectorErrorCode.java │ │ │ └── AssertConnectorException.java │ │ │ ├── rule │ │ │ ├── AssertCatalogTableRule.java │ │ │ ├── AssertCatalogTableRuleParser.java │ │ │ ├── AssertFieldRule.java │ │ │ ├── AssertRuleParser.java │ │ │ └── AssertTableRule.java │ │ │ └── sink │ │ │ ├── AssertConfig.java │ │ │ ├── AssertSink.java │ │ │ ├── AssertSinkFactory.java │ │ │ ├── AssertSinkOptions.java │ │ │ ├── AssertSinkWriter.java │ │ │ ├── FieldRule.java │ │ │ ├── RowRule.java │ │ │ └── Rules.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── flink │ │ └── assertion │ │ ├── AssertExecutorTest.java │ │ ├── AssertFactoryTest.java │ │ └── rule │ │ └── AssertRuleParserTest.java ├── connector-cassandra │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── cassandra │ │ │ ├── client │ │ │ └── CassandraClient.java │ │ │ ├── config │ │ │ ├── CassandraBaseOptions.java │ │ │ ├── CassandraParameters.java │ │ │ ├── CassandraSinkOptions.java │ │ │ └── CassandraSourceOptions.java │ │ │ ├── exception │ │ │ ├── CassandraConnectorErrorCode.java │ │ │ └── CassandraConnectorException.java │ │ │ ├── sink │ │ │ ├── CassandraSink.java │ │ │ ├── CassandraSinkFactory.java │ │ │ └── CassandraSinkWriter.java │ │ │ ├── source │ │ │ ├── CassandraSource.java │ │ │ ├── CassandraSourceFactory.java │ │ │ └── CassandraSourceReader.java │ │ │ └── util │ │ │ └── TypeConvertUtil.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── cassandra │ │ └── CassandraFactoryTest.java ├── connector-cdc │ ├── connector-cdc-base │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── io │ │ │ │ └── debezium │ │ │ │ │ ├── connector │ │ │ │ │ └── base │ │ │ │ │ │ └── ChangeEventQueue.java │ │ │ │ │ ├── heartbeat │ │ │ │ │ └── HeartbeatFactory.java │ │ │ │ │ └── relational │ │ │ │ │ ├── HistorizedRelationalDatabaseConnectorConfig.java │ │ │ │ │ └── TableId.java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── cdc │ │ │ │ ├── base │ │ │ │ ├── config │ │ │ │ │ ├── BaseSourceConfig.java │ │ │ │ │ ├── JdbcSourceConfig.java │ │ │ │ │ ├── JdbcSourceConfigFactory.java │ │ │ │ │ ├── JdbcSourceTableConfig.java │ │ │ │ │ ├── SourceConfig.java │ │ │ │ │ ├── StartupConfig.java │ │ │ │ │ └── StopConfig.java │ │ │ │ ├── dialect │ │ │ │ │ ├── DataSourceDialect.java │ │ │ │ │ └── JdbcDataSourceDialect.java │ │ │ │ ├── option │ │ │ │ │ ├── JdbcSourceOptions.java │ │ │ │ │ ├── SourceOptions.java │ │ │ │ │ ├── StartupMode.java │ │ │ │ │ └── StopMode.java │ │ │ │ ├── relational │ │ │ │ │ ├── JdbcSourceEventDispatcher.java │ │ │ │ │ └── connection │ │ │ │ │ │ ├── ConnectionPoolId.java │ │ │ │ │ │ ├── ConnectionPools.java │ │ │ │ │ │ ├── JdbcConnectionFactory.java │ │ │ │ │ │ ├── JdbcConnectionPoolFactory.java │ │ │ │ │ │ └── JdbcConnectionPools.java │ │ │ │ ├── schema │ │ │ │ │ ├── AbstractSchemaChangeResolver.java │ │ │ │ │ └── SchemaChangeResolver.java │ │ │ │ ├── source │ │ │ │ │ ├── BaseChangeStreamTableSourceFactory.java │ │ │ │ │ ├── IncrementalSource.java │ │ │ │ │ ├── enumerator │ │ │ │ │ │ ├── HybridSplitAssigner.java │ │ │ │ │ │ ├── IncrementalSourceEnumerator.java │ │ │ │ │ │ ├── IncrementalSplitAssigner.java │ │ │ │ │ │ ├── SnapshotSplitAssigner.java │ │ │ │ │ │ ├── SplitAssigner.java │ │ │ │ │ │ ├── splitter │ │ │ │ │ │ │ ├── AbstractJdbcSourceChunkSplitter.java │ │ │ │ │ │ │ ├── ChunkRange.java │ │ │ │ │ │ │ ├── ChunkSplitter.java │ │ │ │ │ │ │ └── JdbcSourceChunkSplitter.java │ │ │ │ │ │ └── state │ │ │ │ │ │ │ ├── HybridPendingSplitsState.java │ │ │ │ │ │ │ ├── IncrementalPhaseState.java │ │ │ │ │ │ │ ├── PendingSplitsState.java │ │ │ │ │ │ │ └── SnapshotPhaseState.java │ │ │ │ │ ├── event │ │ │ │ │ │ ├── CompletedSnapshotPhaseEvent.java │ │ │ │ │ │ ├── CompletedSnapshotSplitsAckEvent.java │ │ │ │ │ │ ├── CompletedSnapshotSplitsReportEvent.java │ │ │ │ │ │ └── SnapshotSplitWatermark.java │ │ │ │ │ ├── offset │ │ │ │ │ │ ├── Offset.java │ │ │ │ │ │ └── OffsetFactory.java │ │ │ │ │ ├── parser │ │ │ │ │ │ └── SeatunnelDDLParser.java │ │ │ │ │ ├── reader │ │ │ │ │ │ ├── IncrementalSourceReader.java │ │ │ │ │ │ ├── IncrementalSourceRecordEmitter.java │ │ │ │ │ │ ├── IncrementalSourceSplitReader.java │ │ │ │ │ │ └── external │ │ │ │ │ │ │ ├── FetchTask.java │ │ │ │ │ │ │ ├── Fetcher.java │ │ │ │ │ │ │ ├── IncrementalSourceScanFetcher.java │ │ │ │ │ │ │ ├── IncrementalSourceStreamFetcher.java │ │ │ │ │ │ │ └── JdbcSourceFetchTaskContext.java │ │ │ │ │ └── split │ │ │ │ │ │ ├── ChangeEventRecords.java │ │ │ │ │ │ ├── CompletedSnapshotSplitInfo.java │ │ │ │ │ │ ├── IncrementalSplit.java │ │ │ │ │ │ ├── SnapshotSplit.java │ │ │ │ │ │ ├── SourceRecords.java │ │ │ │ │ │ ├── SourceSplitBase.java │ │ │ │ │ │ ├── state │ │ │ │ │ │ ├── IncrementalSplitState.java │ │ │ │ │ │ ├── SnapshotSplitState.java │ │ │ │ │ │ └── SourceSplitStateBase.java │ │ │ │ │ │ └── wartermark │ │ │ │ │ │ ├── WatermarkEvent.java │ │ │ │ │ │ └── WatermarkKind.java │ │ │ │ └── utils │ │ │ │ │ ├── CatalogTableUtils.java │ │ │ │ │ ├── MessageDelayedEventLimiter.java │ │ │ │ │ ├── ObjectUtils.java │ │ │ │ │ └── SourceRecordUtils.java │ │ │ │ └── debezium │ │ │ │ ├── AbstractDebeziumDeserializationSchema.java │ │ │ │ ├── ConnectTableChangeSerializer.java │ │ │ │ ├── DebeziumDeserializationConverter.java │ │ │ │ ├── DebeziumDeserializationConverterFactory.java │ │ │ │ ├── DebeziumDeserializationSchema.java │ │ │ │ ├── DeserializeFormat.java │ │ │ │ ├── EmbeddedDatabaseHistory.java │ │ │ │ ├── MetadataConverter.java │ │ │ │ ├── row │ │ │ │ ├── DebeziumJsonDeserializeSchema.java │ │ │ │ ├── SeaTunnelRowDebeziumDeserializationConverters.java │ │ │ │ └── SeaTunnelRowDebeziumDeserializeSchema.java │ │ │ │ └── utils │ │ │ │ └── TemporalConversions.java │ │ │ └── test │ │ │ └── java │ │ │ ├── jdbc │ │ │ └── source │ │ │ │ └── JdbcSourceChunkSplitterTest.java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── cdc │ │ │ ├── base │ │ │ ├── schema │ │ │ │ └── AbstractSchemaChangeResolverTest.java │ │ │ ├── source │ │ │ │ ├── enumerator │ │ │ │ │ ├── HybridSplitAssignerTest.java │ │ │ │ │ └── splitter │ │ │ │ │ │ └── AbstractJdbcSourceChunkSplitterTest.java │ │ │ │ ├── reader │ │ │ │ │ └── external │ │ │ │ │ │ └── IncrementalSourceStreamFetcherTest.java │ │ │ │ └── split │ │ │ │ │ └── state │ │ │ │ │ └── IncrementalSplitStateTest.java │ │ │ └── utils │ │ │ │ └── MessageDelayedEventLimiterTest.java │ │ │ └── debezium │ │ │ └── row │ │ │ ├── DebeziumJsonDeserializeSchemaTest.java │ │ │ └── SeaTunnelRowDebeziumDeserializationConvertersTest.java │ ├── connector-cdc-mongodb │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── cdc │ │ │ │ └── mongodb │ │ │ │ ├── MongodbIncrementalSource.java │ │ │ │ ├── MongodbIncrementalSourceFactory.java │ │ │ │ ├── config │ │ │ │ ├── MongodbSourceConfig.java │ │ │ │ ├── MongodbSourceConfigProvider.java │ │ │ │ └── MongodbSourceOptions.java │ │ │ │ ├── exception │ │ │ │ └── MongodbConnectorException.java │ │ │ │ ├── internal │ │ │ │ └── MongodbClientProvider.java │ │ │ │ ├── sender │ │ │ │ ├── MongoDBConnectorDeserializationSchema.java │ │ │ │ └── SerializableFunction.java │ │ │ │ ├── source │ │ │ │ ├── MongoDBRecordEmitter.java │ │ │ │ ├── dialect │ │ │ │ │ └── MongodbDialect.java │ │ │ │ ├── fetch │ │ │ │ │ ├── MongodbFetchTaskContext.java │ │ │ │ │ ├── MongodbScanFetchTask.java │ │ │ │ │ └── MongodbStreamFetchTask.java │ │ │ │ ├── offset │ │ │ │ │ ├── ChangeStreamDescriptor.java │ │ │ │ │ ├── ChangeStreamOffset.java │ │ │ │ │ └── ChangeStreamOffsetFactory.java │ │ │ │ └── splitters │ │ │ │ │ ├── MongodbChunkSplitter.java │ │ │ │ │ ├── SampleBucketSplitStrategy.java │ │ │ │ │ ├── ShardedSplitStrategy.java │ │ │ │ │ ├── SingleSplitStrategy.java │ │ │ │ │ ├── SplitContext.java │ │ │ │ │ ├── SplitStrategy.java │ │ │ │ │ └── SplitVectorSplitStrategy.java │ │ │ │ └── utils │ │ │ │ ├── BsonUtils.java │ │ │ │ ├── ChunkUtils.java │ │ │ │ ├── CollectionDiscoveryUtils.java │ │ │ │ ├── MongodbRecordUtils.java │ │ │ │ ├── MongodbUtils.java │ │ │ │ └── ResumeToken.java │ │ │ └── test │ │ │ └── java │ │ │ └── mongodb │ │ │ ├── sender │ │ │ └── MongoDBConnectorDeserializationSchemaTest.java │ │ │ └── source │ │ │ └── MongodbIncrementalSourceFactoryTest.java │ ├── connector-cdc-mysql │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── com │ │ │ │ └── github │ │ │ │ │ └── shyiko │ │ │ │ │ └── mysql │ │ │ │ │ └── binlog │ │ │ │ │ └── io │ │ │ │ │ └── BufferedSocketInputStream.java │ │ │ │ ├── io │ │ │ │ └── debezium │ │ │ │ │ └── connector │ │ │ │ │ └── mysql │ │ │ │ │ ├── GtidUtils.java │ │ │ │ │ └── MySqlStreamingChangeEventSource.java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── cdc │ │ │ │ └── mysql │ │ │ │ ├── config │ │ │ │ ├── CustomMySqlConnectionConfiguration.java │ │ │ │ ├── MySqlSourceConfig.java │ │ │ │ ├── MySqlSourceConfigFactory.java │ │ │ │ └── ServerIdRange.java │ │ │ │ ├── source │ │ │ │ ├── MySqlDialect.java │ │ │ │ ├── MySqlIncrementalSource.java │ │ │ │ ├── MySqlIncrementalSourceFactory.java │ │ │ │ ├── MySqlSchemaChangeResolver.java │ │ │ │ ├── MySqlSourceOptions.java │ │ │ │ ├── enumerator │ │ │ │ │ └── MySqlChunkSplitter.java │ │ │ │ ├── offset │ │ │ │ │ ├── BinlogOffset.java │ │ │ │ │ └── BinlogOffsetFactory.java │ │ │ │ ├── parser │ │ │ │ │ ├── CustomAlterTableParserListener.java │ │ │ │ │ ├── CustomColumnDefinitionParserListener.java │ │ │ │ │ ├── CustomDefaultValueParserListener.java │ │ │ │ │ ├── CustomMySqlAntlrDdlParser.java │ │ │ │ │ └── CustomMySqlAntlrDdlParserListener.java │ │ │ │ └── reader │ │ │ │ │ └── fetch │ │ │ │ │ ├── MySqlSourceFetchTaskContext.java │ │ │ │ │ ├── binlog │ │ │ │ │ └── MySqlBinlogFetchTask.java │ │ │ │ │ └── scan │ │ │ │ │ ├── MySqlSnapshotFetchTask.java │ │ │ │ │ ├── MySqlSnapshotSplitReadTask.java │ │ │ │ │ └── SnapshotSplitChangeEventSourceContext.java │ │ │ │ └── utils │ │ │ │ ├── ErrorMessageUtils.java │ │ │ │ ├── MySqlConnectionUtils.java │ │ │ │ ├── MySqlDdlBuilder.java │ │ │ │ ├── MySqlSchema.java │ │ │ │ ├── MySqlTypeUtils.java │ │ │ │ ├── MySqlUtils.java │ │ │ │ └── TableDiscoveryUtils.java │ │ │ └── test │ │ │ └── java │ │ │ ├── com │ │ │ └── github │ │ │ │ └── shyiko │ │ │ │ └── mysql │ │ │ │ └── binlog │ │ │ │ └── io │ │ │ │ └── BufferedSocketInputStreamTest.java │ │ │ ├── io │ │ │ └── debezium │ │ │ │ └── connector │ │ │ │ └── mysql │ │ │ │ └── GtidUtilsTest.java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── cdc │ │ │ └── mysql │ │ │ ├── source │ │ │ └── MySqlIncrementalSourceFactoryTest.java │ │ │ ├── testutils │ │ │ ├── MySqlContainer.java │ │ │ ├── MySqlVersion.java │ │ │ └── UniqueDatabase.java │ │ │ └── utils │ │ │ ├── MySqlSchemaTest.java │ │ │ └── MySqlUtilsTest.java │ ├── connector-cdc-opengauss │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ ├── io │ │ │ └── debezium │ │ │ │ └── connector │ │ │ │ └── postgresql │ │ │ │ └── connection │ │ │ │ ├── PostgresConnection.java │ │ │ │ └── PostgresReplicationConnection.java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── cdc │ │ │ └── opengauss │ │ │ └── OpengaussIncrementalSourceFactory.java │ ├── connector-cdc-oracle │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── io │ │ │ │ └── debezium │ │ │ │ │ └── connector │ │ │ │ │ └── oracle │ │ │ │ │ └── logminer │ │ │ │ │ ├── LogMinerAdapter.java │ │ │ │ │ ├── LogMinerStreamingChangeEventSource.java │ │ │ │ │ ├── logwriter │ │ │ │ │ └── ReadOnlyLogWriterFlushStrategy.java │ │ │ │ │ └── processor │ │ │ │ │ └── AbstractLogMinerEventProcessor.java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── cdc │ │ │ │ └── oracle │ │ │ │ ├── config │ │ │ │ ├── OracleSourceConfig.java │ │ │ │ └── OracleSourceConfigFactory.java │ │ │ │ ├── source │ │ │ │ ├── OracleDialect.java │ │ │ │ ├── OracleIncrementalSource.java │ │ │ │ ├── OracleIncrementalSourceFactory.java │ │ │ │ ├── OracleSchemaChangeResolver.java │ │ │ │ ├── OracleSourceOptions.java │ │ │ │ ├── enumerator │ │ │ │ │ └── OracleChunkSplitter.java │ │ │ │ ├── offset │ │ │ │ │ ├── RedoLogOffset.java │ │ │ │ │ └── RedoLogOffsetFactory.java │ │ │ │ ├── parser │ │ │ │ │ ├── BaseParserListener.java │ │ │ │ │ ├── CustomAlterTableParserListener.java │ │ │ │ │ ├── CustomColumnDefinitionParserListener.java │ │ │ │ │ ├── CustomOracleAntlrDdlParser.java │ │ │ │ │ └── CustomOracleAntlrDdlParserListener.java │ │ │ │ └── reader │ │ │ │ │ └── fetch │ │ │ │ │ ├── OracleSourceFetchTaskContext.java │ │ │ │ │ ├── logminer │ │ │ │ │ ├── EventProcessorFactory.java │ │ │ │ │ └── OracleRedoLogFetchTask.java │ │ │ │ │ └── scan │ │ │ │ │ ├── OracleSnapshotFetchTask.java │ │ │ │ │ ├── OracleSnapshotSplitReadTask.java │ │ │ │ │ └── SnapshotSplitChangeEventSourceContext.java │ │ │ │ └── utils │ │ │ │ ├── OracleConnectionUtils.java │ │ │ │ ├── OracleSchema.java │ │ │ │ ├── OracleTypeUtils.java │ │ │ │ └── OracleUtils.java │ │ │ └── test │ │ │ └── java │ │ │ ├── io │ │ │ └── debezium │ │ │ │ └── connector │ │ │ │ └── oracle │ │ │ │ └── logminer │ │ │ │ ├── logwriter │ │ │ │ └── ReadOnlyLogWriterFlushStrategyTest.java │ │ │ │ └── processor │ │ │ │ └── AbstractLogMinerEventProcessorTest.java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── cdc │ │ │ └── oracle │ │ │ ├── source │ │ │ ├── OracleIncrementalSourceFactoryTest.java │ │ │ └── parser │ │ │ │ └── OracleDdlParserTest.java │ │ │ └── utils │ │ │ └── OracleUtilsTest.java │ ├── connector-cdc-postgres │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── io │ │ │ │ └── debezium │ │ │ │ │ └── connector │ │ │ │ │ └── postgresql │ │ │ │ │ ├── CustomPostgresValueConverter.java │ │ │ │ │ ├── PostgresObjectUtils.java │ │ │ │ │ ├── PostgresOffsetContext.java │ │ │ │ │ └── TypeRegistry.java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── cdc │ │ │ │ └── postgres │ │ │ │ ├── config │ │ │ │ ├── PostgresSourceConfig.java │ │ │ │ └── PostgresSourceConfigFactory.java │ │ │ │ ├── exception │ │ │ │ └── PostgresConnectorErrorCode.java │ │ │ │ ├── option │ │ │ │ └── PostgresOptions.java │ │ │ │ ├── source │ │ │ │ ├── PostgresDialect.java │ │ │ │ ├── PostgresIncrementalSource.java │ │ │ │ ├── PostgresIncrementalSourceFactory.java │ │ │ │ ├── PostgresSourceOptions.java │ │ │ │ ├── enumerator │ │ │ │ │ └── PostgresChunkSplitter.java │ │ │ │ ├── offset │ │ │ │ │ ├── LsnOffset.java │ │ │ │ │ └── LsnOffsetFactory.java │ │ │ │ └── reader │ │ │ │ │ ├── PostgresSourceFetchTaskContext.java │ │ │ │ │ ├── snapshot │ │ │ │ │ ├── PostgresSnapshotFetchTask.java │ │ │ │ │ ├── PostgresSnapshotSplitReadTask.java │ │ │ │ │ └── SnapshotSplitChangeEventSourceContext.java │ │ │ │ │ └── wal │ │ │ │ │ └── PostgresWalFetchTask.java │ │ │ │ └── utils │ │ │ │ ├── PostgresConnectionUtils.java │ │ │ │ ├── PostgresSchema.java │ │ │ │ ├── PostgresTypeUtils.java │ │ │ │ ├── PostgresUtils.java │ │ │ │ └── TableDiscoveryUtils.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── cdc │ │ │ └── postgres │ │ │ └── utils │ │ │ └── PostgresUtilsTest.java │ ├── connector-cdc-sqlserver │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── io │ │ │ │ └── debezium │ │ │ │ │ └── connector │ │ │ │ │ └── sqlserver │ │ │ │ │ ├── SqlServerConnection.java │ │ │ │ │ └── SqlServerStreamingChangeEventSource.java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── cdc │ │ │ │ └── sqlserver │ │ │ │ ├── config │ │ │ │ ├── SqlServerSourceConfig.java │ │ │ │ └── SqlServerSourceConfigFactory.java │ │ │ │ ├── source │ │ │ │ ├── SqlServerDialect.java │ │ │ │ ├── SqlServerIncrementalSource.java │ │ │ │ ├── SqlServerIncrementalSourceFactory.java │ │ │ │ ├── SqlServerSourceOptions.java │ │ │ │ ├── enumerator │ │ │ │ │ └── SqlServerChunkSplitter.java │ │ │ │ ├── offset │ │ │ │ │ ├── LsnOffset.java │ │ │ │ │ └── LsnOffsetFactory.java │ │ │ │ └── reader │ │ │ │ │ └── fetch │ │ │ │ │ ├── SqlServerSourceFetchTaskContext.java │ │ │ │ │ ├── scan │ │ │ │ │ ├── SnapshotSplitChangeEventSourceContext.java │ │ │ │ │ ├── SqlServerSnapshotFetchTask.java │ │ │ │ │ └── SqlServerSnapshotSplitReadTask.java │ │ │ │ │ └── transactionlog │ │ │ │ │ └── SqlServerTransactionLogFetchTask.java │ │ │ │ └── utils │ │ │ │ ├── SqlServerConnectionUtils.java │ │ │ │ ├── SqlServerSchema.java │ │ │ │ ├── SqlServerTypeUtils.java │ │ │ │ ├── SqlServerUtils.java │ │ │ │ └── TableDiscoveryUtils.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── cdc │ │ │ └── sqlserver │ │ │ ├── source │ │ │ └── SqlServerIncrementalSourceFactoryTest.java │ │ │ └── utils │ │ │ └── SqlServerUtilsTest.java │ ├── connector-cdc-tidb │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ ├── apache │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── cdc │ │ │ │ │ └── tidb │ │ │ │ │ └── source │ │ │ │ │ ├── TiDBSource.java │ │ │ │ │ ├── TiDBSourceFactory.java │ │ │ │ │ ├── config │ │ │ │ │ ├── TiDBSourceConfig.java │ │ │ │ │ └── TiDBSourceOptions.java │ │ │ │ │ ├── converter │ │ │ │ │ ├── DataConverter.java │ │ │ │ │ └── DefaultDataConverter.java │ │ │ │ │ ├── deserializer │ │ │ │ │ ├── AbstractSeaTunnelRowDeserializer.java │ │ │ │ │ ├── SeaTunnelRowSnapshotRecordDeserializer.java │ │ │ │ │ └── SeaTunnelRowStreamingRecordDeserializer.java │ │ │ │ │ ├── enumerator │ │ │ │ │ ├── TiDBSourceCheckpointState.java │ │ │ │ │ └── TiDBSourceSplitEnumerator.java │ │ │ │ │ ├── reader │ │ │ │ │ ├── RowKeyWithTs.java │ │ │ │ │ └── TiDBSourceReader.java │ │ │ │ │ ├── split │ │ │ │ │ └── TiDBSourceSplit.java │ │ │ │ │ └── utils │ │ │ │ │ └── TableKeyRangeUtils.java │ │ │ │ └── tikv │ │ │ │ └── common │ │ │ │ └── iterator │ │ │ │ └── ScanIterator.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── cdc │ │ │ └── tidb │ │ │ └── source │ │ │ └── SqlServerIncrementalSourceFactoryTest.java │ └── pom.xml ├── connector-clickhouse │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── clickhouse │ │ │ ├── catalog │ │ │ ├── ClickhouseCatalog.java │ │ │ ├── ClickhouseCatalogFactory.java │ │ │ └── ClickhouseTypeConverter.java │ │ │ ├── config │ │ │ ├── ClickhouseBaseOptions.java │ │ │ ├── ClickhouseFileCopyMethod.java │ │ │ ├── ClickhouseFileSinkOptions.java │ │ │ ├── ClickhouseSinkOptions.java │ │ │ ├── ClickhouseSourceOptions.java │ │ │ ├── ClickhouseType.java │ │ │ ├── FileReaderOption.java │ │ │ ├── NodePassConfig.java │ │ │ └── ReaderOption.java │ │ │ ├── exception │ │ │ ├── ClickhouseConnectorErrorCode.java │ │ │ └── ClickhouseConnectorException.java │ │ │ ├── shard │ │ │ ├── Shard.java │ │ │ └── ShardMetadata.java │ │ │ ├── sink │ │ │ ├── client │ │ │ │ ├── ClickhouseBatchStatement.java │ │ │ │ ├── ClickhouseSink.java │ │ │ │ ├── ClickhouseSinkFactory.java │ │ │ │ ├── ClickhouseSinkWriter.java │ │ │ │ ├── ShardRouter.java │ │ │ │ └── executor │ │ │ │ │ ├── BufferedBatchStatementExecutor.java │ │ │ │ │ ├── FieldNamedPreparedStatement.java │ │ │ │ │ ├── InsertOrUpdateBatchStatementExecutor.java │ │ │ │ │ ├── JdbcBatchStatementExecutor.java │ │ │ │ │ ├── JdbcBatchStatementExecutorBuilder.java │ │ │ │ │ ├── JdbcRowConverter.java │ │ │ │ │ ├── ReduceBufferedBatchStatementExecutor.java │ │ │ │ │ ├── SimpleBatchStatementExecutor.java │ │ │ │ │ ├── SqlUtils.java │ │ │ │ │ └── StatementFactory.java │ │ │ ├── file │ │ │ │ ├── ClickhouseFileSink.java │ │ │ │ ├── ClickhouseFileSinkAggCommitter.java │ │ │ │ ├── ClickhouseFileSinkFactory.java │ │ │ │ ├── ClickhouseFileSinkWriter.java │ │ │ │ ├── ClickhouseTable.java │ │ │ │ ├── FileTransfer.java │ │ │ │ ├── FileTransferFactory.java │ │ │ │ ├── RsyncFileTransfer.java │ │ │ │ └── ScpFileTransfer.java │ │ │ └── inject │ │ │ │ ├── ArrayInjectFunction.java │ │ │ │ ├── BigDecimalInjectFunction.java │ │ │ │ ├── ClickhouseFieldInjectFunction.java │ │ │ │ ├── DateInjectFunction.java │ │ │ │ ├── DateTimeInjectFunction.java │ │ │ │ ├── DoubleInjectFunction.java │ │ │ │ ├── FloatInjectFunction.java │ │ │ │ ├── IntInjectFunction.java │ │ │ │ ├── LongInjectFunction.java │ │ │ │ ├── MapInjectFunction.java │ │ │ │ └── StringInjectFunction.java │ │ │ ├── source │ │ │ ├── ClickhouseSource.java │ │ │ ├── ClickhouseSourceFactory.java │ │ │ └── ClickhouseSourceReader.java │ │ │ ├── state │ │ │ ├── CKAggCommitInfo.java │ │ │ ├── CKCommitInfo.java │ │ │ ├── CKFileAggCommitInfo.java │ │ │ ├── CKFileCommitInfo.java │ │ │ ├── ClickhouseSinkState.java │ │ │ └── ClickhouseSourceState.java │ │ │ └── util │ │ │ ├── ClickhouseCatalogUtil.java │ │ │ ├── ClickhouseProxy.java │ │ │ ├── ClickhouseUtil.java │ │ │ ├── CreateTableParser.java │ │ │ ├── DistributedEngine.java │ │ │ ├── IntHolder.java │ │ │ └── TypeConvertUtil.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── clickhouse │ │ ├── ClickhouseCreateTableTest.java │ │ ├── ClickhouseFactoryTest.java │ │ ├── ShardRouterTest.java │ │ └── util │ │ └── ClickhouseCatalogUtilTest.java ├── connector-common │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── common │ │ │ │ ├── sink │ │ │ │ ├── AbstractSimpleSink.java │ │ │ │ └── AbstractSinkWriter.java │ │ │ │ ├── source │ │ │ │ ├── AbstractSingleSplitReader.java │ │ │ │ ├── AbstractSingleSplitSource.java │ │ │ │ ├── SingleSplit.java │ │ │ │ ├── SingleSplitEnumerator.java │ │ │ │ ├── SingleSplitEnumeratorState.java │ │ │ │ ├── SingleSplitReaderContext.java │ │ │ │ ├── TypeDefineUtils.java │ │ │ │ ├── arrow │ │ │ │ │ ├── converter │ │ │ │ │ │ ├── Converter.java │ │ │ │ │ │ ├── DateMilliConvertor.java │ │ │ │ │ │ ├── DefaultConverter.java │ │ │ │ │ │ ├── FixedSizeListConverter.java │ │ │ │ │ │ ├── LargeListConverter.java │ │ │ │ │ │ ├── ListConverter.java │ │ │ │ │ │ ├── MapConverter.java │ │ │ │ │ │ ├── NullConverter.java │ │ │ │ │ │ ├── StructConverter.java │ │ │ │ │ │ ├── TimeStampMicroConverter.java │ │ │ │ │ │ ├── TimeStampMilliConverter.java │ │ │ │ │ │ ├── TimeStampNanoConverter.java │ │ │ │ │ │ └── TimeStampSecConverter.java │ │ │ │ │ └── reader │ │ │ │ │ │ └── ArrowToSeatunnelRowReader.java │ │ │ │ └── reader │ │ │ │ │ ├── RecordEmitter.java │ │ │ │ │ ├── RecordsBySplits.java │ │ │ │ │ ├── RecordsWithSplitIds.java │ │ │ │ │ ├── SingleThreadMultiplexSourceReaderBase.java │ │ │ │ │ ├── SourceReaderBase.java │ │ │ │ │ ├── SourceReaderOptions.java │ │ │ │ │ ├── fetcher │ │ │ │ │ ├── AddSplitsTask.java │ │ │ │ │ ├── FetchTask.java │ │ │ │ │ ├── SingleThreadFetcherManager.java │ │ │ │ │ ├── SplitFetcher.java │ │ │ │ │ ├── SplitFetcherManager.java │ │ │ │ │ └── SplitFetcherTask.java │ │ │ │ │ └── splitreader │ │ │ │ │ ├── SplitReader.java │ │ │ │ │ ├── SplitsAddition.java │ │ │ │ │ └── SplitsChange.java │ │ │ │ ├── sql │ │ │ │ └── template │ │ │ │ │ └── SqlTemplate.java │ │ │ │ └── util │ │ │ │ ├── CatalogUtil.java │ │ │ │ └── CreateTableParser.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.seatunnel.connectors.seatunnel.common.source.arrow.converter.Converter │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ ├── common │ │ └── source │ │ │ └── arrow │ │ │ ├── ArrowToSeatunnelRowReaderTest.java │ │ │ └── SeaTunnelDataTypeHolder.java │ │ ├── sink │ │ └── SinkFlowTestUtils.java │ │ └── source │ │ └── SourceFlowTestUtils.java ├── connector-console │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── console │ │ │ └── sink │ │ │ ├── ConsoleSink.java │ │ │ ├── ConsoleSinkFactory.java │ │ │ ├── ConsoleSinkOptions.java │ │ │ └── ConsoleSinkWriter.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── console │ │ ├── ConsoleFactoryTest.java │ │ └── sink │ │ └── ConsoleSinkWriterTest.java ├── connector-databend │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── databend │ │ │ │ ├── catalog │ │ │ │ ├── DatabendCatalog.java │ │ │ │ └── DatabendCatalogFactory.java │ │ │ │ ├── config │ │ │ │ ├── DatabendOptions.java │ │ │ │ ├── DatabendSinkConfig.java │ │ │ │ ├── DatabendSinkOptions.java │ │ │ │ ├── DatabendSourceConfig.java │ │ │ │ └── DatabendSourceOptions.java │ │ │ │ ├── exception │ │ │ │ ├── DatabendConnectorErrorCode.java │ │ │ │ └── DatabendConnectorException.java │ │ │ │ ├── schema │ │ │ │ └── SchemaChangeManager.java │ │ │ │ ├── sink │ │ │ │ ├── DatabendSink.java │ │ │ │ ├── DatabendSinkFactory.java │ │ │ │ └── DatabendSinkWriter.java │ │ │ │ ├── source │ │ │ │ ├── DatabendSource.java │ │ │ │ ├── DatabendSourceFactory.java │ │ │ │ └── DatabendSourceReader.java │ │ │ │ ├── state │ │ │ │ ├── DatabendSinkState.java │ │ │ │ └── DatabendSourceState.java │ │ │ │ └── util │ │ │ │ ├── DatabendTypeConverter.java │ │ │ │ └── DatabendUtil.java │ │ └── resources │ │ │ ├── databend_sink_example.conf │ │ │ ├── databend_source_example.conf │ │ │ ├── databend_to_databend_example.conf │ │ │ └── mysql_to_databend_example.conf │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── databend │ │ └── DatabendFactoryTest.java ├── connector-datahub │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── datahub │ │ │ ├── config │ │ │ └── DataHubSinkOptions.java │ │ │ ├── exception │ │ │ └── DataHubConnectorException.java │ │ │ └── sink │ │ │ ├── DataHubSink.java │ │ │ ├── DataHubSinkFactory.java │ │ │ └── DataHubWriter.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── datahub │ │ └── DataHubFactoryTest.java ├── connector-dingtalk │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ ├── config │ │ │ └── DingTalkSinkOptions.java │ │ │ ├── exception │ │ │ ├── DingTalkConnectorErrorCode.java │ │ │ └── DingTalkConnectorException.java │ │ │ └── sink │ │ │ ├── DingTalkSink.java │ │ │ ├── DingTalkSinkFactory.java │ │ │ └── DingTalkWriter.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── DingTalkFactoryTest.java ├── connector-doris │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── doris │ │ │ ├── backend │ │ │ └── BackendClient.java │ │ │ ├── catalog │ │ │ ├── DorisCatalog.java │ │ │ └── DorisCatalogFactory.java │ │ │ ├── config │ │ │ ├── DorisBaseOptions.java │ │ │ ├── DorisSinkConfig.java │ │ │ ├── DorisSinkOptions.java │ │ │ ├── DorisSourceConfig.java │ │ │ ├── DorisSourceOptions.java │ │ │ └── DorisTableConfig.java │ │ │ ├── datatype │ │ │ ├── AbstractDorisTypeConverter.java │ │ │ ├── DorisTypeConverterFactory.java │ │ │ ├── DorisTypeConverterV1.java │ │ │ └── DorisTypeConverterV2.java │ │ │ ├── exception │ │ │ ├── DorisConnectorErrorCode.java │ │ │ ├── DorisConnectorException.java │ │ │ └── DorisSchemaChangeException.java │ │ │ ├── rest │ │ │ ├── PartitionDefinition.java │ │ │ ├── RestService.java │ │ │ └── models │ │ │ │ ├── Field.java │ │ │ │ ├── QueryPlan.java │ │ │ │ ├── RespContent.java │ │ │ │ ├── Schema.java │ │ │ │ └── Tablet.java │ │ │ ├── schema │ │ │ └── SchemaChangeManager.java │ │ │ ├── serialize │ │ │ ├── DorisSerializer.java │ │ │ ├── SeaTunnelRowSerializer.java │ │ │ └── SeaTunnelRowSerializerFactory.java │ │ │ ├── sink │ │ │ ├── DorisSink.java │ │ │ ├── DorisSinkFactory.java │ │ │ ├── HttpPutBuilder.java │ │ │ ├── LoadStatus.java │ │ │ ├── committer │ │ │ │ ├── DorisCommitInfo.java │ │ │ │ ├── DorisCommitInfoSerializer.java │ │ │ │ └── DorisCommitter.java │ │ │ └── writer │ │ │ │ ├── DorisSinkState.java │ │ │ │ ├── DorisSinkStateSerializer.java │ │ │ │ ├── DorisSinkWriter.java │ │ │ │ ├── DorisStreamLoad.java │ │ │ │ ├── LabelGenerator.java │ │ │ │ ├── LoadConstants.java │ │ │ │ ├── RecordBuffer.java │ │ │ │ └── RecordStream.java │ │ │ ├── source │ │ │ ├── DorisSource.java │ │ │ ├── DorisSourceFactory.java │ │ │ ├── DorisSourceState.java │ │ │ ├── DorisSourceTable.java │ │ │ ├── reader │ │ │ │ ├── DorisSourceReader.java │ │ │ │ └── DorisValueReader.java │ │ │ ├── serialization │ │ │ │ └── Routing.java │ │ │ └── split │ │ │ │ ├── DorisSourceSplit.java │ │ │ │ └── DorisSourceSplitEnumerator.java │ │ │ └── util │ │ │ ├── DorisCatalogUtil.java │ │ │ ├── ErrorMessages.java │ │ │ ├── HttpUtil.java │ │ │ ├── ResponseUtil.java │ │ │ ├── SchemaUtils.java │ │ │ └── UnsupportedTypeConverterUtils.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── doris │ │ ├── catalog │ │ ├── DorisCreateTableTest.java │ │ └── PreviewActionTest.java │ │ ├── datatype │ │ ├── DorisTypeConvertorV1Test.java │ │ └── DorisTypeConvertorV2Test.java │ │ ├── split │ │ └── DorisSourceSplitEnumeratorTest.java │ │ └── util │ │ └── DorisCatalogUtilTest.java ├── connector-druid │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── druid │ │ │ ├── config │ │ │ └── DruidSinkOptions.java │ │ │ ├── exception │ │ │ └── DruidConnectorException.java │ │ │ └── sink │ │ │ ├── DruidSink.java │ │ │ ├── DruidSinkFactory.java │ │ │ └── DruidWriter.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── druid │ │ └── DruidFactoryTest.java ├── connector-easysearch │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── easysearch │ │ │ ├── catalog │ │ │ ├── EasysearchCatalog.java │ │ │ ├── EasysearchCatalogFactory.java │ │ │ └── EasysearchDataTypeConvertor.java │ │ │ ├── client │ │ │ └── EasysearchClient.java │ │ │ ├── config │ │ │ ├── EasysearchSinkCommonOptions.java │ │ │ ├── EasysearchSinkOptions.java │ │ │ └── EasysearchSourceOptions.java │ │ │ ├── constant │ │ │ └── EzsTypeMappingSeaTunnelType.java │ │ │ ├── dto │ │ │ ├── BulkResponse.java │ │ │ ├── EasysearchClusterInfo.java │ │ │ ├── IndexInfo.java │ │ │ └── source │ │ │ │ ├── IndexDocsCount.java │ │ │ │ ├── ScrollResult.java │ │ │ │ └── SourceIndexInfo.java │ │ │ ├── exception │ │ │ ├── EasysearchConnectorErrorCode.java │ │ │ └── EasysearchConnectorException.java │ │ │ ├── serialize │ │ │ ├── EasysearchRowSerializer.java │ │ │ ├── KeyExtractor.java │ │ │ ├── SeaTunnelRowSerializer.java │ │ │ ├── index │ │ │ │ ├── IndexSerializer.java │ │ │ │ ├── IndexSerializerFactory.java │ │ │ │ └── impl │ │ │ │ │ ├── FixedValueIndexSerializer.java │ │ │ │ │ └── VariableIndexSerializer.java │ │ │ └── source │ │ │ │ ├── DefaultSeaTunnelRowDeserializer.java │ │ │ │ ├── EasysearchRecord.java │ │ │ │ └── SeaTunnelRowDeserializer.java │ │ │ ├── sink │ │ │ ├── EasysearchSink.java │ │ │ ├── EasysearchSinkFactory.java │ │ │ └── EasysearchSinkWriter.java │ │ │ ├── source │ │ │ ├── EasysearchSource.java │ │ │ ├── EasysearchSourceFactory.java │ │ │ ├── EasysearchSourceReader.java │ │ │ ├── EasysearchSourceSplit.java │ │ │ ├── EasysearchSourceSplitEnumerator.java │ │ │ └── EasysearchSourceState.java │ │ │ ├── state │ │ │ ├── EasysearchAggregatedCommitInfo.java │ │ │ ├── EasysearchCommitInfo.java │ │ │ └── EasysearchSinkState.java │ │ │ └── util │ │ │ ├── RegexUtils.java │ │ │ └── SSLUtils.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── easysearch │ │ ├── EasysearchFactoryTest.java │ │ └── EasysearchSourceTest.java ├── connector-elasticsearch │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── elasticsearch │ │ │ ├── catalog │ │ │ ├── ElasticSearchCatalog.java │ │ │ ├── ElasticSearchCatalogFactory.java │ │ │ ├── ElasticSearchDataTypeConvertor.java │ │ │ └── ElasticSearchTypeConverter.java │ │ │ ├── client │ │ │ ├── EsRestClient.java │ │ │ └── EsType.java │ │ │ ├── config │ │ │ ├── ElasticsearchBaseOptions.java │ │ │ ├── ElasticsearchConfig.java │ │ │ ├── ElasticsearchSinkOptions.java │ │ │ ├── ElasticsearchSourceOptions.java │ │ │ ├── SearchApiTypeEnum.java │ │ │ └── SearchTypeEnum.java │ │ │ ├── constant │ │ │ ├── ElasticsearchVersion.java │ │ │ └── EsTypeMappingSeaTunnelType.java │ │ │ ├── dto │ │ │ ├── BulkResponse.java │ │ │ ├── ElasticsearchClusterInfo.java │ │ │ ├── IndexInfo.java │ │ │ └── source │ │ │ │ ├── IndexDocsCount.java │ │ │ │ ├── PointInTimeResult.java │ │ │ │ └── ScrollResult.java │ │ │ ├── exception │ │ │ ├── ElasticsearchConnectorErrorCode.java │ │ │ └── ElasticsearchConnectorException.java │ │ │ ├── serialize │ │ │ ├── ElasticsearchRowSerializer.java │ │ │ ├── KeyExtractor.java │ │ │ ├── SeaTunnelRowSerializer.java │ │ │ ├── index │ │ │ │ ├── IndexSerializer.java │ │ │ │ ├── IndexSerializerFactory.java │ │ │ │ └── impl │ │ │ │ │ ├── FixedValueIndexSerializer.java │ │ │ │ │ └── VariableIndexSerializer.java │ │ │ ├── source │ │ │ │ ├── DefaultSeaTunnelRowDeserializer.java │ │ │ │ ├── ElasticsearchRecord.java │ │ │ │ └── SeaTunnelRowDeserializer.java │ │ │ └── type │ │ │ │ ├── IndexTypeSerializer.java │ │ │ │ ├── IndexTypeSerializerFactory.java │ │ │ │ └── impl │ │ │ │ ├── NotIndexTypeSerializer.java │ │ │ │ └── RequiredIndexTypeSerializer.java │ │ │ ├── sink │ │ │ ├── ElasticsearchSink.java │ │ │ ├── ElasticsearchSinkFactory.java │ │ │ └── ElasticsearchSinkWriter.java │ │ │ ├── source │ │ │ ├── ElasticsearchSource.java │ │ │ ├── ElasticsearchSourceFactory.java │ │ │ ├── ElasticsearchSourceReader.java │ │ │ ├── ElasticsearchSourceSplit.java │ │ │ ├── ElasticsearchSourceSplitEnumerator.java │ │ │ └── ElasticsearchSourceState.java │ │ │ ├── state │ │ │ ├── ElasticsearchAggregatedCommitInfo.java │ │ │ ├── ElasticsearchCommitInfo.java │ │ │ └── ElasticsearchSinkState.java │ │ │ └── util │ │ │ ├── RegexUtils.java │ │ │ └── SSLUtils.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── elasticsearch │ │ ├── ElasticsearchFactoryTest.java │ │ ├── ElasticsearchSourceTest.java │ │ ├── catalog │ │ └── PreviewActionTest.java │ │ └── serialize │ │ └── ElasticsearchRowSerializerTest.java ├── connector-email │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── email │ │ │ │ ├── config │ │ │ │ ├── EmailSinkConfig.java │ │ │ │ └── EmailSinkOptions.java │ │ │ │ ├── exception │ │ │ │ ├── EmailConnectorErrorCode.java │ │ │ │ └── EmailConnectorException.java │ │ │ │ └── sink │ │ │ │ ├── EmailSink.java │ │ │ │ ├── EmailSinkFactory.java │ │ │ │ └── EmailSinkWriter.java │ │ └── resources │ │ │ └── fake_to_emailsink_flink.conf │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── email │ │ └── EmailFactoryTest.java ├── connector-fake │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── fake │ │ │ ├── config │ │ │ ├── FakeConfig.java │ │ │ ├── FakeSourceOptions.java │ │ │ └── MultipleTableFakeSourceConfig.java │ │ │ ├── exception │ │ │ └── FakeConnectorException.java │ │ │ ├── source │ │ │ ├── FakeDataGenerator.java │ │ │ ├── FakeSource.java │ │ │ ├── FakeSourceFactory.java │ │ │ ├── FakeSourceReader.java │ │ │ ├── FakeSourceSplit.java │ │ │ └── FakeSourceSplitEnumerator.java │ │ │ ├── state │ │ │ └── FakeSourceState.java │ │ │ └── utils │ │ │ ├── AutoIncrementIdGenerator.java │ │ │ ├── FakeDataRandomUtils.java │ │ │ └── IdGeneratorUtils.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── fake │ │ │ ├── config │ │ │ └── MultipleTableFakeSourceConfigTest.java │ │ │ └── source │ │ │ ├── FakeDataGeneratorTest.java │ │ │ └── FakeFactoryTest.java │ │ └── resources │ │ ├── complex.schema.conf │ │ ├── fake-auto-increment-id.conf │ │ ├── fake-data.column.conf │ │ ├── fake-data.schema.conf │ │ ├── fake-data.schema.default.conf │ │ ├── fake-vector.conf │ │ ├── multiple_table.conf │ │ └── simple.schema.conf ├── connector-file │ ├── connector-file-base-hadoop │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── file │ │ │ └── hdfs │ │ │ ├── sink │ │ │ └── BaseHdfsFileSink.java │ │ │ └── source │ │ │ ├── BaseHdfsFileSource.java │ │ │ └── config │ │ │ └── HdfsSourceConfigOptions.java │ ├── connector-file-base │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── file │ │ │ │ ├── catalog │ │ │ │ └── AbstractFileCatalog.java │ │ │ │ ├── config │ │ │ │ ├── ArchiveCompressFormat.java │ │ │ │ ├── BaseFileSinkConfig.java │ │ │ │ ├── BaseFileSourceConfig.java │ │ │ │ ├── BaseMultipleTableFileSourceConfig.java │ │ │ │ ├── CompressFormat.java │ │ │ │ ├── DelimiterConfig.java │ │ │ │ ├── ExcelEngine.java │ │ │ │ ├── FileBaseOptions.java │ │ │ │ ├── FileBaseSinkOptions.java │ │ │ │ ├── FileBaseSourceOptions.java │ │ │ │ ├── FileFormat.java │ │ │ │ ├── FileSystemType.java │ │ │ │ ├── HadoopConf.java │ │ │ │ └── PartitionConfig.java │ │ │ │ ├── excel │ │ │ │ ├── ExcelCellUtils.java │ │ │ │ └── ExcelReaderListener.java │ │ │ │ ├── exception │ │ │ │ ├── FileConnectorErrorCode.java │ │ │ │ └── FileConnectorException.java │ │ │ │ ├── factory │ │ │ │ └── BaseMultipleTableFileSinkFactory.java │ │ │ │ ├── hadoop │ │ │ │ ├── HadoopFileSystemProxy.java │ │ │ │ └── HadoopLoginFactory.java │ │ │ │ ├── sink │ │ │ │ ├── BaseFileSink.java │ │ │ │ ├── BaseFileSinkWriter.java │ │ │ │ ├── BaseMultipleTableFileSink.java │ │ │ │ ├── commit │ │ │ │ │ ├── FileAggregatedCommitInfo.java │ │ │ │ │ ├── FileCommitInfo.java │ │ │ │ │ └── FileSinkAggregatedCommitter.java │ │ │ │ ├── config │ │ │ │ │ ├── FileSinkConfig.java │ │ │ │ │ └── SaveMode.java │ │ │ │ ├── state │ │ │ │ │ └── FileSinkState.java │ │ │ │ ├── util │ │ │ │ │ ├── ExcelGenerator.java │ │ │ │ │ └── XmlWriter.java │ │ │ │ └── writer │ │ │ │ │ ├── AbstractWriteStrategy.java │ │ │ │ │ ├── BinaryWriteStrategy.java │ │ │ │ │ ├── CanalJsonWriteStrategy.java │ │ │ │ │ ├── CsvWriteStrategy.java │ │ │ │ │ ├── DebeziumJsonWriteStrategy.java │ │ │ │ │ ├── ExcelWriteStrategy.java │ │ │ │ │ ├── JsonWriteStrategy.java │ │ │ │ │ ├── MaxWellJsonWriteStrategy.java │ │ │ │ │ ├── OrcWriteStrategy.java │ │ │ │ │ ├── ParquetWriteStrategy.java │ │ │ │ │ ├── TextWriteStrategy.java │ │ │ │ │ ├── Transaction.java │ │ │ │ │ ├── WriteStrategy.java │ │ │ │ │ ├── WriteStrategyFactory.java │ │ │ │ │ └── XmlWriteStrategy.java │ │ │ │ └── source │ │ │ │ ├── BaseFileSource.java │ │ │ │ ├── BaseFileSourceReader.java │ │ │ │ ├── BaseMultipleTableFileSource.java │ │ │ │ ├── reader │ │ │ │ ├── AbstractReadStrategy.java │ │ │ │ ├── BinaryReadStrategy.java │ │ │ │ ├── CsvReadStrategy.java │ │ │ │ ├── ExcelReadStrategy.java │ │ │ │ ├── JsonReadStrategy.java │ │ │ │ ├── MultipleTableFileSourceReader.java │ │ │ │ ├── OrcReadStrategy.java │ │ │ │ ├── ParquetReadStrategy.java │ │ │ │ ├── ReadStrategy.java │ │ │ │ ├── ReadStrategyFactory.java │ │ │ │ ├── TextReadStrategy.java │ │ │ │ └── XmlReadStrategy.java │ │ │ │ ├── split │ │ │ │ ├── FileSourceSplit.java │ │ │ │ ├── FileSourceSplitEnumerator.java │ │ │ │ └── MultipleTableFileSourceSplitEnumerator.java │ │ │ │ └── state │ │ │ │ └── FileSourceState.java │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── file │ │ │ │ ├── hadoop │ │ │ │ └── HadoopLoginFactoryTest.java │ │ │ │ ├── reader │ │ │ │ ├── BinaryReadStrategyTest.java │ │ │ │ └── ExcelReadStrategyTest.java │ │ │ │ ├── source │ │ │ │ ├── reader │ │ │ │ │ ├── AbstractReadStrategyTest.java │ │ │ │ │ └── CsvReadStrategyTest.java │ │ │ │ └── split │ │ │ │ │ ├── FileSourceSplitEnumeratorTest.java │ │ │ │ │ └── MultipleTableFileSourceSplitEnumeratorTest.java │ │ │ │ ├── util │ │ │ │ └── FileSystemUtilsTest.java │ │ │ │ └── writer │ │ │ │ ├── CsvWriteStrategyTest.java │ │ │ │ ├── FileSinkConfigTest.java │ │ │ │ ├── OrcReadStrategyTest.java │ │ │ │ ├── ParquetReadStrategyTest.java │ │ │ │ ├── ParquetWriteStrategyTest.java │ │ │ │ ├── ReadStrategyEncodingTest.java │ │ │ │ └── XmlReadStrategyTest.java │ │ │ └── resources │ │ │ ├── encoding │ │ │ ├── gbk.json │ │ │ ├── gbk.txt │ │ │ ├── gbk.xml │ │ │ ├── gbk_use_attr_format.xml │ │ │ ├── test_read_json.conf │ │ │ ├── test_read_text.conf │ │ │ ├── test_read_xml.conf │ │ │ └── test_read_xml_use_attr_format.conf │ │ │ ├── excel │ │ │ ├── e2e.xls │ │ │ ├── e2e.xlsx │ │ │ ├── e2exls.conf │ │ │ ├── test_read_excel.conf │ │ │ ├── test_read_excel.xlsx │ │ │ ├── test_read_excel_data_string.conf │ │ │ ├── test_read_excel_date_string.xlsx │ │ │ ├── test_read_excel_formula.xlsx │ │ │ ├── test_read_excel_large.conf │ │ │ └── test_read_formula.xls │ │ │ ├── hive.parquet │ │ │ ├── test.csv │ │ │ ├── test.orc │ │ │ ├── test_read_orc.conf │ │ │ ├── test_read_parquet.conf │ │ │ ├── test_read_parquet2.conf │ │ │ ├── test_write_hdfs.conf │ │ │ ├── test_write_hdfs_default_format.conf │ │ │ ├── test_write_hive.conf │ │ │ ├── timestamp_as_int64.parquet │ │ │ ├── timestamp_as_int96.parquet │ │ │ └── xml │ │ │ ├── name=xmlTest │ │ │ └── test_read.xml │ │ │ └── test_read_xml.conf │ ├── connector-file-cos │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── file │ │ │ │ │ └── cos │ │ │ │ │ ├── config │ │ │ │ │ ├── CosConf.java │ │ │ │ │ ├── CosFileBaseOptions.java │ │ │ │ │ ├── CosFileSinkOptions.java │ │ │ │ │ └── CosFileSourceOptions.java │ │ │ │ │ ├── sink │ │ │ │ │ ├── CosFileSink.java │ │ │ │ │ └── CosFileSinkFactory.java │ │ │ │ │ └── source │ │ │ │ │ ├── CosFileSource.java │ │ │ │ │ └── CosFileSourceFactory.java │ │ │ └── resources │ │ │ │ └── META-INF │ │ │ │ └── services │ │ │ │ └── org.apache.hadoop.fs.FileSystem │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── file │ │ │ └── cos │ │ │ └── CosFileFactoryTest.java │ ├── connector-file-ftp │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── file │ │ │ │ │ └── ftp │ │ │ │ │ ├── catalog │ │ │ │ │ ├── FtpFileCatalog.java │ │ │ │ │ └── FtpFileCatalogFactory.java │ │ │ │ │ ├── config │ │ │ │ │ ├── FTPFileSourceConfig.java │ │ │ │ │ ├── FtpConf.java │ │ │ │ │ ├── FtpFileBaseOptions.java │ │ │ │ │ ├── FtpFileSinkOptions.java │ │ │ │ │ ├── FtpFileSourceOptions.java │ │ │ │ │ └── MultipleTableFTPFileSourceConfig.java │ │ │ │ │ ├── sink │ │ │ │ │ ├── FtpFileSink.java │ │ │ │ │ └── FtpFileSinkFactory.java │ │ │ │ │ ├── source │ │ │ │ │ ├── FtpFileSource.java │ │ │ │ │ └── FtpFileSourceFactory.java │ │ │ │ │ └── system │ │ │ │ │ ├── FtpConnectionMode.java │ │ │ │ │ └── SeaTunnelFTPFileSystem.java │ │ │ └── resources │ │ │ │ └── META-INF │ │ │ │ └── services │ │ │ │ └── org.apache.hadoop.fs.FileSystem │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── file │ │ │ └── ftp │ │ │ ├── FtpFileFactoryTest.java │ │ │ └── system │ │ │ └── SeaTunnelFTPFileSystemTest.java │ ├── connector-file-hadoop │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── file │ │ │ │ └── hdfs │ │ │ │ ├── sink │ │ │ │ ├── HdfsFileSink.java │ │ │ │ └── HdfsFileSinkFactory.java │ │ │ │ └── source │ │ │ │ ├── HdfsFileSource.java │ │ │ │ └── HdfsFileSourceFactory.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── file │ │ │ └── hdfs │ │ │ └── HdfsFileFactoryTest.java │ ├── connector-file-jindo-oss │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── file │ │ │ │ │ └── oss │ │ │ │ │ └── jindo │ │ │ │ │ ├── config │ │ │ │ │ ├── OssConf.java │ │ │ │ │ ├── OssFileBaseOptions.java │ │ │ │ │ ├── OssFileSinkOptions.java │ │ │ │ │ └── OssFileSourceOptions.java │ │ │ │ │ ├── exception │ │ │ │ │ └── OssJindoConnectorException.java │ │ │ │ │ ├── sink │ │ │ │ │ ├── OssFileSink.java │ │ │ │ │ └── OssFileSinkFactory.java │ │ │ │ │ └── source │ │ │ │ │ ├── OssFileSource.java │ │ │ │ │ └── OssFileSourceFactory.java │ │ │ └── resources │ │ │ │ └── META-INF │ │ │ │ └── services │ │ │ │ └── org.apache.hadoop.fs.FileSystem │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── test │ │ │ └── OssJindoFactoryTest.java │ ├── connector-file-local │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── file │ │ │ │ └── local │ │ │ │ ├── catalog │ │ │ │ ├── LocalFileCatalog.java │ │ │ │ └── LocalFileCatalogFactory.java │ │ │ │ ├── config │ │ │ │ ├── LocalFileHadoopConf.java │ │ │ │ ├── LocalFileSinkOptions.java │ │ │ │ └── LocalFileSourceOptions.java │ │ │ │ ├── sink │ │ │ │ ├── LocalFileSink.java │ │ │ │ └── LocalFileSinkFactory.java │ │ │ │ └── source │ │ │ │ ├── LocalFileSource.java │ │ │ │ ├── LocalFileSourceFactory.java │ │ │ │ └── config │ │ │ │ ├── LocalFileSourceConfig.java │ │ │ │ └── MultipleTableLocalFileSourceConfig.java │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── file │ │ │ │ └── local │ │ │ │ ├── LocalFileFactoryTest.java │ │ │ │ └── LocalFileTest.java │ │ │ └── resources │ │ │ └── test_data.txt │ ├── connector-file-obs │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── file │ │ │ │ │ └── obs │ │ │ │ │ ├── config │ │ │ │ │ ├── ObsConf.java │ │ │ │ │ ├── ObsFileBaseOptions.java │ │ │ │ │ ├── ObsFileSinkOptions.java │ │ │ │ │ └── ObsFileSourceOptions.java │ │ │ │ │ ├── sink │ │ │ │ │ ├── ObsFileSink.java │ │ │ │ │ └── ObsFileSinkFactory.java │ │ │ │ │ └── source │ │ │ │ │ ├── ObsFileSource.java │ │ │ │ │ └── ObsFileSourceFactory.java │ │ │ └── resources │ │ │ │ └── META-INF │ │ │ │ └── services │ │ │ │ └── org.apache.hadoop.fs.FileSystem │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── file │ │ │ └── obs │ │ │ └── ObsFileFactoryTest.java │ ├── connector-file-oss │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── file │ │ │ │ │ └── oss │ │ │ │ │ ├── catalog │ │ │ │ │ ├── OssFileCatalog.java │ │ │ │ │ └── OssFileCatalogFactory.java │ │ │ │ │ ├── config │ │ │ │ │ ├── OssFileBaseOptions.java │ │ │ │ │ ├── OssFileSinkOptions.java │ │ │ │ │ ├── OssFileSourceOptions.java │ │ │ │ │ └── OssHadoopConf.java │ │ │ │ │ ├── sink │ │ │ │ │ ├── OssFileSink.java │ │ │ │ │ └── OssFileSinkFactory.java │ │ │ │ │ └── source │ │ │ │ │ ├── OssFileSource.java │ │ │ │ │ ├── OssFileSourceFactory.java │ │ │ │ │ └── config │ │ │ │ │ ├── MultipleTableOssFileSourceConfig.java │ │ │ │ │ └── OssFileSourceConfig.java │ │ │ └── resources │ │ │ │ └── META-INF │ │ │ │ └── services │ │ │ │ └── org.apache.hadoop.fs.FileSystem │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── file │ │ │ └── oss │ │ │ └── OssFileFactoryTest.java │ ├── connector-file-s3 │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── file │ │ │ │ │ └── s3 │ │ │ │ │ ├── catalog │ │ │ │ │ ├── S3FileCatalog.java │ │ │ │ │ └── S3FileCatalogFactory.java │ │ │ │ │ ├── config │ │ │ │ │ ├── S3FileBaseOptions.java │ │ │ │ │ ├── S3FileSinkOptions.java │ │ │ │ │ ├── S3FileSourceOptions.java │ │ │ │ │ └── S3HadoopConf.java │ │ │ │ │ ├── sink │ │ │ │ │ ├── S3FileSink.java │ │ │ │ │ └── S3FileSinkFactory.java │ │ │ │ │ └── source │ │ │ │ │ ├── S3FileSource.java │ │ │ │ │ ├── S3FileSourceFactory.java │ │ │ │ │ └── config │ │ │ │ │ ├── MultipleTableS3FileSourceConfig.java │ │ │ │ │ └── S3FileSourceConfig.java │ │ │ └── resources │ │ │ │ └── META-INF │ │ │ │ └── services │ │ │ │ └── org.apache.hadoop.fs.FileSystem │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── file │ │ │ └── s3 │ │ │ ├── S3FileFactoryTest.java │ │ │ └── config │ │ │ └── S3HadoopConfTest.java │ ├── connector-file-sftp │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── file │ │ │ │ │ └── sftp │ │ │ │ │ ├── catalog │ │ │ │ │ ├── SftpFileCatalog.java │ │ │ │ │ └── SftpFileCatalogFactory.java │ │ │ │ │ ├── config │ │ │ │ │ ├── MultipleTableSFTPFileSourceConfig.java │ │ │ │ │ ├── SFTPFileSourceConfig.java │ │ │ │ │ ├── SftpConf.java │ │ │ │ │ ├── SftpFileBaseOptions.java │ │ │ │ │ ├── SftpFileSinkOptions.java │ │ │ │ │ └── SftpFileSourceOptions.java │ │ │ │ │ ├── sink │ │ │ │ │ ├── SftpFileSink.java │ │ │ │ │ └── SftpFileSinkFactory.java │ │ │ │ │ ├── source │ │ │ │ │ ├── SftpFileSource.java │ │ │ │ │ └── SftpFileSourceFactory.java │ │ │ │ │ └── system │ │ │ │ │ ├── SFTPConnectionPool.java │ │ │ │ │ ├── SFTPFileSystem.java │ │ │ │ │ └── SFTPInputStream.java │ │ │ └── resources │ │ │ │ └── META-INF │ │ │ │ └── services │ │ │ │ └── org.apache.hadoop.fs.FileSystem │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── file │ │ │ └── sftp │ │ │ ├── SftpFileFactoryTest.java │ │ │ └── system │ │ │ └── SftpFileSystemTest.java │ └── pom.xml ├── connector-google-firestore │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── google │ │ │ └── firestore │ │ │ ├── config │ │ │ ├── FirestoreParameters.java │ │ │ └── FirestoreSinkOptions.java │ │ │ ├── exception │ │ │ ├── FirestoreConnectorErrorCode.java │ │ │ └── FirestoreConnectorException.java │ │ │ ├── serialize │ │ │ ├── DefaultSeaTunnelRowSerializer.java │ │ │ └── SeaTunnelRowSerializer.java │ │ │ └── sink │ │ │ ├── FirestoreSink.java │ │ │ ├── FirestoreSinkFactory.java │ │ │ └── FirestoreSinkWriter.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── google │ │ └── firestore │ │ └── FirestoreFactoryTest.java ├── connector-google-sheets │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── google │ │ │ └── sheets │ │ │ ├── config │ │ │ ├── SheetsParameters.java │ │ │ └── SheetsSourceOptions.java │ │ │ ├── deserialize │ │ │ ├── GoogleSheetsDeserializer.java │ │ │ └── SeaTunnelRowDeserializer.java │ │ │ ├── exception │ │ │ ├── GoogleSheetsConnectorException.java │ │ │ ├── GoogleSheetsError.java │ │ │ └── GoogleSheetsErrorCode.java │ │ │ └── source │ │ │ ├── SheetsSource.java │ │ │ ├── SheetsSourceFactory.java │ │ │ └── SheetsSourceReader.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── google │ │ └── sheets │ │ ├── SheetsFactoryTest.java │ │ ├── deserialize │ │ └── GoogleSheetsDeserializerTest.java │ │ └── exception │ │ └── GoogleSheetsErrorTest.java ├── connector-graphql │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── graphql │ │ │ ├── Exception │ │ │ ├── GraphQLConnectorErrorCode.java │ │ │ └── GraphQLConnectorException.java │ │ │ ├── config │ │ │ ├── GraphQLSinkOptions.java │ │ │ ├── GraphQLSinkParameter.java │ │ │ ├── GraphQLSourceOptions.java │ │ │ └── GraphQLSourceParameter.java │ │ │ ├── sink │ │ │ ├── GraphQLSink.java │ │ │ ├── GraphQLSinkFactory.java │ │ │ └── GraphQLSinkWriter.java │ │ │ ├── source │ │ │ ├── GraphQLSource.java │ │ │ ├── GraphQLSourceFactory.java │ │ │ └── reader │ │ │ │ ├── GraphQLSourceHttpReader.java │ │ │ │ ├── GraphQLSourceSocketReader.java │ │ │ │ └── GraphQLWebSocket.java │ │ │ └── util │ │ │ └── GraphQLUtil.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── graphql │ │ └── GraphQLFactoryTest.java ├── connector-hbase │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── hbase │ │ │ ├── catalog │ │ │ ├── HbaseCatalog.java │ │ │ └── HbaseCatalogFactory.java │ │ │ ├── client │ │ │ └── HbaseClient.java │ │ │ ├── config │ │ │ ├── HbaseBaseOptions.java │ │ │ ├── HbaseParameters.java │ │ │ ├── HbaseSinkOptions.java │ │ │ └── HbaseSourceOptions.java │ │ │ ├── constant │ │ │ └── HbaseIdentifier.java │ │ │ ├── exception │ │ │ ├── HbaseConnectorErrorCode.java │ │ │ └── HbaseConnectorException.java │ │ │ ├── format │ │ │ └── HBaseDeserializationFormat.java │ │ │ ├── sink │ │ │ ├── HbaseSink.java │ │ │ ├── HbaseSinkFactory.java │ │ │ └── HbaseSinkWriter.java │ │ │ ├── source │ │ │ ├── HbaseSource.java │ │ │ ├── HbaseSourceFactory.java │ │ │ ├── HbaseSourceReader.java │ │ │ ├── HbaseSourceSplit.java │ │ │ ├── HbaseSourceSplitEnumerator.java │ │ │ └── HbaseSourceState.java │ │ │ └── state │ │ │ ├── HbaseAggregatedCommitInfo.java │ │ │ ├── HbaseCommitInfo.java │ │ │ └── HbaseSinkState.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── hbase │ │ └── HbaseFactoryTest.java ├── connector-hive │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── hive │ │ │ ├── commit │ │ │ └── HiveSinkAggregatedCommitter.java │ │ │ ├── config │ │ │ ├── HiveConfig.java │ │ │ ├── HiveConstants.java │ │ │ ├── HiveOnS3Conf.java │ │ │ └── HiveOptions.java │ │ │ ├── exception │ │ │ ├── HiveConnectorErrorCode.java │ │ │ └── HiveConnectorException.java │ │ │ ├── sink │ │ │ ├── HiveSink.java │ │ │ ├── HiveSinkFactory.java │ │ │ ├── HiveSinkOptions.java │ │ │ └── writter │ │ │ │ └── HiveSinkWriter.java │ │ │ ├── source │ │ │ ├── HiveSource.java │ │ │ ├── HiveSourceFactory.java │ │ │ ├── config │ │ │ │ ├── HiveSourceConfig.java │ │ │ │ └── MultipleTableHiveSourceConfig.java │ │ │ ├── reader │ │ │ │ └── MultipleTableHiveSourceReader.java │ │ │ ├── split │ │ │ │ ├── HiveSourceSplit.java │ │ │ │ └── MultipleTableHiveSourceSplitEnumerator.java │ │ │ └── state │ │ │ │ └── HiveSourceState.java │ │ │ ├── storage │ │ │ ├── AbstractStorage.java │ │ │ ├── COSStorage.java │ │ │ ├── HDFSStorage.java │ │ │ ├── OSSStorage.java │ │ │ ├── S3Storage.java │ │ │ ├── Storage.java │ │ │ ├── StorageFactory.java │ │ │ └── StorageType.java │ │ │ └── utils │ │ │ ├── HiveMetaStoreProxy.java │ │ │ ├── HiveMetaStoreProxyUtils.java │ │ │ ├── HiveTableUtils.java │ │ │ └── HiveTypeConvertor.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── hive │ │ │ ├── HiveFactoryTest.java │ │ │ ├── split │ │ │ └── MultipleTableHiveSourceSplitEnumeratorTest.java │ │ │ ├── storage │ │ │ ├── CosStorageTest.java │ │ │ ├── HDFSStorageTest.java │ │ │ ├── OSSStorageTest.java │ │ │ ├── S3StorageTest.java │ │ │ └── StorageFactoryTest.java │ │ │ └── utils │ │ │ ├── HiveMetaStoreProxyUtilsTest.java │ │ │ └── HiveTypeConvertorTest.java │ │ └── resources │ │ ├── cos │ │ └── core-site.xml │ │ ├── fakesource_to_hive.conf │ │ ├── hive_with_kerberos.conf │ │ ├── hive_with_remoteuser.conf │ │ ├── hive_without_kerberos.conf │ │ ├── oss │ │ └── core-site.xml │ │ └── s3 │ │ └── core-site.xml ├── connector-http │ ├── connector-http-base │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── http │ │ │ │ ├── client │ │ │ │ ├── HttpClientProvider.java │ │ │ │ └── HttpResponse.java │ │ │ │ ├── config │ │ │ │ ├── HttpCommonOptions.java │ │ │ │ ├── HttpConfig.java │ │ │ │ ├── HttpPaginationType.java │ │ │ │ ├── HttpParameter.java │ │ │ │ ├── HttpRequestMethod.java │ │ │ │ ├── HttpSinkOptions.java │ │ │ │ ├── HttpSourceOptions.java │ │ │ │ ├── JsonField.java │ │ │ │ └── PageInfo.java │ │ │ │ ├── exception │ │ │ │ ├── HttpConnectorErrorCode.java │ │ │ │ └── HttpConnectorException.java │ │ │ │ ├── sink │ │ │ │ ├── HttpSink.java │ │ │ │ ├── HttpSinkFactory.java │ │ │ │ └── HttpSinkWriter.java │ │ │ │ ├── source │ │ │ │ ├── DeserializationCollector.java │ │ │ │ ├── HttpSource.java │ │ │ │ ├── HttpSourceFactory.java │ │ │ │ ├── HttpSourceReader.java │ │ │ │ └── SimpleTextDeserializationSchema.java │ │ │ │ └── util │ │ │ │ └── AuthorizationUtil.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── http │ │ │ ├── HttpFactoryTest.java │ │ │ ├── HttpSourceReaderInternalPollNextTest.java │ │ │ ├── HttpSourceReaderUpdateRequestParamTest.java │ │ │ ├── client │ │ │ └── HttpClientProviderTest.java │ │ │ └── sink │ │ │ └── HttpSinkBatchWriterTest.java │ ├── connector-http-feishu │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── feishu │ │ │ └── sink │ │ │ ├── FeishuSink.java │ │ │ ├── FeishuSinkFactory.java │ │ │ └── FeishuSinkOptions.java │ ├── connector-http-github │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── github │ │ │ │ ├── config │ │ │ │ ├── GithubSourceOptions.java │ │ │ │ └── GithubSourceParameter.java │ │ │ │ ├── exception │ │ │ │ └── GithubConnectorException.java │ │ │ │ └── source │ │ │ │ ├── GithubSource.java │ │ │ │ └── GithubSourceFactory.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── github │ │ │ └── GithubFactoryTest.java │ ├── connector-http-gitlab │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── gitlab │ │ │ │ └── source │ │ │ │ ├── GitlabSource.java │ │ │ │ ├── GitlabSourceFactory.java │ │ │ │ ├── config │ │ │ │ ├── GitlabSourceOptions.java │ │ │ │ └── GitlabSourceParameter.java │ │ │ │ └── exception │ │ │ │ └── GitlabConnectorException.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── gitlab │ │ │ └── GitlabFactoryTest.java │ ├── connector-http-jira │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── jira │ │ │ │ └── source │ │ │ │ ├── JiraSource.java │ │ │ │ ├── JiraSourceFactory.java │ │ │ │ └── config │ │ │ │ ├── JiraSourceOptions.java │ │ │ │ └── JiraSourceParameter.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── jira │ │ │ └── JiraFactoryTest.java │ ├── connector-http-klaviyo │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── klaviyo │ │ │ │ └── source │ │ │ │ ├── KlaviyoSource.java │ │ │ │ ├── KlaviyoSourceFactory.java │ │ │ │ └── config │ │ │ │ ├── KlaviyoSourceOptions.java │ │ │ │ ├── KlaviyoSourceParameter.java │ │ │ │ └── exception │ │ │ │ └── KlaviyoConnectorException.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── klaviyo │ │ │ └── KlaviyoFactoryTest.java │ ├── connector-http-lemlist │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── lemlist │ │ │ │ └── source │ │ │ │ ├── LemlistSource.java │ │ │ │ ├── LemlistSourceFactory.java │ │ │ │ ├── config │ │ │ │ ├── LemlistSourceOptions.java │ │ │ │ └── LemlistSourceParameter.java │ │ │ │ └── exception │ │ │ │ └── LemlistConnectorException.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── lemlist │ │ │ └── LemlistFactoryTest.java │ ├── connector-http-myhours │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── myhours │ │ │ │ └── source │ │ │ │ ├── MyHoursSource.java │ │ │ │ ├── MyHoursSourceFactory.java │ │ │ │ ├── config │ │ │ │ ├── MyHoursSourceOptions.java │ │ │ │ └── MyHoursSourceParameter.java │ │ │ │ └── exception │ │ │ │ ├── MyHoursConnectorErrorCode.java │ │ │ │ └── MyHoursConnectorException.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── myhours │ │ │ └── MyHoursFactoryTest.java │ ├── connector-http-notion │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── notion │ │ │ │ └── source │ │ │ │ ├── NotionSource.java │ │ │ │ ├── NotionSourceFactory.java │ │ │ │ ├── config │ │ │ │ ├── NotionSourceOptions.java │ │ │ │ └── NotionSourceParameter.java │ │ │ │ └── exception │ │ │ │ └── NotionConnectorException.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── notion │ │ │ └── NotionFactoryTest.java │ ├── connector-http-onesignal │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── onesignal │ │ │ │ └── source │ │ │ │ ├── OneSignalSource.java │ │ │ │ ├── OneSignalSourceFactory.java │ │ │ │ └── config │ │ │ │ ├── OneSignalSourceOptions.java │ │ │ │ ├── OneSignalSourceParameter.java │ │ │ │ └── exception │ │ │ │ └── OneSignalConnectorException.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── onesignal │ │ │ └── OneSignalFactoryTest.java │ ├── connector-http-persistiq │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── persistiq │ │ │ │ └── source │ │ │ │ ├── PersistiqSource.java │ │ │ │ ├── PersistiqSourceFactory.java │ │ │ │ └── config │ │ │ │ ├── PersistiqSourceOptions.java │ │ │ │ └── PersistiqSourceParameter.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── persistiq │ │ │ └── PersistiqFactoryTest.java │ ├── connector-http-wechat │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── wechat │ │ │ │ └── sink │ │ │ │ ├── WeChatBotMessageSerializationSchema.java │ │ │ │ ├── WeChatSink.java │ │ │ │ ├── WeChatSinkFactory.java │ │ │ │ └── config │ │ │ │ ├── WeChatSinkConfig.java │ │ │ │ └── WeChatSinkOptions.java │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── wechat │ │ │ └── WeChatFactoryTest.java │ └── pom.xml ├── connector-hudi │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── hudi │ │ │ ├── catalog │ │ │ ├── HudiCatalog.java │ │ │ └── HudiCatalogFactory.java │ │ │ ├── config │ │ │ ├── HudiSinkConfig.java │ │ │ ├── HudiSinkOptions.java │ │ │ └── HudiTableConfig.java │ │ │ ├── exception │ │ │ ├── HudiConnectorException.java │ │ │ ├── HudiError.java │ │ │ └── HudiErrorCode.java │ │ │ ├── sink │ │ │ ├── HudiClientManager.java │ │ │ ├── HudiMultiTableResourceManager.java │ │ │ ├── HudiSink.java │ │ │ ├── HudiSinkFactory.java │ │ │ ├── client │ │ │ │ ├── HudiWriteClientProvider.java │ │ │ │ ├── HudiWriteClientProviderProxy.java │ │ │ │ └── WriteClientProvider.java │ │ │ ├── convert │ │ │ │ ├── AvroSchemaConverter.java │ │ │ │ ├── HudiRecordConverter.java │ │ │ │ └── RowDataToAvroConverters.java │ │ │ ├── state │ │ │ │ ├── HudiAggregatedCommitInfo.java │ │ │ │ ├── HudiCommitInfo.java │ │ │ │ └── HudiSinkState.java │ │ │ └── writer │ │ │ │ ├── HudiRecordWriter.java │ │ │ │ └── HudiSinkWriter.java │ │ │ ├── state │ │ │ ├── HudiAggregatedCommitInfo.java │ │ │ ├── HudiCommitInfo.java │ │ │ └── HudiSinkState.java │ │ │ └── util │ │ │ ├── HudiCatalogUtil.java │ │ │ ├── HudiUtil.java │ │ │ └── SchemaUtil.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── hudi │ │ ├── HudiErrorTest.java │ │ ├── HudiTest.java │ │ └── catalog │ │ └── HudiCatalogTest.java ├── connector-iceberg │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── iceberg │ │ │ ├── IcebergCatalogLoader.java │ │ │ ├── IcebergTableLoader.java │ │ │ ├── catalog │ │ │ ├── IcebergCatalog.java │ │ │ └── IcebergCatalogFactory.java │ │ │ ├── config │ │ │ ├── IcebergCatalogType.java │ │ │ ├── IcebergCommonConfig.java │ │ │ ├── IcebergCommonOptions.java │ │ │ ├── IcebergSinkConfig.java │ │ │ ├── IcebergSinkOptions.java │ │ │ ├── IcebergSourceConfig.java │ │ │ ├── IcebergSourceOptions.java │ │ │ └── SourceTableConfig.java │ │ │ ├── data │ │ │ ├── DefaultDeserializer.java │ │ │ ├── Deserializer.java │ │ │ ├── IcebergRecordProjection.java │ │ │ ├── IcebergTypeMapper.java │ │ │ └── RowConverter.java │ │ │ ├── exception │ │ │ ├── IcebergConnectorErrorCode.java │ │ │ └── IcebergConnectorException.java │ │ │ ├── sink │ │ │ ├── IcebergSink.java │ │ │ ├── IcebergSinkFactory.java │ │ │ ├── IcebergSinkWriter.java │ │ │ ├── commit │ │ │ │ ├── IcebergAggregatedCommitInfo.java │ │ │ │ ├── IcebergAggregatedCommitter.java │ │ │ │ ├── IcebergCommitInfo.java │ │ │ │ └── IcebergFilesCommitter.java │ │ │ ├── schema │ │ │ │ ├── ISchemaChange.java │ │ │ │ ├── SchemaAddColumn.java │ │ │ │ ├── SchemaChangeColumn.java │ │ │ │ ├── SchemaChangeWrapper.java │ │ │ │ ├── SchemaDeleteColumn.java │ │ │ │ └── SchemaModifyColumn.java │ │ │ ├── state │ │ │ │ └── IcebergSinkState.java │ │ │ └── writer │ │ │ │ ├── BaseDeltaTaskWriter.java │ │ │ │ ├── IcebergRecord.java │ │ │ │ ├── IcebergRecordWriter.java │ │ │ │ ├── IcebergWriterFactory.java │ │ │ │ ├── PartitionedAppendWriter.java │ │ │ │ ├── PartitionedDeltaWriter.java │ │ │ │ ├── RecordProjection.java │ │ │ │ ├── RecordWriter.java │ │ │ │ ├── UnpartitionedDeltaWriter.java │ │ │ │ └── WriteResult.java │ │ │ ├── source │ │ │ ├── IcebergSource.java │ │ │ ├── IcebergSourceFactory.java │ │ │ ├── enumerator │ │ │ │ ├── AbstractSplitEnumerator.java │ │ │ │ ├── IcebergBatchSplitEnumerator.java │ │ │ │ ├── IcebergEnumerationResult.java │ │ │ │ ├── IcebergEnumeratorPosition.java │ │ │ │ ├── IcebergSplitEnumeratorState.java │ │ │ │ ├── IcebergStreamSplitEnumerator.java │ │ │ │ └── scan │ │ │ │ │ ├── IcebergScanContext.java │ │ │ │ │ ├── IcebergScanSplitPlanner.java │ │ │ │ │ └── IcebergStreamScanStrategy.java │ │ │ ├── reader │ │ │ │ ├── IcebergFileScanTaskReader.java │ │ │ │ ├── IcebergFileScanTaskSplitReader.java │ │ │ │ └── IcebergSourceReader.java │ │ │ └── split │ │ │ │ └── IcebergFileScanTaskSplit.java │ │ │ └── utils │ │ │ ├── ExpressionUtils.java │ │ │ └── SchemaUtils.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── iceberg │ │ ├── IcebergFactoryTest.java │ │ ├── TestIcebergMetastore.java │ │ ├── TypeConvertTest.java │ │ ├── catalog │ │ ├── IcebergCatalogTest.java │ │ └── PreviewActionTest.java │ │ ├── data │ │ ├── IcebergTypeMapperTest.java │ │ └── RowConverterTest.java │ │ └── utils │ │ ├── ExpressionUtilsTest.java │ │ └── SchemaUtilsTest.java ├── connector-influxdb │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── influxdb │ │ │ ├── client │ │ │ └── InfluxDBClient.java │ │ │ ├── config │ │ │ ├── InfluxDBCommonOptions.java │ │ │ ├── InfluxDBConfig.java │ │ │ ├── InfluxDBSinkOptions.java │ │ │ ├── InfluxDBSourceOptions.java │ │ │ ├── SinkConfig.java │ │ │ ├── SourceConfig.java │ │ │ └── TimePrecision.java │ │ │ ├── converter │ │ │ └── InfluxDBRowConverter.java │ │ │ ├── exception │ │ │ ├── InfluxdbConnectorErrorCode.java │ │ │ └── InfluxdbConnectorException.java │ │ │ ├── serialize │ │ │ ├── DefaultSerializer.java │ │ │ └── Serializer.java │ │ │ ├── sink │ │ │ ├── InfluxDBSink.java │ │ │ ├── InfluxDBSinkFactory.java │ │ │ └── InfluxDBSinkWriter.java │ │ │ ├── source │ │ │ ├── InfluxDBSource.java │ │ │ ├── InfluxDBSourceFactory.java │ │ │ ├── InfluxDBSourceSplit.java │ │ │ ├── InfluxDBSourceSplitEnumerator.java │ │ │ └── InfluxdbSourceReader.java │ │ │ └── state │ │ │ └── InfluxDBSourceState.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── influxdb │ │ └── InfluxDBFactoryTest.java ├── connector-iotdb │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── iotdb │ │ │ ├── config │ │ │ ├── CommonConfig.java │ │ │ ├── IoTDBCommonOptions.java │ │ │ ├── IoTDBSinkOptions.java │ │ │ ├── IoTDBSourceOptions.java │ │ │ └── SinkConfig.java │ │ │ ├── constant │ │ │ └── SourceConstants.java │ │ │ ├── exception │ │ │ ├── IotdbConnectorErrorCode.java │ │ │ └── IotdbConnectorException.java │ │ │ ├── serialize │ │ │ ├── DefaultSeaTunnelRowDeserializer.java │ │ │ ├── DefaultSeaTunnelRowSerializer.java │ │ │ ├── IoTDBRecord.java │ │ │ ├── SeaTunnelRowDeserializer.java │ │ │ └── SeaTunnelRowSerializer.java │ │ │ ├── sink │ │ │ ├── IoTDBSink.java │ │ │ ├── IoTDBSinkClient.java │ │ │ ├── IoTDBSinkFactory.java │ │ │ └── IoTDBSinkWriter.java │ │ │ ├── source │ │ │ ├── IoTDBSource.java │ │ │ ├── IoTDBSourceFactory.java │ │ │ ├── IoTDBSourceReader.java │ │ │ ├── IoTDBSourceSplit.java │ │ │ └── IoTDBSourceSplitEnumerator.java │ │ │ └── state │ │ │ └── IoTDBSourceState.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── iotdb │ │ └── IoTDBFactoryTest.java ├── connector-jdbc │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── jdbc │ │ │ ├── catalog │ │ │ ├── AbstractJdbcCatalog.java │ │ │ ├── AbstractJdbcCreateTableSqlBuilder.java │ │ │ ├── JdbcCatalogOptions.java │ │ │ ├── dm │ │ │ │ ├── DamengCatalog.java │ │ │ │ ├── DamengCatalogFactory.java │ │ │ │ ├── DamengCreateTableSqlBuilder.java │ │ │ │ └── DamengDataTypeConvertor.java │ │ │ ├── highgo │ │ │ │ ├── HighGoCatalog.java │ │ │ │ └── HighGoCatalogFactory.java │ │ │ ├── iris │ │ │ │ ├── IrisCatalog.java │ │ │ │ ├── IrisCatalogFactory.java │ │ │ │ ├── IrisCreateTableSqlBuilder.java │ │ │ │ └── savemode │ │ │ │ │ └── IrisSaveModeHandler.java │ │ │ ├── mysql │ │ │ │ ├── MySqlCatalog.java │ │ │ │ ├── MySqlCatalogFactory.java │ │ │ │ ├── MysqlCreateTableSqlBuilder.java │ │ │ │ └── MysqlDataTypeConvertor.java │ │ │ ├── oceanbase │ │ │ │ ├── OceanBaseCatalogFactory.java │ │ │ │ ├── OceanBaseMySqlCatalog.java │ │ │ │ ├── OceanBaseMysqlCreateTableSqlBuilder.java │ │ │ │ ├── OceanBaseOracleCatalog.java │ │ │ │ └── OceanBaseOracleCreateTableSqlBuilder.java │ │ │ ├── opengauss │ │ │ │ ├── OpenGaussCatalog.java │ │ │ │ └── OpenGaussCatalogFactory.java │ │ │ ├── oracle │ │ │ │ ├── OracleCatalog.java │ │ │ │ ├── OracleCatalogFactory.java │ │ │ │ ├── OracleCreateTableSqlBuilder.java │ │ │ │ ├── OracleDataTypeConvertor.java │ │ │ │ └── OracleURLParser.java │ │ │ ├── psql │ │ │ │ ├── PostgresCatalog.java │ │ │ │ ├── PostgresCatalogFactory.java │ │ │ │ ├── PostgresCreateTableSqlBuilder.java │ │ │ │ └── PostgresDataTypeConvertor.java │ │ │ ├── redshift │ │ │ │ ├── RedshiftCatalog.java │ │ │ │ ├── RedshiftCatalogFactory.java │ │ │ │ ├── RedshiftCreateTableSqlBuilder.java │ │ │ │ └── RedshiftDataTypeConvertor.java │ │ │ ├── saphana │ │ │ │ ├── SapHanaCatalog.java │ │ │ │ ├── SapHanaCatalogFactory.java │ │ │ │ ├── SapHanaCreateTableSqlBuilder.java │ │ │ │ └── SapHanaURLParser.java │ │ │ ├── snowflake │ │ │ │ └── SnowflakeDataTypeConvertor.java │ │ │ ├── sqlserver │ │ │ │ ├── SqlServerCatalog.java │ │ │ │ ├── SqlServerCatalogFactory.java │ │ │ │ ├── SqlServerCreateTableSqlBuilder.java │ │ │ │ ├── SqlServerDataTypeConvertor.java │ │ │ │ ├── SqlServerType.java │ │ │ │ └── SqlServerURLParser.java │ │ │ ├── tidb │ │ │ │ ├── TiDBCatalog.java │ │ │ │ ├── TiDBCatalogFactory.java │ │ │ │ └── TiDBDataTypeConvertor.java │ │ │ ├── utils │ │ │ │ ├── CatalogUtils.java │ │ │ │ └── JdbcColumnConverter.java │ │ │ └── xugu │ │ │ │ ├── XuguCatalog.java │ │ │ │ ├── XuguCatalogFactory.java │ │ │ │ └── XuguCreateTableSqlBuilder.java │ │ │ ├── config │ │ │ ├── JdbcConnectionConfig.java │ │ │ ├── JdbcOptions.java │ │ │ ├── JdbcSinkConfig.java │ │ │ ├── JdbcSourceConfig.java │ │ │ ├── JdbcSourceOptions.java │ │ │ └── JdbcSourceTableConfig.java │ │ │ ├── exception │ │ │ ├── JdbcConnectorErrorCode.java │ │ │ └── JdbcConnectorException.java │ │ │ ├── internal │ │ │ ├── JdbcInputFormat.java │ │ │ ├── JdbcOutputFormat.java │ │ │ ├── JdbcOutputFormatBuilder.java │ │ │ ├── connection │ │ │ │ ├── DataSourceUtils.java │ │ │ │ ├── JdbcConnectionProvider.java │ │ │ │ ├── SimpleJdbcConnectionPoolProviderProxy.java │ │ │ │ └── SimpleJdbcConnectionProvider.java │ │ │ ├── converter │ │ │ │ ├── AbstractJdbcRowConverter.java │ │ │ │ └── JdbcRowConverter.java │ │ │ ├── dialect │ │ │ │ ├── DatabaseIdentifier.java │ │ │ │ ├── GenericDialect.java │ │ │ │ ├── GenericDialectFactory.java │ │ │ │ ├── GenericTypeConverter.java │ │ │ │ ├── GenericTypeMapper.java │ │ │ │ ├── JdbcDialect.java │ │ │ │ ├── JdbcDialectFactory.java │ │ │ │ ├── JdbcDialectLoader.java │ │ │ │ ├── JdbcDialectTypeMapper.java │ │ │ │ ├── SQLUtils.java │ │ │ │ ├── db2 │ │ │ │ │ ├── DB2Dialect.java │ │ │ │ │ ├── DB2DialectFactory.java │ │ │ │ │ ├── DB2JdbcRowConverter.java │ │ │ │ │ ├── DB2TypeConverter.java │ │ │ │ │ └── DB2TypeMapper.java │ │ │ │ ├── dialectenum │ │ │ │ │ └── FieldIdeEnum.java │ │ │ │ ├── dm │ │ │ │ │ ├── DmdbDialect.java │ │ │ │ │ ├── DmdbDialectFactory.java │ │ │ │ │ ├── DmdbJdbcRowConverter.java │ │ │ │ │ ├── DmdbTypeConverter.java │ │ │ │ │ └── DmdbTypeMapper.java │ │ │ │ ├── gbase8a │ │ │ │ │ ├── Gbase8aDialect.java │ │ │ │ │ ├── Gbase8aDialectFactory.java │ │ │ │ │ ├── Gbase8aJdbcRowConverter.java │ │ │ │ │ └── Gbase8aTypeMapper.java │ │ │ │ ├── greenplum │ │ │ │ │ └── GreenplumDialectFactory.java │ │ │ │ ├── highgo │ │ │ │ │ └── HighGoDialectFactory.java │ │ │ │ ├── hive │ │ │ │ │ ├── HadoopLoginFactory.java │ │ │ │ │ ├── HiveDialect.java │ │ │ │ │ ├── HiveDialectFactory.java │ │ │ │ │ ├── HiveJdbcConnectionProvider.java │ │ │ │ │ ├── HiveJdbcRowConverter.java │ │ │ │ │ └── HiveTypeMapper.java │ │ │ │ ├── inceptor │ │ │ │ │ ├── InceptorDialect.java │ │ │ │ │ └── InceptorJdbcRowConverter.java │ │ │ │ ├── iris │ │ │ │ │ ├── IrisDialect.java │ │ │ │ │ ├── IrisDialectFactory.java │ │ │ │ │ ├── IrisJdbcRowConverter.java │ │ │ │ │ ├── IrisTypeConverter.java │ │ │ │ │ └── IrisTypeMapper.java │ │ │ │ ├── kingbase │ │ │ │ │ ├── KingbaseDialect.java │ │ │ │ │ ├── KingbaseDialectFactory.java │ │ │ │ │ ├── KingbaseJdbcRowConverter.java │ │ │ │ │ ├── KingbaseTypeConverter.java │ │ │ │ │ └── KingbaseTypeMapper.java │ │ │ │ ├── mysql │ │ │ │ │ ├── MySqlDialectFactory.java │ │ │ │ │ ├── MySqlTypeConverter.java │ │ │ │ │ ├── MySqlTypeMapper.java │ │ │ │ │ ├── MySqlVersion.java │ │ │ │ │ ├── MysqlDialect.java │ │ │ │ │ └── MysqlJdbcRowConverter.java │ │ │ │ ├── oceanbase │ │ │ │ │ ├── OceanBaseDialectFactory.java │ │ │ │ │ ├── OceanBaseMySqlTypeConverter.java │ │ │ │ │ ├── OceanBaseMySqlTypeMapper.java │ │ │ │ │ ├── OceanBaseMysqlDialect.java │ │ │ │ │ ├── OceanBaseMysqlJdbcRowConverter.java │ │ │ │ │ └── OceanBaseMysqlType.java │ │ │ │ ├── opengauss │ │ │ │ │ ├── OpenGaussDialect.java │ │ │ │ │ └── OpenGaussDialectFactory.java │ │ │ │ ├── oracle │ │ │ │ │ ├── OracleDialect.java │ │ │ │ │ ├── OracleDialectFactory.java │ │ │ │ │ ├── OracleJdbcRowConverter.java │ │ │ │ │ ├── OracleTypeConverter.java │ │ │ │ │ └── OracleTypeMapper.java │ │ │ │ ├── phoenix │ │ │ │ │ ├── PhoenixDialect.java │ │ │ │ │ ├── PhoenixDialectFactory.java │ │ │ │ │ ├── PhoenixJdbcRowConverter.java │ │ │ │ │ ├── PhoenixTypeConverter.java │ │ │ │ │ └── PhoenixTypeMapper.java │ │ │ │ ├── presto │ │ │ │ │ ├── PrestoDialect.java │ │ │ │ │ ├── PrestoDialectFactory.java │ │ │ │ │ ├── PrestoJdbcRowConverter.java │ │ │ │ │ └── PrestoTypeMapper.java │ │ │ │ ├── psql │ │ │ │ │ ├── PostgresDialect.java │ │ │ │ │ ├── PostgresDialectFactory.java │ │ │ │ │ ├── PostgresJdbcRowConverter.java │ │ │ │ │ ├── PostgresTypeConverter.java │ │ │ │ │ └── PostgresTypeMapper.java │ │ │ │ ├── psqllow │ │ │ │ │ └── PostgresLowDialect.java │ │ │ │ ├── redshift │ │ │ │ │ ├── RedshiftDialect.java │ │ │ │ │ ├── RedshiftDialectFactory.java │ │ │ │ │ ├── RedshiftJdbcRowConverter.java │ │ │ │ │ ├── RedshiftTypeConverter.java │ │ │ │ │ └── RedshiftTypeMapper.java │ │ │ │ ├── saphana │ │ │ │ │ ├── SapHanaDialect.java │ │ │ │ │ ├── SapHanaDialectFactory.java │ │ │ │ │ ├── SapHanaJdbcRowConverter.java │ │ │ │ │ ├── SapHanaTypeConverter.java │ │ │ │ │ └── SapHanaTypeMapper.java │ │ │ │ ├── snowflake │ │ │ │ │ ├── SnowflakeDialect.java │ │ │ │ │ ├── SnowflakeDialectFactory.java │ │ │ │ │ ├── SnowflakeJdbcRowConverter.java │ │ │ │ │ ├── SnowflakeTypeConverter.java │ │ │ │ │ └── SnowflakeTypeMapper.java │ │ │ │ ├── sqlite │ │ │ │ │ ├── SqliteDialect.java │ │ │ │ │ ├── SqliteDialectFactory.java │ │ │ │ │ ├── SqliteJdbcRowConverter.java │ │ │ │ │ └── SqliteTypeMapper.java │ │ │ │ ├── sqlserver │ │ │ │ │ ├── SqlServerDialect.java │ │ │ │ │ ├── SqlServerDialectFactory.java │ │ │ │ │ ├── SqlServerTypeConverter.java │ │ │ │ │ ├── SqlserverJdbcRowConverter.java │ │ │ │ │ └── SqlserverTypeMapper.java │ │ │ │ ├── starrocks │ │ │ │ │ └── StarRocksDialect.java │ │ │ │ ├── tablestore │ │ │ │ │ ├── TablestoreDialect.java │ │ │ │ │ ├── TablestoreDialectFactory.java │ │ │ │ │ ├── TablestoreJdbcRowConverter.java │ │ │ │ │ └── TablestoreTypeMapper.java │ │ │ │ ├── teradata │ │ │ │ │ ├── TeradataDialect.java │ │ │ │ │ ├── TeradataDialectFactory.java │ │ │ │ │ ├── TeradataJdbcRowConverter.java │ │ │ │ │ └── TeradataTypeMapper.java │ │ │ │ ├── vertica │ │ │ │ │ ├── VerticaDialect.java │ │ │ │ │ ├── VerticaDialectFactory.java │ │ │ │ │ ├── VerticaJdbcRowConverter.java │ │ │ │ │ └── VerticaTypeMapper.java │ │ │ │ └── xugu │ │ │ │ │ ├── XuguDialect.java │ │ │ │ │ ├── XuguDialectFactory.java │ │ │ │ │ ├── XuguJdbcRowConverter.java │ │ │ │ │ ├── XuguTypeConverter.java │ │ │ │ │ └── XuguTypeMapper.java │ │ │ ├── executor │ │ │ │ ├── BufferReducedBatchStatementExecutor.java │ │ │ │ ├── BufferedBatchStatementExecutor.java │ │ │ │ ├── CopyManagerBatchStatementExecutor.java │ │ │ │ ├── CopyManagerProxy.java │ │ │ │ ├── FieldNamedPreparedStatement.java │ │ │ │ ├── InsertOrUpdateBatchStatementExecutor.java │ │ │ │ ├── JdbcBatchStatementExecutor.java │ │ │ │ ├── SimpleBatchStatementExecutor.java │ │ │ │ └── StatementFactory.java │ │ │ ├── split │ │ │ │ ├── JdbcGenericParameterValuesProvider.java │ │ │ │ ├── JdbcNumericBetweenParametersProvider.java │ │ │ │ └── JdbcParameterValuesProvider.java │ │ │ └── xa │ │ │ │ ├── GroupXaOperationResult.java │ │ │ │ ├── SemanticXidGenerator.java │ │ │ │ ├── XaFacade.java │ │ │ │ ├── XaFacadeImplAutoLoad.java │ │ │ │ ├── XaGroupOps.java │ │ │ │ ├── XaGroupOpsImpl.java │ │ │ │ ├── XidGenerator.java │ │ │ │ └── XidImpl.java │ │ │ ├── sink │ │ │ ├── AbstractJdbcSinkWriter.java │ │ │ ├── ConnectionPoolManager.java │ │ │ ├── JdbcExactlyOnceSinkWriter.java │ │ │ ├── JdbcMultiTableResourceManager.java │ │ │ ├── JdbcSink.java │ │ │ ├── JdbcSinkAggregatedCommitter.java │ │ │ ├── JdbcSinkCommitter.java │ │ │ ├── JdbcSinkFactory.java │ │ │ ├── JdbcSinkWriter.java │ │ │ └── savemode │ │ │ │ └── JdbcSaveModeHandler.java │ │ │ ├── source │ │ │ ├── ChunkSplitter.java │ │ │ ├── CollationBasedSplitter.java │ │ │ ├── DynamicChunkSplitter.java │ │ │ ├── FixedChunkSplitter.java │ │ │ ├── JdbcSource.java │ │ │ ├── JdbcSourceFactory.java │ │ │ ├── JdbcSourceReader.java │ │ │ ├── JdbcSourceSplit.java │ │ │ ├── JdbcSourceSplitEnumerator.java │ │ │ ├── JdbcSourceTable.java │ │ │ └── StringSplitMode.java │ │ │ ├── state │ │ │ ├── JdbcAggregatedCommitInfo.java │ │ │ ├── JdbcSinkState.java │ │ │ ├── JdbcSourceState.java │ │ │ └── XidInfo.java │ │ │ └── utils │ │ │ ├── DefaultValueUtils.java │ │ │ ├── HiveJdbcUtils.java │ │ │ ├── JdbcCatalogUtils.java │ │ │ ├── JdbcFieldTypeUtils.java │ │ │ ├── ObjectUtils.java │ │ │ └── ThrowingRunnable.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── jdbc │ │ ├── JdbcFactoryTest.java │ │ ├── catalog │ │ ├── DataTypeConvertorTest.java │ │ ├── MysqlDataTypeConvertorTest.java │ │ ├── PreviewActionTest.java │ │ ├── SnowflakeDataTypeConvertorTest.java │ │ ├── dm │ │ │ ├── DamengCreateTableSqlBuilderTest.java │ │ │ └── DamengJdbcTest.java │ │ ├── driver │ │ │ ├── DriverSelectionTest.java │ │ │ ├── ExpectedDriver.java │ │ │ └── OtherDriver.java │ │ ├── iris │ │ │ └── IrisCreateTableSqlBuilderTest.java │ │ ├── mysql │ │ │ ├── MySqlCatalogTest.java │ │ │ └── MysqlCreateTableSqlBuilderTest.java │ │ ├── oceanbase │ │ │ └── OceanBaseOracleCreateTableSqlBuilderTest.java │ │ ├── oracle │ │ │ ├── OracleCatalogTest.java │ │ │ └── OracleCreateTableSqlBuilderTest.java │ │ ├── psql │ │ │ ├── PostgresCatalogTest.java │ │ │ └── PostgresCreateTableSqlBuilderTest.java │ │ ├── redshift │ │ │ ├── RedshiftCatalogTest.java │ │ │ └── RedshiftCreateTableSqlBuilderTest.java │ │ ├── saphana │ │ │ └── SapHanaCreateTableSqlBuilderTest.java │ │ ├── sqlserver │ │ │ ├── SqlServerCatalogTest.java │ │ │ ├── SqlServerCreateTableSqlBuilderTest.java │ │ │ └── SqlServerURLParserTest.java │ │ ├── utils │ │ │ ├── CatalogUtilsTest.java │ │ │ ├── TestConnection.java │ │ │ ├── TestDatabaseMetaData.java │ │ │ └── TestResultSet.java │ │ └── xugu │ │ │ └── XuguCreateTableSqlBuilderTest.java │ │ ├── internal │ │ ├── JdbcOutputFormatBuilderTest.java │ │ ├── dialect │ │ │ ├── JdbcDialectLoaderTest.java │ │ │ ├── PostgresDialectFactoryTest.java │ │ │ ├── db2 │ │ │ │ └── Db2TypeConverterTest.java │ │ │ ├── dm │ │ │ │ ├── DmdbDialectTest.java │ │ │ │ └── DmdbTypeConverterTest.java │ │ │ ├── hive │ │ │ │ └── HiveDialectFactoryTest.java │ │ │ ├── iris │ │ │ │ └── IrisTypeConverterTest.java │ │ │ ├── kingbase │ │ │ │ └── KingbaseTypeConverterTest.java │ │ │ ├── mysql │ │ │ │ ├── MySqlTypeConverterTest.java │ │ │ │ ├── MySqlTypeMapperTest.java │ │ │ │ └── MysqlVersionTest.java │ │ │ ├── oceanbase │ │ │ │ └── OceanBaseMySqlTypeMapperTest.java │ │ │ ├── opengauss │ │ │ │ └── OpenGaussDialectTest.java │ │ │ ├── oracle │ │ │ │ └── OracleTypeConverterTest.java │ │ │ ├── psql │ │ │ │ ├── PostgresDialectTest.java │ │ │ │ └── PostgresTypeConverterTest.java │ │ │ ├── redshift │ │ │ │ └── RedshiftTypeConverterTest.java │ │ │ ├── saphana │ │ │ │ └── SapHanaTypeConverterTest.java │ │ │ ├── sqlserver │ │ │ │ └── SqlServerTypeConverterTest.java │ │ │ └── xugu │ │ │ │ └── XuguTypeConverterTest.java │ │ ├── executor │ │ │ ├── BufferExecutorTest.java │ │ │ ├── BufferReducedBatchStatementExecutorTest.java │ │ │ ├── BufferedBatchStatementExecutorTest.java │ │ │ └── FieldNamedPreparedStatementTest.java │ │ └── xa │ │ │ └── SemanticXidGeneratorTest.java │ │ ├── source │ │ ├── CharsetBasedSplitterTest.java │ │ └── DynamicChunkSplitterTest.java │ │ └── utils │ │ └── JdbcCatalogUtilsTest.java ├── connector-kafka │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── kafka │ │ │ ├── config │ │ │ ├── KafkaBaseConstants.java │ │ │ ├── KafkaBaseOptions.java │ │ │ ├── KafkaSemantics.java │ │ │ ├── KafkaSinkOptions.java │ │ │ ├── KafkaSourceOptions.java │ │ │ ├── MessageFormat.java │ │ │ ├── MessageFormatErrorHandleWay.java │ │ │ ├── StartMode.java │ │ │ └── TableIdentifierConfig.java │ │ │ ├── exception │ │ │ ├── KafkaConnectorErrorCode.java │ │ │ └── KafkaConnectorException.java │ │ │ ├── serialize │ │ │ ├── DefaultSeaTunnelRowSerializer.java │ │ │ └── SeaTunnelRowSerializer.java │ │ │ ├── sink │ │ │ ├── KafkaInternalProducer.java │ │ │ ├── KafkaNoTransactionSender.java │ │ │ ├── KafkaProduceSender.java │ │ │ ├── KafkaSink.java │ │ │ ├── KafkaSinkCommitter.java │ │ │ ├── KafkaSinkFactory.java │ │ │ ├── KafkaSinkWriter.java │ │ │ ├── KafkaTransactionSender.java │ │ │ └── MessageContentPartitioner.java │ │ │ ├── source │ │ │ ├── ConsumerMetadata.java │ │ │ ├── KafkaPartitionSplitReader.java │ │ │ ├── KafkaRecordEmitter.java │ │ │ ├── KafkaSource.java │ │ │ ├── KafkaSourceConfig.java │ │ │ ├── KafkaSourceFactory.java │ │ │ ├── KafkaSourceReader.java │ │ │ ├── KafkaSourceSplit.java │ │ │ ├── KafkaSourceSplitEnumerator.java │ │ │ ├── KafkaSourceSplitState.java │ │ │ └── fetch │ │ │ │ └── KafkaSourceFetcherManager.java │ │ │ └── state │ │ │ ├── KafkaAggregatedCommitInfo.java │ │ │ ├── KafkaCommitInfo.java │ │ │ ├── KafkaSinkState.java │ │ │ └── KafkaSourceState.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ ├── kafka │ │ └── clients │ │ │ └── admin │ │ │ └── KafkaSourceSplitEnumeratorTest.java │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── kafka │ │ ├── KafkaFactoryTest.java │ │ ├── KafkaStartOffsetTest.java │ │ ├── serialize │ │ └── DefaultSeaTunnelRowSerializerTest.java │ │ └── source │ │ └── KafkaSourceConfigTest.java ├── connector-kudu │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── kudu │ │ │ │ ├── catalog │ │ │ │ ├── KuduCatalog.java │ │ │ │ └── KuduCatalogFactory.java │ │ │ │ ├── config │ │ │ │ ├── CommonConfig.java │ │ │ │ ├── KuduBaseOptions.java │ │ │ │ ├── KuduSinkConfig.java │ │ │ │ ├── KuduSinkOptions.java │ │ │ │ ├── KuduSourceConfig.java │ │ │ │ ├── KuduSourceOptions.java │ │ │ │ └── KuduSourceTableConfig.java │ │ │ │ ├── exception │ │ │ │ ├── KuduConnectorErrorCode.java │ │ │ │ └── KuduConnectorException.java │ │ │ │ ├── kuduclient │ │ │ │ ├── KuduInputFormat.java │ │ │ │ ├── KuduOutputFormat.java │ │ │ │ └── KuduTypeMapper.java │ │ │ │ ├── serialize │ │ │ │ ├── KuduRowSerializer.java │ │ │ │ └── SeaTunnelRowSerializer.java │ │ │ │ ├── sink │ │ │ │ ├── KuduSink.java │ │ │ │ ├── KuduSinkFactory.java │ │ │ │ └── KuduSinkWriter.java │ │ │ │ ├── source │ │ │ │ ├── KuduSource.java │ │ │ │ ├── KuduSourceFactory.java │ │ │ │ ├── KuduSourceReader.java │ │ │ │ ├── KuduSourceSplit.java │ │ │ │ └── KuduSourceSplitEnumerator.java │ │ │ │ ├── state │ │ │ │ ├── KuduAggregatedCommitInfo.java │ │ │ │ ├── KuduCommitInfo.java │ │ │ │ ├── KuduSinkState.java │ │ │ │ └── KuduSourceState.java │ │ │ │ └── util │ │ │ │ └── KuduUtil.java │ │ └── resources │ │ │ ├── kudu_to_kudu_flink.conf │ │ │ └── kudu_to_kudu_spark.conf │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── kudu │ │ └── KuduFactoryTest.java ├── connector-maxcompute │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── maxcompute │ │ │ │ ├── catalog │ │ │ │ ├── MaxComputeCatalog.java │ │ │ │ ├── MaxComputeCatalogFactory.java │ │ │ │ ├── MaxComputeCatalogUtil.java │ │ │ │ └── MaxComputeDataTypeConvertor.java │ │ │ │ ├── config │ │ │ │ ├── MaxcomputeBaseOptions.java │ │ │ │ ├── MaxcomputeSinkOptions.java │ │ │ │ └── MaxcomputeSourceOptions.java │ │ │ │ ├── datatype │ │ │ │ └── MaxComputeTypeConverter.java │ │ │ │ ├── exception │ │ │ │ └── MaxcomputeConnectorException.java │ │ │ │ ├── sink │ │ │ │ ├── MaxComputeSaveModeHandler.java │ │ │ │ ├── MaxcomputeSink.java │ │ │ │ ├── MaxcomputeSinkFactory.java │ │ │ │ └── MaxcomputeWriter.java │ │ │ │ ├── source │ │ │ │ ├── MaxcomputeSource.java │ │ │ │ ├── MaxcomputeSourceFactory.java │ │ │ │ ├── MaxcomputeSourceReader.java │ │ │ │ ├── MaxcomputeSourceSplit.java │ │ │ │ ├── MaxcomputeSourceSplitEnumerator.java │ │ │ │ ├── MaxcomputeSourceState.java │ │ │ │ └── SourceTableInfo.java │ │ │ │ └── util │ │ │ │ ├── CreateTableParser.java │ │ │ │ ├── FormatterContext.java │ │ │ │ ├── MaxcomputeOutputFormat.java │ │ │ │ ├── MaxcomputeTypeMapper.java │ │ │ │ └── MaxcomputeUtil.java │ │ └── resources │ │ │ └── maxcompute_to_maxcompute.conf │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── maxcompute │ │ ├── BasicTypeToOdpsTypeTest.java │ │ ├── MaxcomputeSourceFactoryTest.java │ │ ├── catalog │ │ ├── MaxComputeCatalogUtilTest.java │ │ ├── MaxComputeCreateTableTest.java │ │ ├── MaxComputeDataTypeConvertorTest.java │ │ └── PreviewActionTest.java │ │ ├── datatype │ │ └── MaxComputeTypeConvertorTest.java │ │ └── source │ │ └── MaxcomputeSourceTest.java ├── connector-milvus │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── milvus │ │ │ ├── catalog │ │ │ ├── MilvusCatalog.java │ │ │ ├── MilvusCatalogFactory.java │ │ │ └── MilvusOptions.java │ │ │ ├── config │ │ │ ├── MilvusBaseOptions.java │ │ │ ├── MilvusSinkOptions.java │ │ │ └── MilvusSourceOptions.java │ │ │ ├── exception │ │ │ ├── MilvusConnectionErrorCode.java │ │ │ └── MilvusConnectorException.java │ │ │ ├── sink │ │ │ ├── MilvusBufferBatchWriter.java │ │ │ ├── MilvusSink.java │ │ │ ├── MilvusSinkCommitter.java │ │ │ ├── MilvusSinkFactory.java │ │ │ └── MilvusSinkWriter.java │ │ │ ├── source │ │ │ ├── MilvusSource.java │ │ │ ├── MilvusSourceFactory.java │ │ │ ├── MilvusSourceReader.java │ │ │ ├── MilvusSourceSplit.java │ │ │ ├── MilvusSourceSplitEnumerator.java │ │ │ └── MilvusSourceState.java │ │ │ ├── state │ │ │ ├── MilvusAggregatedCommitInfo.java │ │ │ ├── MilvusCommitInfo.java │ │ │ └── MilvusSinkState.java │ │ │ └── utils │ │ │ ├── MilvusConnectorUtils.java │ │ │ ├── MilvusConvertUtils.java │ │ │ ├── sink │ │ │ └── MilvusSinkConverter.java │ │ │ └── source │ │ │ └── MilvusSourceConverter.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── milvus │ │ └── utils │ │ └── sink │ │ └── MilvusSinkConverterTest.java ├── connector-mongodb │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── mongodb │ │ │ ├── config │ │ │ └── MongodbConfig.java │ │ │ ├── exception │ │ │ └── MongodbConnectorException.java │ │ │ ├── internal │ │ │ ├── MongodbClientProvider.java │ │ │ ├── MongodbCollectionProvider.java │ │ │ └── MongodbSingleCollectionProvider.java │ │ │ ├── serde │ │ │ ├── BsonToRowDataConverters.java │ │ │ ├── DocumentDeserializer.java │ │ │ ├── DocumentRowDataDeserializer.java │ │ │ ├── DocumentSerializer.java │ │ │ ├── RowDataDocumentSerializer.java │ │ │ ├── RowDataToBsonConverters.java │ │ │ └── SerializableFunction.java │ │ │ ├── sink │ │ │ ├── MongoKeyExtractor.java │ │ │ ├── MongodbSink.java │ │ │ ├── MongodbSinkFactory.java │ │ │ ├── MongodbWriter.java │ │ │ ├── MongodbWriterOptions.java │ │ │ ├── commit │ │ │ │ ├── CommittableTransaction.java │ │ │ │ ├── CommittableUpsertTransaction.java │ │ │ │ └── MongodbSinkAggregatedCommitter.java │ │ │ └── state │ │ │ │ ├── DocumentBulk.java │ │ │ │ ├── MongodbAggregatedCommitInfo.java │ │ │ │ └── MongodbCommitInfo.java │ │ │ └── source │ │ │ ├── MongodbSource.java │ │ │ ├── MongodbSourceFactory.java │ │ │ ├── config │ │ │ └── MongodbReadOptions.java │ │ │ ├── enumerator │ │ │ └── MongodbSplitEnumerator.java │ │ │ ├── reader │ │ │ └── MongodbReader.java │ │ │ └── split │ │ │ ├── MongoSplit.java │ │ │ ├── MongoSplitStrategy.java │ │ │ ├── MongoSplitUtils.java │ │ │ └── SamplingSplitStrategy.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── mongodb │ │ ├── MongodbFactoryTest.java │ │ ├── serde │ │ └── BsonToRowDataConvertersTest.java │ │ └── source │ │ └── split │ │ └── SamplingSplitStrategyTest.java ├── connector-neo4j │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── neo4j │ │ │ ├── config │ │ │ ├── DriverBuilder.java │ │ │ ├── Neo4jBaseOptions.java │ │ │ ├── Neo4jQueryInfo.java │ │ │ ├── Neo4jSinkOptions.java │ │ │ ├── Neo4jSinkQueryInfo.java │ │ │ ├── Neo4jSourceOptions.java │ │ │ └── Neo4jSourceQueryInfo.java │ │ │ ├── constants │ │ │ ├── CypherEnum.java │ │ │ └── SinkWriteMode.java │ │ │ ├── exception │ │ │ ├── Neo4jConnectorErrorCode.java │ │ │ └── Neo4jConnectorException.java │ │ │ ├── internal │ │ │ └── SeaTunnelRowNeo4jValue.java │ │ │ ├── sink │ │ │ ├── Neo4jSink.java │ │ │ ├── Neo4jSinkFactory.java │ │ │ └── Neo4jSinkWriter.java │ │ │ └── source │ │ │ ├── Neo4jSource.java │ │ │ ├── Neo4jSourceFactory.java │ │ │ └── Neo4jSourceReader.java │ │ └── test │ │ └── java │ │ ├── org.apache.seatunnel.connectors.seatunnel.neo4j.source │ │ └── Neo4jSourceReaderTest.java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── neo4j │ │ └── Neo4jFactoryTest.java ├── connector-openmldb │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── openmldb │ │ │ ├── config │ │ │ ├── OpenMldbParameters.java │ │ │ ├── OpenMldbSourceOptions.java │ │ │ └── OpenMldbSqlExecutor.java │ │ │ ├── exception │ │ │ └── OpenMldbConnectorException.java │ │ │ └── source │ │ │ ├── OpenMldbSource.java │ │ │ ├── OpenMldbSourceFactory.java │ │ │ └── OpenMldbSourceReader.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── openmldb │ │ └── OpenMldbFactoryTest.java ├── connector-paimon │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── paimon │ │ │ │ ├── catalog │ │ │ │ ├── PaimonCatalog.java │ │ │ │ ├── PaimonCatalogEnum.java │ │ │ │ ├── PaimonCatalogFactory.java │ │ │ │ ├── PaimonCatalogLoader.java │ │ │ │ └── PaimonTable.java │ │ │ │ ├── config │ │ │ │ ├── PaimonBaseOptions.java │ │ │ │ ├── PaimonConfig.java │ │ │ │ ├── PaimonHadoopConfiguration.java │ │ │ │ ├── PaimonSinkConfig.java │ │ │ │ ├── PaimonSinkOptions.java │ │ │ │ ├── PaimonSourceConfig.java │ │ │ │ └── PaimonSourceOptions.java │ │ │ │ ├── data │ │ │ │ └── PaimonTypeMapper.java │ │ │ │ ├── exception │ │ │ │ ├── PaimonConnectorErrorCode.java │ │ │ │ └── PaimonConnectorException.java │ │ │ │ ├── filesystem │ │ │ │ └── S3Loader.java │ │ │ │ ├── handler │ │ │ │ └── PaimonSaveModeHandler.java │ │ │ │ ├── security │ │ │ │ └── PaimonSecurityContext.java │ │ │ │ ├── sink │ │ │ │ ├── PaimonSink.java │ │ │ │ ├── PaimonSinkFactory.java │ │ │ │ ├── PaimonSinkWriter.java │ │ │ │ ├── SupportLoadTable.java │ │ │ │ ├── bucket │ │ │ │ │ └── PaimonBucketAssigner.java │ │ │ │ ├── commit │ │ │ │ │ ├── PaimonAggregatedCommitInfo.java │ │ │ │ │ ├── PaimonAggregatedCommitter.java │ │ │ │ │ └── PaimonCommitInfo.java │ │ │ │ ├── schema │ │ │ │ │ ├── UpdatedDataFields.java │ │ │ │ │ └── handler │ │ │ │ │ │ └── AlterPaimonTableSchemaEventHandler.java │ │ │ │ └── state │ │ │ │ │ └── PaimonSinkState.java │ │ │ │ ├── source │ │ │ │ ├── PaimonSource.java │ │ │ │ ├── PaimonSourceFactory.java │ │ │ │ ├── PaimonSourceReader.java │ │ │ │ ├── PaimonSourceSplit.java │ │ │ │ ├── PaimonSourceSplitGenerator.java │ │ │ │ ├── PaimonSourceState.java │ │ │ │ ├── converter │ │ │ │ │ └── SqlToPaimonPredicateConverter.java │ │ │ │ └── enumerator │ │ │ │ │ ├── AbstractSplitEnumerator.java │ │ │ │ │ ├── PaimonBatchSourceSplitEnumerator.java │ │ │ │ │ └── PaimonStreamSourceSplitEnumerator.java │ │ │ │ └── utils │ │ │ │ ├── RowConverter.java │ │ │ │ ├── RowKindConverter.java │ │ │ │ ├── RowTypeConverter.java │ │ │ │ └── SchemaUtil.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.paimon.fs.FileIOLoader │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── paimon │ │ ├── catalog │ │ ├── PaimonCatalogPrimaryTest.java │ │ ├── PaimonCatalogTest.java │ │ └── PaimonWithCommentTest.java │ │ ├── sink │ │ ├── bucket │ │ │ └── PaimonBucketAssignerTest.java │ │ ├── schema │ │ │ └── UpdatedDataFieldsTest.java │ │ └── writer │ │ │ └── PaimonWriteTest.java │ │ ├── source │ │ └── converter │ │ │ └── SqlToPaimonConverterTest.java │ │ └── utils │ │ ├── RowConverterTest.java │ │ ├── RowTypeConverterTest.java │ │ └── SchemaUtilTest.java ├── connector-prometheus │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── prometheus │ │ │ ├── Exception │ │ │ └── PrometheusConnectorException.java │ │ │ ├── config │ │ │ ├── PrometheusQueryType.java │ │ │ ├── PrometheusSinkConfig.java │ │ │ ├── PrometheusSinkOptions.java │ │ │ ├── PrometheusSourceConfig.java │ │ │ ├── PrometheusSourceOptions.java │ │ │ └── PrometheusSourceParameter.java │ │ │ ├── pojo │ │ │ ├── InstantPoint.java │ │ │ └── RangePoint.java │ │ │ ├── serialize │ │ │ ├── PrometheusSerializer.java │ │ │ └── Serializer.java │ │ │ ├── sink │ │ │ ├── Point.java │ │ │ ├── PrometheusSink.java │ │ │ ├── PrometheusSinkFactory.java │ │ │ ├── PrometheusWriter.java │ │ │ └── proto │ │ │ │ ├── GoGoProtos.java │ │ │ │ ├── Remote.java │ │ │ │ └── Types.java │ │ │ └── source │ │ │ ├── PrometheusSource.java │ │ │ ├── PrometheusSourceFactory.java │ │ │ └── PrometheusSourceReader.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── prometheus │ │ ├── PrometheusFactoryTest.java │ │ └── PrometheusParamCheckTest.java ├── connector-pulsar │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── pulsar │ │ │ ├── config │ │ │ ├── BasePulsarConfig.java │ │ │ ├── PulsarAdminConfig.java │ │ │ ├── PulsarBaseOptions.java │ │ │ ├── PulsarClientConfig.java │ │ │ ├── PulsarConfigUtil.java │ │ │ ├── PulsarConsumerConfig.java │ │ │ ├── PulsarSemantics.java │ │ │ ├── PulsarSinkOptions.java │ │ │ └── PulsarSourceOptions.java │ │ │ ├── exception │ │ │ ├── PulsarConnectorErrorCode.java │ │ │ └── PulsarConnectorException.java │ │ │ ├── sink │ │ │ ├── PulsarSink.java │ │ │ ├── PulsarSinkCommitter.java │ │ │ ├── PulsarSinkFactory.java │ │ │ └── PulsarSinkWriter.java │ │ │ ├── source │ │ │ ├── PulsarSource.java │ │ │ ├── PulsarSourceFactory.java │ │ │ ├── enumerator │ │ │ │ ├── PulsarSplitEnumerator.java │ │ │ │ ├── PulsarSplitEnumeratorState.java │ │ │ │ ├── cursor │ │ │ │ │ ├── start │ │ │ │ │ │ ├── MessageIdStartCursor.java │ │ │ │ │ │ ├── StartCursor.java │ │ │ │ │ │ ├── SubscriptionStartCursor.java │ │ │ │ │ │ └── TimestampStartCursor.java │ │ │ │ │ └── stop │ │ │ │ │ │ ├── LatestMessageStopCursor.java │ │ │ │ │ │ ├── MessageIdStopCursor.java │ │ │ │ │ │ ├── NeverStopCursor.java │ │ │ │ │ │ ├── StopCursor.java │ │ │ │ │ │ └── TimestampStopCursor.java │ │ │ │ ├── discoverer │ │ │ │ │ ├── PulsarDiscoverer.java │ │ │ │ │ ├── TopicListDiscoverer.java │ │ │ │ │ └── TopicPatternDiscoverer.java │ │ │ │ └── topic │ │ │ │ │ └── TopicPartition.java │ │ │ ├── format │ │ │ │ └── PulsarCanalDecorator.java │ │ │ ├── reader │ │ │ │ ├── PulsarSourceReader.java │ │ │ │ ├── PulsarSplitReaderThread.java │ │ │ │ └── RecordWithSplitId.java │ │ │ └── split │ │ │ │ └── PulsarPartitionSplit.java │ │ │ └── state │ │ │ ├── PulsarAggregatedCommitInfo.java │ │ │ ├── PulsarCommitInfo.java │ │ │ └── PulsarSinkState.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── pulsar │ │ └── source │ │ ├── PulsarCanalDecoratorTest.java │ │ └── PulsarSourceFactoryTest.java ├── connector-qdrant │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── qdrant │ │ ├── config │ │ ├── QdrantBaseOptions.java │ │ ├── QdrantParameters.java │ │ ├── QdrantSinkOptions.java │ │ └── QdrantSourceOptions.java │ │ ├── exception │ │ └── QdrantConnectorException.java │ │ ├── sink │ │ ├── QdrantBatchWriter.java │ │ ├── QdrantSink.java │ │ ├── QdrantSinkFactory.java │ │ └── QdrantSinkWriter.java │ │ └── source │ │ ├── QdrantSource.java │ │ ├── QdrantSourceFactory.java │ │ └── QdrantSourceReader.java ├── connector-rabbitmq │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── rabbitmq │ │ │ ├── client │ │ │ ├── QueueingConsumer.java │ │ │ └── RabbitmqClient.java │ │ │ ├── config │ │ │ ├── RabbitmqBaseOptions.java │ │ │ ├── RabbitmqConfig.java │ │ │ ├── RabbitmqSinkOptions.java │ │ │ └── RabbitmqSourceOptions.java │ │ │ ├── exception │ │ │ ├── RabbitmqConnectorErrorCode.java │ │ │ └── RabbitmqConnectorException.java │ │ │ ├── sink │ │ │ ├── RabbitmqSink.java │ │ │ ├── RabbitmqSinkFactory.java │ │ │ └── RabbitmqSinkWriter.java │ │ │ ├── source │ │ │ ├── DeliveryMessage.java │ │ │ ├── RabbitmqSource.java │ │ │ ├── RabbitmqSourceFactory.java │ │ │ ├── RabbitmqSourceReader.java │ │ │ ├── RabbitmqSourceState.java │ │ │ └── RabbitmqSplitEnumerator.java │ │ │ └── split │ │ │ ├── RabbitmqSplit.java │ │ │ └── RabbitmqSplitEnumeratorState.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── rabbitmq │ │ └── RabbitmqFactoryTest.java ├── connector-redis │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── redis │ │ │ ├── client │ │ │ ├── RedisClient.java │ │ │ ├── RedisClusterClient.java │ │ │ └── RedisSingleClient.java │ │ │ ├── config │ │ │ ├── JedisWrapper.java │ │ │ ├── RedisBaseOptions.java │ │ │ ├── RedisDataType.java │ │ │ ├── RedisParameters.java │ │ │ ├── RedisSinkOptions.java │ │ │ └── RedisSourceOptions.java │ │ │ ├── exception │ │ │ ├── RedisConnectorException.java │ │ │ └── RedisErrorCode.java │ │ │ ├── sink │ │ │ ├── RedisSink.java │ │ │ ├── RedisSinkFactory.java │ │ │ └── RedisSinkWriter.java │ │ │ └── source │ │ │ ├── RedisSource.java │ │ │ ├── RedisSourceFactory.java │ │ │ └── RedisSourceReader.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── redis │ │ └── RedisFactoryTest.java ├── connector-rocketmq │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── rocketmq │ │ ├── common │ │ ├── RocketMqAdminUtil.java │ │ ├── RocketMqBaseConfiguration.java │ │ ├── SchemaFormat.java │ │ └── StartMode.java │ │ ├── config │ │ ├── RocketMqBaseOptions.java │ │ ├── RocketMqSinkOptions.java │ │ └── RocketMqSourceOptions.java │ │ ├── exception │ │ ├── RocketMqConnectorErrorCode.java │ │ └── RocketMqConnectorException.java │ │ ├── serialize │ │ ├── DefaultSeaTunnelRowSerializer.java │ │ └── SeaTunnelRowSerializer.java │ │ ├── sink │ │ ├── ProducerMetadata.java │ │ ├── RocketMqNoTransactionSender.java │ │ ├── RocketMqProducerSender.java │ │ ├── RocketMqSink.java │ │ ├── RocketMqSinkFactory.java │ │ ├── RocketMqSinkWriter.java │ │ └── RocketMqTransactionSender.java │ │ └── source │ │ ├── ConsumerMetadata.java │ │ ├── RocketMqConsumerThread.java │ │ ├── RocketMqSource.java │ │ ├── RocketMqSourceFactory.java │ │ ├── RocketMqSourceReader.java │ │ ├── RocketMqSourceSplit.java │ │ ├── RocketMqSourceSplitEnumerator.java │ │ └── RocketMqSourceState.java ├── connector-s3-redshift │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── redshift │ │ ├── RedshiftJdbcClient.java │ │ ├── commit │ │ └── S3RedshiftSinkAggregatedCommitter.java │ │ ├── config │ │ └── S3RedshiftConfigOptions.java │ │ ├── exception │ │ ├── S3RedshiftConnectorErrorCode.java │ │ └── S3RedshiftJdbcConnectorException.java │ │ └── sink │ │ ├── S3RedshiftFactory.java │ │ └── S3RedshiftSink.java ├── connector-selectdb-cloud │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── selectdb │ │ │ ├── config │ │ │ ├── SelectDBConfig.java │ │ │ └── SelectDBSinkOptions.java │ │ │ ├── exception │ │ │ ├── SelectDBConnectorErrorCode.java │ │ │ └── SelectDBConnectorException.java │ │ │ ├── rest │ │ │ ├── BaseResponse.java │ │ │ ├── CopyIntoResp.java │ │ │ └── CopySQLUtil.java │ │ │ ├── serialize │ │ │ ├── SeaTunnelRowConverter.java │ │ │ ├── SeaTunnelRowSerializer.java │ │ │ └── SelectDBSerializer.java │ │ │ ├── sink │ │ │ ├── EscapeHandler.java │ │ │ ├── SelectDBSink.java │ │ │ ├── SelectDBSinkFactory.java │ │ │ ├── committer │ │ │ │ ├── SelectDBCommitInfo.java │ │ │ │ ├── SelectDBCommitInfoSerializer.java │ │ │ │ └── SelectDBCommitter.java │ │ │ └── writer │ │ │ │ ├── CopySQLBuilder.java │ │ │ │ ├── LabelGenerator.java │ │ │ │ ├── LoadConstants.java │ │ │ │ ├── LoadStatus.java │ │ │ │ ├── RecordBuffer.java │ │ │ │ ├── SelectDBSinkState.java │ │ │ │ ├── SelectDBSinkStateSerializer.java │ │ │ │ ├── SelectDBSinkWriter.java │ │ │ │ └── SelectDBStageLoad.java │ │ │ └── util │ │ │ ├── HttpPostBuilder.java │ │ │ ├── HttpPutBuilder.java │ │ │ ├── HttpUtil.java │ │ │ └── ResponseUtil.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── selectdb │ │ └── serialize │ │ └── SeaTunnelRowConverterTest.java ├── connector-sentry │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── sentry │ │ │ ├── config │ │ │ └── SentrySinkOptions.java │ │ │ ├── exception │ │ │ └── SentryConnectorException.java │ │ │ └── sink │ │ │ ├── SentrySink.java │ │ │ ├── SentrySinkFactory.java │ │ │ └── SentrySinkWriter.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── sentry │ │ └── SentryFactoryTest.java ├── connector-slack │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── slack │ │ │ ├── client │ │ │ └── SlackClient.java │ │ │ ├── config │ │ │ └── SlackSinkOptions.java │ │ │ ├── exception │ │ │ ├── SlackConnectorErrorCode.java │ │ │ └── SlackConnectorException.java │ │ │ └── sink │ │ │ ├── SlackSink.java │ │ │ ├── SlackSinkFactory.java │ │ │ └── SlackWriter.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── slack │ │ └── SlackFactoryTest.java ├── connector-sls │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── sls │ │ │ ├── config │ │ │ ├── SlsBaseOptions.java │ │ │ ├── SlsSinkOptions.java │ │ │ ├── SlsSourceOptions.java │ │ │ └── StartMode.java │ │ │ ├── serialization │ │ │ ├── FastLogDeserialization.java │ │ │ ├── FastLogDeserializationContent.java │ │ │ ├── FastLogDeserializationSchema.java │ │ │ └── SeatunnelRowSerialization.java │ │ │ ├── sink │ │ │ ├── SlsSink.java │ │ │ ├── SlsSinkCommitter.java │ │ │ ├── SlsSinkFactory.java │ │ │ └── SlsSinkWriter.java │ │ │ ├── source │ │ │ ├── ConsumerMetaData.java │ │ │ ├── SlsConsumerThread.java │ │ │ ├── SlsSource.java │ │ │ ├── SlsSourceConfig.java │ │ │ ├── SlsSourceFactory.java │ │ │ ├── SlsSourceReader.java │ │ │ ├── SlsSourceSplit.java │ │ │ └── SlsSourceSplitEnumerator.java │ │ │ └── state │ │ │ ├── SlsAggregatedCommitInfo.java │ │ │ ├── SlsCommitInfo.java │ │ │ ├── SlsSinkState.java │ │ │ └── SlsSourceState.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── sls │ │ └── SlsFactoryTest.java ├── connector-socket │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── socket │ │ │ ├── config │ │ │ ├── SocketCommonOptions.java │ │ │ ├── SocketConfig.java │ │ │ ├── SocketSinkOptions.java │ │ │ └── SocketSourceOptions.java │ │ │ ├── exception │ │ │ ├── SocketConnectorErrorCode.java │ │ │ └── SocketConnectorException.java │ │ │ ├── sink │ │ │ ├── SocketClient.java │ │ │ ├── SocketSink.java │ │ │ ├── SocketSinkFactory.java │ │ │ └── SocketSinkWriter.java │ │ │ └── source │ │ │ ├── SocketSource.java │ │ │ ├── SocketSourceFactory.java │ │ │ └── SocketSourceReader.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── socket │ │ └── SocketFactoryTest.java ├── connector-starrocks │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── starrocks │ │ │ ├── catalog │ │ │ ├── StarRocksCatalog.java │ │ │ ├── StarRocksCatalogFactory.java │ │ │ └── StarRocksDataTypeConvertor.java │ │ │ ├── client │ │ │ ├── HttpHelper.java │ │ │ ├── StarRocksFlushTuple.java │ │ │ ├── StarRocksSinkManager.java │ │ │ ├── StarRocksStreamLoadVisitor.java │ │ │ └── source │ │ │ │ ├── StarRocksBeReadClient.java │ │ │ │ ├── StarRocksQueryPlanReadClient.java │ │ │ │ └── model │ │ │ │ ├── Column.java │ │ │ │ ├── QueryBeXTablets.java │ │ │ │ ├── QueryInfo.java │ │ │ │ ├── QueryPartition.java │ │ │ │ ├── QueryPlan.java │ │ │ │ └── Tablet.java │ │ │ ├── config │ │ │ ├── SinkConfig.java │ │ │ ├── SourceConfig.java │ │ │ ├── StarRocksBaseOptions.java │ │ │ ├── StarRocksConfig.java │ │ │ ├── StarRocksSinkOptions.java │ │ │ ├── StarRocksSourceOptions.java │ │ │ └── StarRocksSourceTableConfig.java │ │ │ ├── datatypes │ │ │ ├── StarRocksType.java │ │ │ └── StarRocksTypeConverter.java │ │ │ ├── exception │ │ │ ├── StarRocksConnectorErrorCode.java │ │ │ └── StarRocksConnectorException.java │ │ │ ├── serialize │ │ │ ├── StarRocksBaseSerializer.java │ │ │ ├── StarRocksCsvSerializer.java │ │ │ ├── StarRocksDelimiterParser.java │ │ │ ├── StarRocksISerializer.java │ │ │ ├── StarRocksJsonSerializer.java │ │ │ └── StarRocksSinkOP.java │ │ │ ├── sink │ │ │ ├── StarRocksSaveModeUtil.java │ │ │ ├── StarRocksSink.java │ │ │ ├── StarRocksSinkFactory.java │ │ │ └── StarRocksSinkWriter.java │ │ │ ├── source │ │ │ ├── StarRocksSource.java │ │ │ ├── StarRocksSourceFactory.java │ │ │ ├── StarRocksSourceReader.java │ │ │ ├── StarRocksSourceSplit.java │ │ │ ├── StarRocksSourceState.java │ │ │ └── StartRocksSourceSplitEnumerator.java │ │ │ └── util │ │ │ └── SchemaUtils.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── starrocks │ │ ├── StarRocksFactoryTest.java │ │ ├── catalog │ │ ├── DataTypeConvertorTest.java │ │ ├── PreviewActionTest.java │ │ ├── StarRocksCreateTableTest.java │ │ └── StarRocksTypeConverterTest.java │ │ ├── client │ │ ├── StarRocksSinkManagerTest.java │ │ └── StarRocksStreamLoadVisitorTest.java │ │ ├── serialize │ │ └── StarRocksJsonSerializerTest.java │ │ └── sink │ │ └── StarRocksSaveModeUtilTest.java ├── connector-tablestore │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── tablestore │ │ │ ├── config │ │ │ ├── TableStoreCommonOptions.java │ │ │ ├── TableStoreConfig.java │ │ │ ├── TableStoreSinkOptions.java │ │ │ └── TableStoreSourceOptions.java │ │ │ ├── exception │ │ │ ├── TablestoreConnectorErrorCode.java │ │ │ └── TablestoreConnectorException.java │ │ │ ├── serialize │ │ │ ├── DefaultSeaTunnelRowDeserializer.java │ │ │ ├── DefaultSeaTunnelRowSerializer.java │ │ │ ├── SeaTunnelRowDeserializer.java │ │ │ └── SeaTunnelRowSerializer.java │ │ │ ├── sink │ │ │ ├── TableStoreSink.java │ │ │ ├── TableStoreSinkClient.java │ │ │ ├── TableStoreSinkFactory.java │ │ │ └── TableStoreWriter.java │ │ │ └── source │ │ │ ├── TableStoreProcessor.java │ │ │ ├── TableStoreSource.java │ │ │ ├── TableStoreSourceFactory.java │ │ │ ├── TableStoreSourceReader.java │ │ │ ├── TableStoreSourceSplit.java │ │ │ ├── TableStoreSourceSplitEnumerator.java │ │ │ └── TableStoreSourceState.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── tablestore │ │ └── TableStoreFactoryTest.java ├── connector-tdengine │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── tdengine │ │ │ ├── config │ │ │ ├── TDengineCommonOptions.java │ │ │ ├── TDengineSinkConfig.java │ │ │ ├── TDengineSinkOptions.java │ │ │ ├── TDengineSourceConfig.java │ │ │ └── TDengineSourceOptions.java │ │ │ ├── exception │ │ │ ├── TDengineConnectorErrorCode.java │ │ │ └── TDengineConnectorException.java │ │ │ ├── sink │ │ │ ├── TDengineSink.java │ │ │ ├── TDengineSinkFactory.java │ │ │ └── TDengineSinkWriter.java │ │ │ ├── source │ │ │ ├── StableMetadata.java │ │ │ ├── TDengineSource.java │ │ │ ├── TDengineSourceFactory.java │ │ │ ├── TDengineSourceReader.java │ │ │ ├── TDengineSourceSplit.java │ │ │ └── TDengineSourceSplitEnumerator.java │ │ │ ├── state │ │ │ └── TDengineSourceState.java │ │ │ ├── typemapper │ │ │ └── TDengineTypeMapper.java │ │ │ └── utils │ │ │ └── TDengineUtil.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── tdengine │ │ ├── TDengineTest.java │ │ ├── sink │ │ └── TDengineSinkWriterTest.java │ │ ├── source │ │ └── TDengineSourceReaderTest.java │ │ └── typemapper │ │ └── TDengineTypeMapperTest.java ├── connector-typesense │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── connectors │ │ │ └── seatunnel │ │ │ └── typesense │ │ │ ├── catalog │ │ │ ├── TypesenseCatalog.java │ │ │ ├── TypesenseCatalogFactory.java │ │ │ └── TypesenseTypeConverter.java │ │ │ ├── client │ │ │ ├── TypesenseClient.java │ │ │ └── TypesenseType.java │ │ │ ├── config │ │ │ ├── TypesenseBaseOptions.java │ │ │ ├── TypesenseSinkOptions.java │ │ │ └── TypesenseSourceOptions.java │ │ │ ├── dto │ │ │ ├── CollectionInfo.java │ │ │ └── SourceCollectionInfo.java │ │ │ ├── exception │ │ │ ├── TypesenseConnectorErrorCode.java │ │ │ └── TypesenseConnectorException.java │ │ │ ├── serialize │ │ │ ├── KeyExtractor.java │ │ │ ├── sink │ │ │ │ ├── SeaTunnelRowSerializer.java │ │ │ │ ├── TypesenseRowSerializer.java │ │ │ │ └── collection │ │ │ │ │ ├── CollectionSerializer.java │ │ │ │ │ └── FixedValueCollectionSerializer.java │ │ │ └── source │ │ │ │ ├── DefaultSeaTunnelRowDeserializer.java │ │ │ │ ├── SeaTunnelRowDeserializer.java │ │ │ │ └── TypesenseRecord.java │ │ │ ├── sink │ │ │ ├── TypesenseSink.java │ │ │ ├── TypesenseSinkFactory.java │ │ │ └── TypesenseSinkWriter.java │ │ │ ├── source │ │ │ ├── TypesenseSource.java │ │ │ ├── TypesenseSourceFactory.java │ │ │ ├── TypesenseSourceReader.java │ │ │ ├── TypesenseSourceSplit.java │ │ │ ├── TypesenseSourceSplitEnumerator.java │ │ │ └── TypesenseSourceState.java │ │ │ ├── state │ │ │ ├── TypesenseAggregatedCommitInfo.java │ │ │ ├── TypesenseCommitInfo.java │ │ │ └── TypesenseSinkState.java │ │ │ └── util │ │ │ └── URLParamsConverter.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ └── typesense │ │ ├── serializer │ │ └── TypesenseRowSerializerTest.java │ │ ├── sink │ │ └── TypesenseFactoryTest.java │ │ └── util │ │ └── URLParamsConverterTest.java ├── connector-web3j │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── connectors │ │ └── seatunnel │ │ ├── config │ │ └── Web3jSourceOptions.java │ │ └── source │ │ ├── Web3jSource.java │ │ ├── Web3jSourceFactory.java │ │ ├── Web3jSourceParameter.java │ │ └── Web3jSourceReader.java └── pom.xml ├── seatunnel-core ├── README.md ├── pom.xml ├── seatunnel-core-starter │ ├── README.md │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── core │ │ │ │ └── starter │ │ │ │ ├── SeaTunnel.java │ │ │ │ ├── Starter.java │ │ │ │ ├── command │ │ │ │ ├── AbstractCommandArgs.java │ │ │ │ ├── Command.java │ │ │ │ ├── CommandArgs.java │ │ │ │ ├── ConfDecryptCommand.java │ │ │ │ ├── ConfEncryptCommand.java │ │ │ │ ├── ParameterSplitter.java │ │ │ │ └── UsageFormatter.java │ │ │ │ ├── constants │ │ │ │ └── SeaTunnelStarterConstants.java │ │ │ │ ├── enums │ │ │ │ └── MasterType.java │ │ │ │ ├── exception │ │ │ │ ├── CommandException.java │ │ │ │ ├── CommandExecuteException.java │ │ │ │ ├── ConfigCheckException.java │ │ │ │ └── TaskExecuteException.java │ │ │ │ ├── execution │ │ │ │ ├── PluginExecuteProcessor.java │ │ │ │ ├── RuntimeEnvironment.java │ │ │ │ ├── SourceTableInfo.java │ │ │ │ └── TaskExecution.java │ │ │ │ ├── flowcontrol │ │ │ │ ├── FlowControlGate.java │ │ │ │ └── FlowControlStrategy.java │ │ │ │ └── utils │ │ │ │ ├── CommandLineUtils.java │ │ │ │ ├── CompressionUtils.java │ │ │ │ ├── ConfigAdapterUtils.java │ │ │ │ ├── ConfigBuilder.java │ │ │ │ ├── ConfigShadeUtils.java │ │ │ │ └── FileUtils.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.seatunnel.api.configuration.ConfigShade │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── core │ │ │ └── starter │ │ │ ├── command │ │ │ ├── ConfDecryptCommandTest.java │ │ │ └── ConfEncryptCommandTest.java │ │ │ ├── execution │ │ │ └── RuntimeEnvironmentTest.java │ │ │ ├── flowcontrol │ │ │ └── FlowControlGateTest.java │ │ │ └── utils │ │ │ ├── CompressionUtilsTest.java │ │ │ ├── ConfigBuilderTest.java │ │ │ ├── ConfigShadeTest.java │ │ │ └── FileUtilsTest.java │ │ └── resources │ │ ├── META-INF │ │ └── services │ │ │ └── org.apache.seatunnel.api.configuration.ConfigShade │ │ ├── config.shade.conf │ │ ├── config.shade.json │ │ ├── config.shade_caseNull.conf │ │ ├── config.shade_with_props.json │ │ ├── config.variables.conf │ │ ├── config_variables_with_default_value.conf │ │ ├── config_variables_with_reserved_placeholder.conf │ │ ├── flink.batch.conf │ │ ├── log4j2.properties │ │ ├── origin.conf │ │ └── shade.conf ├── seatunnel-flink-starter │ ├── pom.xml │ ├── seatunnel-flink-13-starter │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── bin │ │ │ ├── start-seatunnel-flink-13-connector-v2.cmd │ │ │ └── start-seatunnel-flink-13-connector-v2.sh │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── core │ │ │ └── starter │ │ │ └── flink │ │ │ ├── FlinkStarter.java │ │ │ ├── SeaTunnelFlink.java │ │ │ └── execution │ │ │ ├── FlinkRuntimeEnvironment.java │ │ │ └── SinkExecuteProcessor.java │ ├── seatunnel-flink-15-starter │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── bin │ │ │ │ ├── start-seatunnel-flink-15-connector-v2.cmd │ │ │ │ └── start-seatunnel-flink-15-connector-v2.sh │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── core │ │ │ │ └── starter │ │ │ │ └── flink │ │ │ │ ├── FlinkCommandArgsTest.java │ │ │ │ └── multitable │ │ │ │ └── MultiTableSinkTest.java │ │ │ └── resources │ │ │ └── config │ │ │ ├── fake_to_inmemory.json │ │ │ ├── fake_to_inmemory_multi_table.conf │ │ │ └── fake_to_inmemory_without_pluginname.json │ └── seatunnel-flink-starter-common │ │ ├── pom.xml │ │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── core │ │ │ └── starter │ │ │ └── flink │ │ │ ├── FlinkStarter.java │ │ │ ├── SeaTunnelFlink.java │ │ │ ├── args │ │ │ └── FlinkCommandArgs.java │ │ │ ├── command │ │ │ ├── FlinkConfValidateCommand.java │ │ │ └── FlinkTaskExecuteCommand.java │ │ │ ├── execution │ │ │ ├── AbstractFlinkRuntimeEnvironment.java │ │ │ ├── DataStreamTableInfo.java │ │ │ ├── FlinkAbstractPluginExecuteProcessor.java │ │ │ ├── FlinkExecution.java │ │ │ ├── FlinkRuntimeEnvironment.java │ │ │ ├── SinkExecuteProcessor.java │ │ │ ├── SourceExecuteProcessor.java │ │ │ └── TransformExecuteProcessor.java │ │ │ └── utils │ │ │ ├── ConfigKeyName.java │ │ │ ├── EnvironmentUtil.java │ │ │ └── TableUtil.java │ │ └── test │ │ └── java │ │ ├── org │ │ └── apache │ │ │ └── seatunnel │ │ │ └── core │ │ │ └── starter │ │ │ └── flink │ │ │ └── TestFlinkParameter.java │ │ └── resources │ │ └── test_flink_run_parameter.conf ├── seatunnel-spark-starter │ ├── pom.xml │ ├── seatunnel-spark-2-starter │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── bin │ │ │ │ ├── start-seatunnel-spark-2-connector-v2.cmd │ │ │ │ └── start-seatunnel-spark-2-connector-v2.sh │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── core │ │ │ │ │ └── starter │ │ │ │ │ └── spark │ │ │ │ │ ├── SeaTunnelSpark.java │ │ │ │ │ ├── SparkStarter.java │ │ │ │ │ └── execution │ │ │ │ │ └── SinkExecuteProcessor.java │ │ │ └── resources │ │ │ │ └── spark_application.conf │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── core │ │ │ └── starter │ │ │ └── spark │ │ │ ├── SparkStarterTest.java │ │ │ ├── args │ │ │ └── SparkCommandArgsTest.java │ │ │ └── utils │ │ │ └── CommandLineUtilsTest.java │ ├── seatunnel-spark-3-starter │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── bin │ │ │ │ ├── start-seatunnel-spark-3-connector-v2.cmd │ │ │ │ └── start-seatunnel-spark-3-connector-v2.sh │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── core │ │ │ │ └── starter │ │ │ │ └── spark │ │ │ │ ├── SparkCommandArgsTest.java │ │ │ │ └── multitable │ │ │ │ └── MultiTableSinkTest.java │ │ │ └── resources │ │ │ └── config │ │ │ ├── fake_to_inmemory.json │ │ │ ├── fake_to_inmemory_multi_table.conf │ │ │ ├── fake_to_inmemory_without_pluginname.json │ │ │ └── source_parallelism_set_2.conf │ └── seatunnel-spark-starter-common │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── core │ │ └── starter │ │ └── spark │ │ ├── SeaTunnelSpark.java │ │ ├── SparkStarter.java │ │ ├── args │ │ └── SparkCommandArgs.java │ │ ├── command │ │ ├── SparkConfValidateCommand.java │ │ └── SparkTaskExecuteCommand.java │ │ └── execution │ │ ├── SinkExecuteProcessor.java │ │ ├── SourceExecuteProcessor.java │ │ ├── SparkAbstractPluginExecuteProcessor.java │ │ ├── SparkExecution.java │ │ ├── SparkRuntimeEnvironment.java │ │ └── TransformExecuteProcessor.java └── seatunnel-starter │ ├── pom.xml │ └── src │ ├── main │ ├── bin │ │ ├── seatunnel-cluster.cmd │ │ ├── seatunnel-cluster.sh │ │ ├── seatunnel-connector.cmd │ │ ├── seatunnel-connector.sh │ │ ├── seatunnel.cmd │ │ ├── seatunnel.sh │ │ ├── stop-seatunnel-cluster.cmd │ │ └── stop-seatunnel-cluster.sh │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── core │ │ │ └── starter │ │ │ └── seatunnel │ │ │ ├── SeaTunnelClient.java │ │ │ ├── SeaTunnelConnector.java │ │ │ ├── SeaTunnelServer.java │ │ │ ├── args │ │ │ ├── ClientCommandArgs.java │ │ │ ├── ConnectorCheckCommandArgs.java │ │ │ └── ServerCommandArgs.java │ │ │ └── command │ │ │ ├── ClientExecuteCommand.java │ │ │ ├── ConnectorCheckCommand.java │ │ │ ├── SeaTunnelConfValidateCommand.java │ │ │ └── ServerExecuteCommand.java │ └── resources │ │ └── log4j2.properties │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── core │ │ └── starter │ │ └── seatunnel │ │ ├── SeaTunnelClientOOMTest.java │ │ ├── args │ │ ├── ClientCommandArgsTest.java │ │ └── ConnectorCheckCommandArgsTest.java │ │ ├── command │ │ ├── ConnectorCheckCommandTest.java │ │ └── ServerExecuteCommandTest.java │ │ └── multitable │ │ └── MultiTableSinkTest.java │ └── resources │ ├── args │ └── user_defined_params.conf │ └── config │ ├── fake_to_inmemory.json │ ├── fake_to_inmemory_multi_table.conf │ ├── fake_to_inmemory_oom.json │ └── fake_to_inmemory_without_pluginname.json ├── seatunnel-dist ├── pom.xml ├── release-docs │ ├── LICENSE │ ├── NOTICE │ └── licenses │ │ ├── LICENSE-accessors-smart.txt │ │ ├── LICENSE-animal-sniffer-annotations.txt │ │ ├── LICENSE-asm.txt │ │ ├── LICENSE-avro.txt │ │ ├── LICENSE-checker-qual.txt │ │ ├── LICENSE-codec-commons-codec.txt │ │ ├── LICENSE-commons-beanutils.txt │ │ ├── LICENSE-commons-cli.txt │ │ ├── LICENSE-commons-collections.txt │ │ ├── LICENSE-commons-compress.txt │ │ ├── LICENSE-commons-configuration2.txt │ │ ├── LICENSE-commons-io.txt │ │ ├── LICENSE-commons-lang.txt │ │ ├── LICENSE-commons-lang3.txt │ │ ├── LICENSE-commons-math3.txt │ │ ├── LICENSE-commons-net.txt │ │ ├── LICENSE-connons-math.txt │ │ ├── LICENSE-curator-client.txt │ │ ├── LICENSE-curator-framework.txt │ │ ├── LICENSE-curator-recipes.txt │ │ ├── LICENSE-error-prone-annotations.txt │ │ ├── LICENSE-findbugs-jsr305.txt │ │ ├── LICENSE-gson.txt │ │ ├── LICENSE-guava.txt │ │ ├── LICENSE-hadoop-annotations.txt │ │ ├── LICENSE-hadoop-auth.txt │ │ ├── LICENSE-hadoop-client.txt │ │ ├── LICENSE-hadoop-common.txt │ │ ├── LICENSE-hadoop-hdfs-client.txt │ │ ├── LICENSE-hadoop-mapreduce-client-common.txt │ │ ├── LICENSE-hadoop-mapreduce-client-core.txt │ │ ├── LICENSE-hadoop-yarn-api.txt │ │ ├── LICENSE-hadoop-yarn-client.txt │ │ ├── LICENSE-hadoop-yarn-common.txt │ │ ├── LICENSE-htrace-core4.txt │ │ ├── LICENSE-httpclient.txt │ │ ├── LICENSE-j2objc-annotations.txt │ │ ├── LICENSE-jackson-annotations.txt │ │ ├── LICENSE-jackson-core-asl.txt │ │ ├── LICENSE-jackson-core.txt │ │ ├── LICENSE-jackson-databind.txt │ │ ├── LICENSE-jackson-mapper-asl.txt │ │ ├── LICENSE-javax-annootation-api.txt │ │ ├── LICENSE-javax.servlet-api.txt │ │ ├── LICENSE-jaxb-api.txt │ │ ├── LICENSE-jcip-annotations.txt │ │ ├── LICENSE-jersey-client.txt │ │ ├── LICENSE-jersey-core.txt │ │ ├── LICENSE-jersey-servlet.txt │ │ ├── LICENSE-jetty-security.txt │ │ ├── LICENSE-jetty-servlet.txt │ │ ├── LICENSE-jetty-util.txt │ │ ├── LICENSE-jetty-webapp.txt │ │ ├── LICENSE-jetty-xml.txt │ │ ├── LICENSE-jose-jwt.txt │ │ ├── LICENSE-json-smart.txt │ │ ├── LICENSE-jsr311-api.txt │ │ ├── LICENSE-kerb-admin.txt │ │ ├── LICENSE-kerb-client.txt │ │ ├── LICENSE-kerb-common.txt │ │ ├── LICENSE-kerb-core.txt │ │ ├── LICENSE-kerb-crypto.txt │ │ ├── LICENSE-kerb-identity.txt │ │ ├── LICENSE-kerb-server.txt │ │ ├── LICENSE-kerb-simplekdc.txt │ │ ├── LICENSE-kerb-util.txt │ │ ├── LICENSE-kerby-asn1.txt │ │ ├── LICENSE-kerby-config.txt │ │ ├── LICENSE-kerby-pkix.txt │ │ ├── LICENSE-kerby-util.txt │ │ ├── LICENSE-kerby-xdr.txt │ │ ├── LICENSE-log4j-1.2-api.txt │ │ ├── LICENSE-log4j-api.txt │ │ ├── LICENSE-log4j-core.txt │ │ ├── LICENSE-log4j-slf4j-impl.txt │ │ ├── LICENSE-mapreduce-client-jobclient.txt │ │ ├── LICENSE-orc.txt │ │ ├── LICENSE-parquet-format.txt │ │ ├── LICENSE-parquet-mr.txt │ │ ├── LICENSE-protobuf-java.txt │ │ ├── LICENSE-protobuf.txt │ │ ├── LICENSE-protoc-jar.txt │ │ ├── LICENSE-re2j.txt │ │ ├── LICENSE-scala.txt │ │ ├── LICENSE-sjf4j.txt │ │ ├── LICENSE-snappy-java.txt │ │ ├── LICENSE-spark.txt │ │ ├── LICENSE-stax2-api.txt │ │ ├── LICENSE-token-provider.txt │ │ ├── LICENSE-woodstox-core.txt │ │ ├── LICENSE-xz.txt │ │ └── LICENSE-yetus.txt └── src │ ├── main │ ├── assembly │ │ ├── assembly-bin-ci.xml │ │ ├── assembly-bin.xml │ │ └── assembly-src.xml │ └── docker │ │ └── Dockerfile │ └── test │ └── java │ └── org │ └── apache │ └── seatunnel │ └── api │ └── connector │ ├── ConnectorSpecificationCheckTest.java │ └── TransformSpecificationCheckTest.java ├── seatunnel-e2e ├── pom.xml ├── seatunnel-connector-v2-e2e │ ├── connector-activemq-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── activemq │ │ │ │ └── ActivemqIT.java │ │ │ └── resources │ │ │ ├── e2e.json │ │ │ ├── fake_source_to_sink.conf │ │ │ └── localfile_source_to_sink.conf │ ├── connector-aerospike-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── aerospike │ │ │ │ ├── AbstractAerospikeIT.java │ │ │ │ ├── Aerospike6IT.java │ │ │ │ └── AerospikeContainerInfo.java │ │ │ └── resources │ │ │ └── fake_to_aerospike_sink.conf │ ├── connector-amazondynamodb-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── amazondynamodb │ │ │ │ └── AmazondynamodbIT.java │ │ │ └── resources │ │ │ └── amazondynamodbIT_source_to_sink.conf │ ├── connector-amazonsqs-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── amazonsqs │ │ │ │ └── AmazonsqsIT.java │ │ │ └── resources │ │ │ └── amazonsqsIT_source_to_sink.conf │ ├── connector-assert-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── assertion │ │ │ │ └── FakeSourceToAssertIT.java │ │ │ └── resources │ │ │ └── assertion │ │ │ ├── fake_full_types_to_assert.conf │ │ │ ├── fake_row_to_assert.conf │ │ │ ├── fakesource_to_assert.conf │ │ │ └── fakesource_to_multi_table_assert.conf │ ├── connector-cassandra-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── cassandra │ │ │ │ └── CassandraIT.java │ │ │ └── resources │ │ │ ├── application.conf │ │ │ ├── cassandra_to_cassandra.conf │ │ │ └── init │ │ │ └── cassandra_init.conf │ ├── connector-cdc-mongodb-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── mongodb │ │ │ │ ├── MongoDBContainer.java │ │ │ │ └── MongodbCDCIT.java │ │ │ └── resources │ │ │ ├── ddl │ │ │ ├── inventory.js │ │ │ ├── inventoryClean.js │ │ │ ├── inventoryDDL.js │ │ │ └── mongodb_cdc.sql │ │ │ ├── docker │ │ │ └── mongodb │ │ │ │ ├── random.key │ │ │ │ └── setup.js │ │ │ ├── log4j2-test.properties │ │ │ ├── mongodb_multi_table_cdc_to_mysql.conf │ │ │ ├── mongodbcdc_metadata_trans.conf │ │ │ └── mongodbcdc_to_mysql.conf │ ├── connector-cdc-mysql-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── cdc │ │ │ │ └── mysql │ │ │ │ ├── MysqlCDCIT.java │ │ │ │ ├── MysqlCDCSpecificStartingOffsetIT.java │ │ │ │ ├── MysqlCDCWithBinlogDeleteIT.java │ │ │ │ └── MysqlCDCWithSchemaChangeIT.java │ │ │ └── resources │ │ │ ├── ddl │ │ │ ├── add_columns.sql │ │ │ ├── change_columns.sql │ │ │ ├── drop_columns.sql │ │ │ ├── inventory.sql │ │ │ ├── modify_columns.sql │ │ │ ├── mysql_cdc.sql │ │ │ ├── shop.sql │ │ │ ├── wildcards.sql │ │ │ └── wildcards_dml.sql │ │ │ ├── docker │ │ │ ├── server-gtids │ │ │ │ └── my.cnf │ │ │ └── setup.sql │ │ │ ├── log4j2-test.properties │ │ │ ├── mysqlcdc_earliest_offset.conf │ │ │ ├── mysqlcdc_specific_offset.conf │ │ │ ├── mysqlcdc_to_metadata_trans.conf │ │ │ ├── mysqlcdc_to_mysql.conf │ │ │ ├── mysqlcdc_to_mysql_with_binlog_delete.conf │ │ │ ├── mysqlcdc_to_mysql_with_custom_primary_key.conf │ │ │ ├── mysqlcdc_to_mysql_with_disable_exactly_once.conf │ │ │ ├── mysqlcdc_to_mysql_with_multi_table_mode_one_table.conf │ │ │ ├── mysqlcdc_to_mysql_with_multi_table_mode_two_table.conf │ │ │ ├── mysqlcdc_to_mysql_with_no_primary_key.conf │ │ │ ├── mysqlcdc_to_mysql_with_schema_change.conf │ │ │ ├── mysqlcdc_to_mysql_with_schema_change_exactly_once.conf │ │ │ └── mysqlcdc_wildcards_to_mysql.conf │ ├── connector-cdc-opengauss-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── cdc │ │ │ │ └── postgres │ │ │ │ └── OpengaussCDCIT.java │ │ │ └── resources │ │ │ ├── ddl │ │ │ └── inventory.sql │ │ │ ├── opengausscdc_to_meatadata_trans.conf │ │ │ ├── opengausscdc_to_opengauss.conf │ │ │ ├── opengausscdc_to_opengauss_test_add_Filed.conf │ │ │ ├── opengausscdc_to_opengauss_with_custom_primary_key.conf │ │ │ ├── opengausscdc_to_opengauss_with_multi_table_mode_one_table.conf │ │ │ ├── opengausscdc_to_opengauss_with_multi_table_mode_two_table.conf │ │ │ └── opengausscdc_to_opengauss_with_no_primary_key.conf │ ├── connector-cdc-oracle-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── cdc │ │ │ │ └── oracle │ │ │ │ ├── AbstractOracleCDCIT.java │ │ │ │ ├── OracleCDCIT.java │ │ │ │ ├── OracleCDCWithSchemaChangeIT.java │ │ │ │ └── OracleContainer.java │ │ │ └── resources │ │ │ ├── ddl │ │ │ ├── add_columns.sql │ │ │ ├── column_type_test.sql │ │ │ ├── drop_columns.sql │ │ │ ├── full_types.sql │ │ │ ├── modify_columns.sql │ │ │ └── rename_columns.sql │ │ │ ├── docker │ │ │ ├── server-gtids │ │ │ │ └── my.cnf │ │ │ └── setup.sql │ │ │ ├── log4j2-test.properties │ │ │ ├── oraclecdc_to_metadata_trans.conf │ │ │ ├── oraclecdc_to_mysql_with_schema_change.conf │ │ │ ├── oraclecdc_to_oracle.conf │ │ │ ├── oraclecdc_to_oracle_skip_analysis.conf │ │ │ ├── oraclecdc_to_oracle_use_select_count.conf │ │ │ ├── oraclecdc_to_oracle_with_custom_primary_key.conf │ │ │ ├── oraclecdc_to_oracle_with_multi_table_mode_one_table.conf │ │ │ ├── oraclecdc_to_oracle_with_multi_table_mode_two_table.conf │ │ │ ├── oraclecdc_to_oracle_with_no_primary_key.conf │ │ │ ├── oraclecdc_to_oracle_with_partition.conf │ │ │ ├── oraclecdc_to_oracle_with_schema_change.conf │ │ │ └── oraclecdc_to_oracle_with_schema_change_exactly_once.conf │ ├── connector-cdc-postgres-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── cdc │ │ │ │ └── postgres │ │ │ │ └── PostgresCDCIT.java │ │ │ └── resources │ │ │ ├── ddl │ │ │ └── inventory.sql │ │ │ ├── pgcdc_to_pg_with_multi_table_mode_one_table.conf │ │ │ ├── pgcdc_to_pg_with_multi_table_mode_two_table.conf │ │ │ ├── postgrescdc_to_metadata_trans.conf │ │ │ ├── postgrescdc_to_postgres.conf │ │ │ ├── postgrescdc_to_postgres_test_add_Filed.conf │ │ │ ├── postgrescdc_to_postgres_with_custom_primary_key.conf │ │ │ ├── postgrescdc_to_postgres_with_debezium_to_kafka.conf │ │ │ └── postgrescdc_to_postgres_with_no_primary_key.conf │ ├── connector-cdc-sqlserver-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── cdc │ │ │ │ └── sqlserver │ │ │ │ └── SqlServerCDCIT.java │ │ │ └── resources │ │ │ ├── container-license-acceptance.txt │ │ │ ├── ddl │ │ │ └── column_type_test.sql │ │ │ ├── sqlservercdc_to_console.conf │ │ │ ├── sqlservercdc_to_metadata_trans.conf │ │ │ ├── sqlservercdc_to_sqlserver_with_custom_primary_key.conf │ │ │ └── sqlservercdc_to_sqlserver_with_no_primary_key.conf │ ├── connector-cdc-tidb-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── tidb │ │ │ │ ├── TiDBCDCIT.java │ │ │ │ └── TiDBTestBase.java │ │ │ └── resources │ │ │ ├── config │ │ │ ├── pd.toml │ │ │ ├── tidb.toml │ │ │ └── tikv.toml │ │ │ ├── ddl │ │ │ └── tidb_cdc.sql │ │ │ └── tidb │ │ │ ├── tidbcdc_to_tidb.conf │ │ │ ├── tidbcdc_to_tidb_with_disable_exactly_once.conf │ │ │ └── tidbcdc_to_tidb_with_no_primary_key.conf │ ├── connector-clickhouse-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── clickhouse │ │ │ │ ├── ClickhouseIT.java │ │ │ │ └── ClickhouseSinkCDCChangelogIT.java │ │ │ └── resources │ │ │ ├── clickhouse_sink_cdc_changelog_case1.conf │ │ │ ├── clickhouse_sink_cdc_changelog_case2.conf │ │ │ ├── clickhouse_to_clickhouse.conf │ │ │ ├── clickhouse_to_console.conf │ │ │ ├── clickhouse_with_create_schema_when_comment.conf │ │ │ ├── clickhouse_with_create_schema_when_not_exist.conf │ │ │ ├── clickhouse_with_create_schema_when_not_exist_and_drop_data.conf │ │ │ ├── clickhouse_with_error_when_data_exists.conf │ │ │ ├── clickhouse_with_error_when_schema_not_exist.conf │ │ │ ├── clickhouse_with_recreate_schema_and_append_data.conf │ │ │ ├── clickhouse_with_recreate_schema_and_custom.conf │ │ │ ├── fake_to_clickhouse.conf │ │ │ ├── fake_to_clickhouse_with_multi_table.conf │ │ │ └── init │ │ │ └── clickhouse_init.conf │ ├── connector-databend-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── databend │ │ │ │ ├── DatabendIT.java │ │ │ │ └── DatabendTestUtils.java │ │ │ └── resources │ │ │ └── databend │ │ │ ├── databend_init.conf │ │ │ ├── databend_schema_evolution.conf │ │ │ ├── databend_sink.conf │ │ │ ├── databend_source.conf │ │ │ ├── databend_to_console.conf │ │ │ ├── databend_to_databend.conf │ │ │ └── fake_to_databend.conf │ ├── connector-datahub-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── datahub │ │ │ │ └── DatahubIT.java │ │ │ └── resources │ │ │ ├── fakesource_to_datahub.conf │ │ │ └── fakesource_to_multi_datahub.conf │ ├── connector-doris-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── doris │ │ │ │ ├── AbstractDorisIT.java │ │ │ │ ├── DorisCDCSinkIT.java │ │ │ │ ├── DorisCatalogIT.java │ │ │ │ ├── DorisErrorIT.java │ │ │ │ ├── DorisIT.java │ │ │ │ ├── DorisMultiReadIT.java │ │ │ │ ├── DorisSchemaChangeIT.java │ │ │ │ └── GenerateTestData.java │ │ │ └── resources │ │ │ ├── ddl │ │ │ ├── add_columns.sql │ │ │ ├── change_columns.sql │ │ │ ├── drop_columns.sql │ │ │ ├── modify_columns.sql │ │ │ ├── mysql_cdc.sql │ │ │ └── shop.sql │ │ │ ├── docker │ │ │ ├── server-gtids │ │ │ │ └── my.cnf │ │ │ └── setup.sql │ │ │ ├── doris_multi_source_to_assert.conf │ │ │ ├── doris_multi_source_to_sink.conf │ │ │ ├── doris_multi_source_to_sink_2pc_false.conf │ │ │ ├── doris_source_and_sink.conf │ │ │ ├── doris_source_and_sink_2pc_false.conf │ │ │ ├── doris_source_and_sink_with_custom_sql.conf │ │ │ ├── doris_source_no_schema.conf │ │ │ ├── doris_source_to_doris_sink_type_convertor.conf │ │ │ ├── fake_source_and_doris_sink_timeout_error.conf │ │ │ ├── mysqlcdc_to_doris_with_schema_change.conf │ │ │ └── write-cdc-changelog-to-doris.conf │ ├── connector-druid-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── druid │ │ │ │ └── DruidIT.java │ │ │ └── resources │ │ │ ├── docker-compose.yml │ │ │ ├── environment │ │ │ ├── fakesource_to_druid.conf │ │ │ └── fakesource_to_druid_with_multi.conf │ ├── connector-easysearch-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── easysearch │ │ │ │ └── EasysearchIT.java │ │ │ └── resources │ │ │ └── easysearch │ │ │ ├── easysearch_source_and_sink.conf │ │ │ └── easysearch_source_and_sink_with_save_mode.conf │ ├── connector-elasticsearch-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── elasticsearch │ │ │ │ ├── ElasticsearchIT.java │ │ │ │ └── ElasticsearchSchemaChangeIT.java │ │ │ └── resources │ │ │ ├── ddl │ │ │ ├── add_columns.sql │ │ │ └── shop.sql │ │ │ ├── docker │ │ │ ├── server-gtids │ │ │ │ └── my.cnf │ │ │ └── setup.sql │ │ │ └── elasticsearch │ │ │ ├── elasticsearch_multi_source_and_sink_by_filter.conf │ │ │ ├── elasticsearch_source_and_sink.conf │ │ │ ├── elasticsearch_source_and_sink_full_type.conf │ │ │ ├── elasticsearch_source_and_sink_with_nest.conf │ │ │ ├── elasticsearch_source_with_pit.conf │ │ │ ├── elasticsearch_source_with_sql.conf │ │ │ ├── elasticsearch_source_without_schema_and_sink.conf │ │ │ ├── fake-to-elasticsearch-vector.conf │ │ │ ├── fakesource_to_elasticsearch_multi_sink.conf │ │ │ ├── fakesource_to_elasticsearch_with_upper_case_index.conf │ │ │ ├── mysqlcdc_to_elasticsearch_with_schema_change.conf │ │ │ ├── st_index_full_type_data.json │ │ │ ├── st_index_full_type_mapping.json │ │ │ ├── st_index_nest_data.json │ │ │ ├── st_index_nest_mapping.json │ │ │ ├── st_index_source_without_schema_and_sink.json │ │ │ └── st_index_with_sql.json │ ├── connector-email-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── email │ │ │ │ └── EmailWithMultiIT.java │ │ │ └── resources │ │ │ ├── fake_to_email.conf │ │ │ ├── fake_to_email_test.conf │ │ │ └── fake_to_multiemailsink.conf │ ├── connector-fake-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── fake │ │ │ │ ├── FakeIT.java │ │ │ │ ├── FakeSqlConfIT.java │ │ │ │ ├── FakeWithMultiTableTT.java │ │ │ │ ├── FakeWithSchemaTT.java │ │ │ │ ├── FakeWithTableNamesTT.java │ │ │ │ └── FlinkMetricsIT.java │ │ │ └── resources │ │ │ ├── fake_generic_row_type_to_assert.conf │ │ │ ├── fake_to_assert.conf │ │ │ ├── fake_to_assert.sql │ │ │ ├── fake_to_assert_verify_flink_metrics.conf │ │ │ ├── fake_to_assert_with_catalogtable.conf │ │ │ ├── fake_to_assert_with_compatible_source_and_result_table_name.conf │ │ │ ├── fake_to_assert_with_multitable_exception.conf │ │ │ ├── fake_to_assert_with_range.conf │ │ │ ├── fake_to_assert_with_tablenames.conf │ │ │ ├── fake_to_assert_with_template.conf │ │ │ └── fake_to_console_with_multitable_mode.conf │ ├── connector-file-cos-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── file │ │ │ │ └── cos │ │ │ │ └── CosFileIT.java │ │ │ └── resources │ │ │ ├── excel │ │ │ ├── cos_excel_to_assert.conf │ │ │ └── fake_to_cos_excel.conf │ │ │ ├── json │ │ │ ├── cos_file_json_to_assert.conf │ │ │ └── fake_to_cos_file_json.conf │ │ │ ├── orc │ │ │ ├── cos_file_orc_to_assert.conf │ │ │ └── fake_to_cos_file_orc.conf │ │ │ ├── parquet │ │ │ ├── cos_file_parquet_to_assert.conf │ │ │ └── fake_to_cos_file_parquet.conf │ │ │ └── text │ │ │ ├── cos_file_text_to_assert.conf │ │ │ └── fake_to_cos_file_text.conf │ ├── connector-file-ftp-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── file │ │ │ │ └── ftp │ │ │ │ └── FtpFileIT.java │ │ │ └── resources │ │ │ ├── excel │ │ │ ├── e2e.xlsx │ │ │ ├── fake_source_to_ftp_excel.conf │ │ │ ├── fake_source_to_ftp_root_path_excel.conf │ │ │ ├── ftp_excel_projection_to_assert.conf │ │ │ ├── ftp_excel_to_assert.conf │ │ │ └── ftp_filter_excel_to_assert.conf │ │ │ ├── json │ │ │ ├── e2e.json │ │ │ ├── fake_to_ftp_file_json.conf │ │ │ ├── ftp_file_json_to_assert.conf │ │ │ └── ftp_file_json_to_assert_with_multipletable.conf │ │ │ ├── orc │ │ │ └── fake_to_ftp_file_orc.conf │ │ │ ├── parquet │ │ │ └── fake_to_ftp_file_parquet.conf │ │ │ └── text │ │ │ ├── e2e-txt.zip │ │ │ ├── e2e.txt │ │ │ ├── fake_to_ftp_file_text.conf │ │ │ ├── fake_to_ftp_file_text_for_passive.conf │ │ │ ├── fake_to_ftp_file_text_no_verify.conf │ │ │ ├── ftp_file_text_projection_to_assert.conf │ │ │ ├── ftp_file_text_skip_headers.conf │ │ │ ├── ftp_file_text_to_assert.conf │ │ │ ├── ftp_file_text_to_assert_for_passive.conf │ │ │ ├── ftp_file_zip_text_to_assert.conf │ │ │ ├── ftp_to_ftp_for_binary.conf │ │ │ ├── multiple_table_fake_to_ftp_file_text.conf │ │ │ └── multiple_table_fake_to_ftp_file_text_2.conf │ ├── connector-file-local-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── file │ │ │ │ └── local │ │ │ │ ├── LocalFileIT.java │ │ │ │ └── LocalFileWithMultipleTableIT.java │ │ │ └── resources │ │ │ ├── binary │ │ │ ├── cat.png │ │ │ ├── local_file_binary_to_assert.conf │ │ │ ├── local_file_binary_to_local_file_binary.conf │ │ │ └── local_file_binary_to_local_file_binary_with_multipletable.conf │ │ │ ├── csv │ │ │ ├── break_line.csv │ │ │ ├── breakline_csv_to_assert.conf │ │ │ ├── csv_with_header1.csv │ │ │ ├── csv_with_header2.csv │ │ │ ├── csv_with_header_to_assert.conf │ │ │ ├── fake_to_local_csv.conf │ │ │ └── local_csv_to_assert.conf │ │ │ ├── excel │ │ │ ├── e2e.xls │ │ │ ├── e2e.xlsx │ │ │ ├── fake_to_local_excel.conf │ │ │ ├── local_excel_multi_zip_to_assert.conf │ │ │ ├── local_excel_projection_to_assert.conf │ │ │ ├── local_excel_to_assert.conf │ │ │ ├── local_excel_to_assert_with_multipletable.conf │ │ │ ├── local_excel_xls_gz_to_assert.conf │ │ │ ├── local_excel_xlsx_gz_to_assert.conf │ │ │ ├── local_excel_zip_to_assert.conf │ │ │ └── local_filter_excel_to_assert.conf │ │ │ ├── json │ │ │ ├── e2e.json │ │ │ ├── e2e_gbk.json │ │ │ ├── fake_to_local_file_json.conf │ │ │ ├── fake_to_local_file_json_save_mode.conf │ │ │ ├── fake_to_local_file_json_with_encoding.conf │ │ │ ├── local_file_json_gz_to_assert.conf │ │ │ ├── local_file_json_lzo_to_console.conf │ │ │ ├── local_file_json_multi_zip_to_assert.conf │ │ │ ├── local_file_json_to_assert.conf │ │ │ ├── local_file_json_to_assert_with_multipletable.conf │ │ │ ├── local_file_json_to_console_with_encoding.conf │ │ │ ├── local_file_json_zip_to_assert.conf │ │ │ └── local_file_to_console.conf │ │ │ ├── orc │ │ │ ├── e2e.orc │ │ │ ├── fake_to_local_file_orc.conf │ │ │ ├── local_file_orc_projection_to_assert.conf │ │ │ ├── local_file_orc_to_assert.conf │ │ │ ├── local_file_orc_to_assert_with_multipletable.conf │ │ │ ├── local_file_orc_to_assert_with_time_and_cast.conf │ │ │ └── orc_for_cast.orc │ │ │ ├── parquet │ │ │ ├── e2e.parquet │ │ │ ├── fake_to_local_file_parquet.conf │ │ │ ├── local_file_parquet_projection_to_assert.conf │ │ │ ├── local_file_parquet_to_assert.conf │ │ │ ├── local_file_parquet_to_assert_with_multipletable.conf │ │ │ └── local_file_to_console.conf │ │ │ ├── text │ │ │ ├── e2e.txt │ │ │ ├── e2e_delimiter.txt │ │ │ ├── e2e_gbk.txt │ │ │ ├── e2e_null_format.txt │ │ │ ├── e2e_time_format.txt │ │ │ ├── fake_to_local_file_text.conf │ │ │ ├── fake_to_local_file_with_encoding.conf │ │ │ ├── fake_to_local_file_with_multiple_table.conf │ │ │ ├── local_file_delimiter_assert.conf │ │ │ ├── local_file_gz_text_to_assert.conf │ │ │ ├── local_file_multi_tar_gz_text_to_assert.conf │ │ │ ├── local_file_multi_tar_text_to_assert.conf │ │ │ ├── local_file_multi_zip_text_to_assert.conf │ │ │ ├── local_file_null_format_assert.conf │ │ │ ├── local_file_tar_gz_text_to_assert.conf │ │ │ ├── local_file_tar_text_to_assert.conf │ │ │ ├── local_file_text_lzo_to_assert.conf │ │ │ ├── local_file_text_projection_to_assert.conf │ │ │ ├── local_file_text_skip_headers.conf │ │ │ ├── local_file_text_to_assert.conf │ │ │ ├── local_file_text_to_assert_with_multipletable.conf │ │ │ ├── local_file_text_to_console_with_encoding.conf │ │ │ ├── local_file_time_format_assert.conf │ │ │ └── local_file_zip_text_to_assert.conf │ │ │ └── xml │ │ │ ├── e2e.xml │ │ │ ├── local_file_gz_xml_to_assert.conf │ │ │ ├── local_file_xml_to_assert.conf │ │ │ └── local_file_zip_xml_to_assert.conf │ ├── connector-file-obs-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── file │ │ │ │ └── obs │ │ │ │ └── ObsFileIT.java │ │ │ └── resources │ │ │ ├── csv │ │ │ ├── fake_to_obs_csv.conf │ │ │ ├── obs_csv_projection_to_assert.conf │ │ │ └── obs_csv_to_assert.conf │ │ │ ├── excel │ │ │ ├── fake_to_obs_excel.conf │ │ │ ├── obs_excel_projection_to_assert.conf │ │ │ └── obs_excel_to_assert.conf │ │ │ ├── json │ │ │ ├── fake_to_obs_file_json.conf │ │ │ └── obs_file_json_to_assert.conf │ │ │ ├── orc │ │ │ ├── fake_to_obs_file_orc.conf │ │ │ ├── obs_file_orc_projection_to_assert.conf │ │ │ └── obs_file_orc_to_assert.conf │ │ │ ├── parquet │ │ │ ├── fake_to_obs_file_parquet.conf │ │ │ ├── obs_file_parquet_projection_to_assert.conf │ │ │ └── obs_file_parquet_to_assert.conf │ │ │ └── text │ │ │ ├── fake_to_obs_file_text.conf │ │ │ ├── obs_file_text_projection_to_assert.conf │ │ │ ├── obs_file_text_skip_headers.conf │ │ │ └── obs_file_text_to_assert.conf │ ├── connector-file-oss-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── file │ │ │ │ └── oss │ │ │ │ ├── OssFileIT.java │ │ │ │ ├── OssFileWithMultipleTableIT.java │ │ │ │ └── OssUtils.java │ │ │ └── resources │ │ │ ├── excel │ │ │ ├── e2e.xlsx │ │ │ ├── fake_to_oss_excel.conf │ │ │ ├── oss_excel_projection_to_assert.conf │ │ │ ├── oss_excel_to_assert.conf │ │ │ ├── oss_excel_to_assert_with_multipletable.conf │ │ │ └── oss_filter_excel_to_assert.conf │ │ │ ├── json │ │ │ ├── e2e.json │ │ │ ├── e2e.json.lzo │ │ │ ├── fake_to_oss_file_json.conf │ │ │ ├── oss_file_json_lzo_to_console.conf │ │ │ ├── oss_file_json_to_assert.conf │ │ │ ├── oss_file_json_to_assert_with_multipletable.conf │ │ │ └── oss_file_to_console.conf │ │ │ ├── orc │ │ │ ├── e2e.orc │ │ │ ├── fake_to_oss_file_orc.conf │ │ │ ├── oss_file_orc_projection_to_assert.conf │ │ │ ├── oss_file_orc_to_assert.conf │ │ │ └── oss_file_orc_to_assert_with_multipletable.conf │ │ │ ├── parquet │ │ │ ├── e2e.parquet │ │ │ ├── fake_to_oss_file_parquet.conf │ │ │ ├── oss_file_parquet_projection_to_assert.conf │ │ │ ├── oss_file_parquet_to_assert.conf │ │ │ ├── oss_file_parquet_to_assert_with_multipletable.conf │ │ │ └── oss_file_to_console.conf │ │ │ └── text │ │ │ ├── e2e-text.zip │ │ │ ├── e2e.txt │ │ │ ├── e2e.txt.lzo │ │ │ ├── e2e_delimiter.txt │ │ │ ├── e2e_time_format.txt │ │ │ ├── fake_to_oss_file_text.conf │ │ │ ├── fake_to_oss_file_with_multiple_table.conf │ │ │ ├── oss_file_delimiter_assert.conf │ │ │ ├── oss_file_text_lzo_to_assert.conf │ │ │ ├── oss_file_text_projection_to_assert.conf │ │ │ ├── oss_file_text_skip_headers.conf │ │ │ ├── oss_file_text_to_assert.conf │ │ │ ├── oss_file_text_to_assert_with_multipletable.conf │ │ │ ├── oss_file_time_format_assert.conf │ │ │ └── oss_file_zip_text_to_assert.conf │ ├── connector-file-s3-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── file │ │ │ │ └── s3 │ │ │ │ ├── S3FileIT.java │ │ │ │ ├── S3FileWithMultipleTableIT.java │ │ │ │ └── S3Utils.java │ │ │ └── resources │ │ │ ├── excel │ │ │ ├── e2e.xlsx │ │ │ ├── fake_to_s3_excel.conf │ │ │ ├── s3_excel_projection_to_assert.conf │ │ │ ├── s3_excel_to_assert.conf │ │ │ ├── s3_excel_to_assert_with_multipletable.conf │ │ │ └── s3_filter_excel_to_assert.conf │ │ │ ├── json │ │ │ ├── e2e.json │ │ │ ├── e2e.json.lzo │ │ │ ├── fake_to_s3_file_json.conf │ │ │ ├── s3_file_json_lzo_to_console.conf │ │ │ ├── s3_file_json_to_assert.conf │ │ │ ├── s3_file_json_to_assert_with_multipletable.conf │ │ │ └── s3_file_to_console.conf │ │ │ ├── orc │ │ │ ├── e2e.orc │ │ │ ├── fake_to_s3_file_orc.conf │ │ │ ├── s3_file_orc_projection_to_assert.conf │ │ │ ├── s3_file_orc_to_assert.conf │ │ │ └── s3_file_orc_to_assert_with_multipletable.conf │ │ │ ├── parquet │ │ │ ├── e2e.parquet │ │ │ ├── fake_to_s3_file_parquet.conf │ │ │ ├── s3_file_parquet_projection_to_assert.conf │ │ │ ├── s3_file_parquet_to_assert.conf │ │ │ ├── s3_file_parquet_to_assert_with_multipletable.conf │ │ │ └── s3_file_to_console.conf │ │ │ └── text │ │ │ ├── e2e-text.zip │ │ │ ├── e2e.txt │ │ │ ├── e2e.txt.lzo │ │ │ ├── e2e_delimiter.txt │ │ │ ├── e2e_time_format.txt │ │ │ ├── fake_to_s3_file_text.conf │ │ │ ├── fake_to_s3_file_with_multiple_table.conf │ │ │ ├── s3_file_delimiter_assert.conf │ │ │ ├── s3_file_text_lzo_to_assert.conf │ │ │ ├── s3_file_text_projection_to_assert.conf │ │ │ ├── s3_file_text_skip_headers.conf │ │ │ ├── s3_file_text_to_assert.conf │ │ │ ├── s3_file_text_to_assert_with_multipletable.conf │ │ │ ├── s3_file_time_format_assert.conf │ │ │ └── s3_file_zip_text_to_assert.conf │ ├── connector-file-sftp-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── file │ │ │ │ └── fstp │ │ │ │ └── SftpFileIT.java │ │ │ └── resources │ │ │ ├── excel │ │ │ ├── e2e.xlsx │ │ │ ├── fakesource_to_sftp_excel.conf │ │ │ ├── sftp_excel_projection_to_assert.conf │ │ │ ├── sftp_excel_to_assert.conf │ │ │ └── sftp_filter_excel_to_assert.conf │ │ │ ├── json │ │ │ ├── e2e.json │ │ │ ├── fake_to_sftp_file_json.conf │ │ │ ├── sftp_file_json_to_assert.conf │ │ │ └── sftp_file_json_to_assert_with_multipletable.conf │ │ │ ├── text │ │ │ ├── e2e-text.zip │ │ │ ├── e2e.txt │ │ │ ├── fake_to_sftp_file_text.conf │ │ │ ├── multiple_fake_to_sftp_file_text_append.conf │ │ │ ├── multiple_fake_to_sftp_file_text_recreate_schema.conf │ │ │ ├── sftp_file_text_projection_to_assert.conf │ │ │ ├── sftp_file_text_skip_headers.conf │ │ │ ├── sftp_file_text_to_assert.conf │ │ │ ├── sftp_file_text_wildcard_character_to_assert.conf │ │ │ └── sftp_file_zip_text_to_assert.conf │ │ │ └── xml │ │ │ ├── e2e.xml │ │ │ ├── fake_to_sftp_file_xml.conf │ │ │ └── sftp_file_xml_to_assert.conf │ ├── connector-google-firestore-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org.apache.seatunnel.e2e.connector.google.firestore │ │ │ │ └── GoogleFirestoreIT.java │ │ │ └── resources │ │ │ └── firestore │ │ │ └── fake_to_google_firestore.conf │ ├── connector-graphql-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── graphql │ │ │ │ └── GraphQLIT.java │ │ │ └── resources │ │ │ ├── ddl │ │ │ └── pg.sql │ │ │ ├── fake_to_graphql.conf │ │ │ └── graphql_to_assert.conf │ ├── connector-hbase-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── hbase │ │ │ │ ├── HbaseCluster.java │ │ │ │ └── HbaseIT.java │ │ │ └── resources │ │ │ ├── fake-to-assign-cf-hbase.conf │ │ │ ├── fake-to-hbase-array.conf │ │ │ ├── fake-to-hbase-with-multipletable.conf │ │ │ ├── fake-to-hbase.conf │ │ │ ├── fake_to_hbase_with_append_data.conf │ │ │ ├── fake_to_hbase_with_create_when_not_exists.conf │ │ │ ├── fake_to_hbase_with_drop_data.conf │ │ │ ├── fake_to_hbase_with_error_when_data_exists.conf │ │ │ ├── fake_to_hbase_with_error_when_not_exists.conf │ │ │ ├── fake_to_hbase_with_recreate_schema.conf │ │ │ ├── hbase-source-to-assert-with-batch-query.conf │ │ │ ├── hbase-to-assert-with-multipletable.conf │ │ │ └── hbase-to-assert.conf │ ├── connector-hive-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── hive │ │ │ │ ├── HiveContainer.java │ │ │ │ ├── HiveIT.java │ │ │ │ ├── HiveKerberosIT.java │ │ │ │ └── HiveOverwriteIT.java │ │ │ └── resources │ │ │ ├── fake_to_hive.conf │ │ │ ├── fake_to_hive_on_cos.conf │ │ │ ├── fake_to_hive_on_oss.conf │ │ │ ├── fake_to_hive_on_s3.conf │ │ │ ├── fake_to_hive_with_kerberos.conf │ │ │ ├── hive_on_cos_to_assert.conf │ │ │ ├── hive_on_oss_to_assert.conf │ │ │ ├── hive_on_s3_to_assert.conf │ │ │ ├── hive_to_assert.conf │ │ │ ├── hive_to_assert_with_kerberos.conf │ │ │ ├── kerberos │ │ │ ├── core-site.xml │ │ │ ├── hive-site.xml │ │ │ ├── krb5.conf │ │ │ └── krb5_local.conf │ │ │ └── overwrite │ │ │ ├── fake_to_hive_overwrite_1.conf │ │ │ ├── fake_to_hive_overwrite_2.conf │ │ │ ├── fake_to_hive_overwrite_3.conf │ │ │ ├── hive_to_assert_overwrite_1.conf │ │ │ ├── hive_to_assert_overwrite_2.conf │ │ │ └── hive_to_assert_overwrite_3.conf │ ├── connector-http-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── http │ │ │ │ └── HttpIT.java │ │ │ └── resources │ │ │ ├── fake_to_multitable.conf │ │ │ ├── github_json_to_assert.conf │ │ │ ├── gitlab_json_to_assert.conf │ │ │ ├── http_contentjson_to_assert.conf │ │ │ ├── http_formrequestbody_to_assert.conf │ │ │ ├── http_formrequestbody_to_assert2.conf │ │ │ ├── http_json_to_assert.conf │ │ │ ├── http_jsonpath_to_assert.conf │ │ │ ├── http_jsonrequestbody_to_assert.conf │ │ │ ├── http_jsonrequestbody_to_feishu.conf │ │ │ ├── http_multilinejson_to_assert.conf │ │ │ ├── http_page_cursor_num_assert.conf │ │ │ ├── http_page_increase_no_page_num.conf │ │ │ ├── http_page_increase_page_num.conf │ │ │ ├── http_page_increase_start_num.conf │ │ │ ├── http_post_param_json_to_assert.conf │ │ │ ├── http_streaming_json_to_postgresql.conf │ │ │ ├── httpnoschema_to_http.conf │ │ │ ├── jira_json_to_assert.conf │ │ │ ├── klaviyo_json_to_assert.conf │ │ │ ├── lemlist_json_to_assert.conf │ │ │ ├── mockserver-config.json │ │ │ ├── notion_json_to_assert.conf │ │ │ ├── onesignal_json_to_assert.conf │ │ │ └── persistiq_json_to_assert.conf │ ├── connector-hudi-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── hudi │ │ │ │ ├── HudiIT.java │ │ │ │ ├── HudiMultiTableIT.java │ │ │ │ ├── HudiSeatunnelS3MultiTableIT.java │ │ │ │ ├── HudiSinkCDCIT.java │ │ │ │ ├── HudiSparkS3MultiTableIT.java │ │ │ │ └── MinIoUtils.java │ │ │ └── resources │ │ │ ├── ddl │ │ │ └── mysql_cdc.sql │ │ │ ├── hudi │ │ │ ├── core-site.xml │ │ │ ├── fake_to_hudi.conf │ │ │ ├── fake_to_hudi_with_omit_config_item.conf │ │ │ ├── multi_fake_to_hudi.conf │ │ │ ├── mysql_cdc_to_hudi.conf │ │ │ └── s3_fake_to_hudi.conf │ │ │ └── mysql │ │ │ ├── server-gtids │ │ │ └── my.cnf │ │ │ └── setup.sql │ ├── connector-iceberg-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── iceberg │ │ │ │ ├── IcebergSinkCDCIT.java │ │ │ │ ├── IcebergSinkIT.java │ │ │ │ ├── IcebergSinkWithBranchIT.java │ │ │ │ └── IcebergSourceIT.java │ │ │ └── resources │ │ │ ├── ddl │ │ │ ├── inventory.sql │ │ │ └── mysql_cdc.sql │ │ │ ├── iceberg │ │ │ ├── fake_to_iceberg.conf │ │ │ ├── fake_to_iceberg_with_branch.conf │ │ │ ├── filter_iceberg_source.conf │ │ │ ├── filter_iceberg_source_tables.conf │ │ │ ├── iceberg_source.conf │ │ │ ├── mysql_cdc_to_iceberg.conf │ │ │ └── mysql_cdc_to_iceberg_for_schema_change.conf │ │ │ └── mysql │ │ │ ├── server-gtids │ │ │ └── my.cnf │ │ │ └── setup.sql │ ├── connector-iceberg-hadoop3-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── iceberg │ │ │ │ └── hadoop3 │ │ │ │ └── IcebergSourceIT.java │ │ │ └── resources │ │ │ └── iceberg │ │ │ └── iceberg_source.conf │ ├── connector-iceberg-s3-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── iceberg │ │ │ │ └── s3 │ │ │ │ └── IcebergSourceIT.java │ │ │ └── resources │ │ │ └── iceberg │ │ │ └── iceberg_source.conf │ ├── connector-influxdb-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── influxdb │ │ │ │ └── InfluxdbIT.java │ │ │ └── resources │ │ │ ├── fake_to_infuxdb_with_multipletable.conf │ │ │ ├── influxdb-to-influxdb-with-tz.conf │ │ │ └── influxdb-to-influxdb.conf │ ├── connector-iotdb-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── iotdb │ │ │ │ └── IoTDBIT.java │ │ │ └── resources │ │ │ └── iotdb │ │ │ └── iotdb_source_to_sink.conf │ ├── connector-jdbc-e2e │ │ ├── connector-jdbc-e2e-common │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── jdbc │ │ │ │ ├── AbstractJdbcIT.java │ │ │ │ ├── InsecureURLClassLoader.java │ │ │ │ ├── JdbcCase.java │ │ │ │ └── JdbcITErrorCode.java │ │ ├── connector-jdbc-e2e-ddl │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── test │ │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── jdbc │ │ │ │ │ ├── AbstractSchemaChangeBaseIT.java │ │ │ │ │ ├── DmSchemaChangeIT.java │ │ │ │ │ ├── PostgresSchemaChangeIT.java │ │ │ │ │ ├── SchemaChangeCase.java │ │ │ │ │ └── SqlServerSchemaChangeIT.java │ │ │ │ └── resources │ │ │ │ ├── ddl │ │ │ │ ├── add_columns.sql │ │ │ │ ├── change_columns.sql │ │ │ │ ├── drop_columns.sql │ │ │ │ ├── inventory.sql │ │ │ │ ├── modify_columns.sql │ │ │ │ └── shop.sql │ │ │ │ ├── docker │ │ │ │ ├── server-gtids │ │ │ │ │ └── my.cnf │ │ │ │ └── setup.sql │ │ │ │ ├── mysqlcdc_to_dm_with_schema_change.conf │ │ │ │ ├── mysqlcdc_to_dm_with_schema_change_exactly_once.conf │ │ │ │ ├── mysqlcdc_to_postgres_with_schema_change.conf │ │ │ │ ├── mysqlcdc_to_postgres_with_schema_change_exactly_once.conf │ │ │ │ ├── mysqlcdc_to_sqlserver_with_schema_change.conf │ │ │ │ └── mysqlcdc_to_sqlserver_with_schema_change_exactly_once.conf │ │ ├── connector-jdbc-e2e-part-1 │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── test │ │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── jdbc │ │ │ │ │ ├── JdbcAutoGenerateSQLIT.java │ │ │ │ │ ├── JdbcDb2IT.java │ │ │ │ │ ├── JdbcDb2UpsertIT.java │ │ │ │ │ ├── JdbcMariaDBIT.java │ │ │ │ │ ├── JdbcMysqlIT.java │ │ │ │ │ ├── JdbcMysqlMultipleTablesIT.java │ │ │ │ │ ├── JdbcOracleIT.java │ │ │ │ │ ├── JdbcOracleMultipleTablesIT.java │ │ │ │ │ ├── JdbcPostgresIdentifierIT.java │ │ │ │ │ ├── JdbcSinkNameParameterSQLIT.java │ │ │ │ │ └── internal │ │ │ │ │ └── xa │ │ │ │ │ └── XaGroupOpsImplIT.java │ │ │ │ └── resources │ │ │ │ ├── jdbc_db2_source_and_sink.conf │ │ │ │ ├── jdbc_db2_source_and_sink_upsert.conf │ │ │ │ ├── jdbc_mariadb_source_and_sink.conf │ │ │ │ ├── jdbc_mariadb_source_using_table_path.conf │ │ │ │ ├── jdbc_mysql_source_and_sink.conf │ │ │ │ ├── jdbc_mysql_source_and_sink.sql │ │ │ │ ├── jdbc_mysql_source_and_sink_parallel.conf │ │ │ │ ├── jdbc_mysql_source_and_sink_parallel.sql │ │ │ │ ├── jdbc_mysql_source_and_sink_parallel_upper_lower.conf │ │ │ │ ├── jdbc_mysql_source_and_sink_with_multiple_tables.conf │ │ │ │ ├── jdbc_mysql_source_and_sink_with_multiple_tables.sql │ │ │ │ ├── jdbc_mysql_source_and_sink_with_pattern_tables.conf │ │ │ │ ├── jdbc_mysql_source_and_sink_xa.conf │ │ │ │ ├── jdbc_mysql_source_using_table_path.conf │ │ │ │ ├── jdbc_oracle_source_to_sink.conf │ │ │ │ ├── jdbc_oracle_source_to_sink_use_select1.conf │ │ │ │ ├── jdbc_oracle_source_to_sink_use_select2.conf │ │ │ │ ├── jdbc_oracle_source_to_sink_use_select3.conf │ │ │ │ ├── jdbc_oracle_source_to_sink_with_blob_as_string.conf │ │ │ │ ├── jdbc_oracle_source_to_sink_without_decimal_type_narrowing.conf │ │ │ │ ├── jdbc_oracle_source_with_multiple_tables_to_sink.conf │ │ │ │ ├── jdbc_oracle_source_with_pattern_tables_to_sink.conf │ │ │ │ ├── jdbc_postgres_ide_source_and_sink.conf │ │ │ │ ├── jdbc_sink_auto_generate_sql.conf │ │ │ │ ├── jdbc_sink_auto_generate_upsql_sql.conf │ │ │ │ ├── jdbc_sink_name_parameter_sql.conf │ │ │ │ └── sql │ │ │ │ └── oracle_init.sql │ │ ├── connector-jdbc-e2e-part-2 │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── test │ │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── jdbc │ │ │ │ │ ├── JdbcOceanBaseITBase.java │ │ │ │ │ ├── JdbcOceanBaseMilvusIT.java │ │ │ │ │ ├── JdbcOceanBaseMysqlIT.java │ │ │ │ │ ├── JdbcOceanBaseOracleIT.java │ │ │ │ │ ├── JdbcPhoenixIT.java │ │ │ │ │ ├── JdbcSelectDBCloudIT.java │ │ │ │ │ ├── JdbcStarRocksdbIT.java │ │ │ │ │ └── JdbcTeradataIT.java │ │ │ │ └── resources │ │ │ │ ├── jdbc_fake_to_oceanbase_sink.conf │ │ │ │ ├── jdbc_milvus_source_and_oceanbase_sink.conf │ │ │ │ ├── jdbc_oceanbase_mysql_source_and_sink.conf │ │ │ │ ├── jdbc_oceanbase_oracle_source_and_sink.conf │ │ │ │ ├── jdbc_oceanbase_source_and_milvus_sink.conf │ │ │ │ ├── jdbc_phoenix_source_and_sink.conf │ │ │ │ ├── jdbc_starrocks_dialect.conf │ │ │ │ ├── jdbc_starrocks_source_to_sink.conf │ │ │ │ ├── jdbc_teradata_source_and_sink.conf │ │ │ │ ├── junit-platform.properties │ │ │ │ └── selectdb-jdbc-to-selectdb.conf │ │ ├── connector-jdbc-e2e-part-3 │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── test │ │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── jdbc │ │ │ │ │ ├── JdbcHiveIT.java │ │ │ │ │ ├── JdbcKingbaseIT.java │ │ │ │ │ ├── JdbcPostgresIT.java │ │ │ │ │ ├── JdbcSinkCDCChangelogIT.java │ │ │ │ │ ├── JdbcSnowflakeIT.java │ │ │ │ │ ├── JdbcSqlServerIT.java │ │ │ │ │ └── JdbcVerticaIT.java │ │ │ │ └── resources │ │ │ │ ├── jdbc_hive_source_and_assert.conf │ │ │ │ ├── jdbc_kingbase_source_and_sink.conf │ │ │ │ ├── jdbc_postgres_source_and_sink.conf │ │ │ │ ├── jdbc_postgres_source_and_sink_copy_stmt.conf │ │ │ │ ├── jdbc_postgres_source_and_sink_parallel.conf │ │ │ │ ├── jdbc_postgres_source_and_sink_parallel_upper_lower.conf │ │ │ │ ├── jdbc_postgres_source_and_sink_xa.conf │ │ │ │ ├── jdbc_sink_cdc_changelog.conf │ │ │ │ ├── jdbc_snowflake_source_and_sink.conf │ │ │ │ ├── jdbc_sqlserver_source_to_sink.conf │ │ │ │ └── jdbc_vertica_source_and_sink.conf │ │ ├── connector-jdbc-e2e-part-4 │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── connectors │ │ │ │ └── seatunnel │ │ │ │ └── jdbc │ │ │ │ ├── JdbcMySqlCreateTableIT.java │ │ │ │ └── JdbcSqlServerCreateTableIT.java │ │ ├── connector-jdbc-e2e-part-5 │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── test │ │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── jdbc │ │ │ │ │ ├── JdbcCloudberryIT.java │ │ │ │ │ ├── JdbcDmIT.java │ │ │ │ │ ├── JdbcDmSaveModeIT.java │ │ │ │ │ ├── JdbcDmUpsetIT.java │ │ │ │ │ ├── JdbcDorisIT.java │ │ │ │ │ ├── JdbcDorisdbIT.java │ │ │ │ │ ├── JdbcGBase8aIT.java │ │ │ │ │ └── JdbcGreenplumIT.java │ │ │ │ └── resources │ │ │ │ ├── doris-jdbc-to-doris.conf │ │ │ │ ├── jdbc_cloudberry_source_and_sink.conf │ │ │ │ ├── jdbc_dm_source_and_dm_upset_sink.conf │ │ │ │ ├── jdbc_dm_source_and_sink.conf │ │ │ │ ├── jdbc_dm_source_and_sink_savemode.conf │ │ │ │ ├── jdbc_doris_source_and_sink.conf │ │ │ │ ├── jdbc_gbase8a_source_to_assert.conf │ │ │ │ └── jdbc_greenplum_source_and_sink.conf │ │ ├── connector-jdbc-e2e-part-6 │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── test │ │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── jdbc │ │ │ │ │ ├── JdbcHanaIT.java │ │ │ │ │ └── JdbcOracleLowercaseTableIT.java │ │ │ │ └── resources │ │ │ │ ├── jdbc_sap_hana_source_and_sink.conf │ │ │ │ ├── jdbc_sap_hana_test_view_and_synonym.conf │ │ │ │ └── sql │ │ │ │ └── oracle_init.sql │ │ ├── connector-jdbc-e2e-part-7 │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ └── test │ │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── connectors │ │ │ │ │ └── seatunnel │ │ │ │ │ └── jdbc │ │ │ │ │ ├── JdbcErrorIT.java │ │ │ │ │ ├── JdbcHighGoIT.java │ │ │ │ │ ├── JdbcIrisIT.java │ │ │ │ │ ├── JdbcMySqlSaveModeCatalogIT.java │ │ │ │ │ ├── JdbcMysqlSaveModeHandlerIT.java │ │ │ │ │ ├── JdbcMysqlSplitIT.java │ │ │ │ │ ├── JdbcOpenGaussIT.java │ │ │ │ │ ├── JdbcPrestoIT.java │ │ │ │ │ ├── JdbcTrinoIT.java │ │ │ │ │ └── JdbcXuguIT.java │ │ │ │ └── resources │ │ │ │ ├── jdbc_highgo_source_and_sink_with_full_type.conf │ │ │ │ ├── jdbc_iris_source_to_sink_with_full_type.conf │ │ │ │ ├── jdbc_iris_upsert.conf │ │ │ │ ├── jdbc_mysql_source_and_sink.conf │ │ │ │ ├── jdbc_opengauss_source_and_sink.conf │ │ │ │ ├── jdbc_presto_source_and_assert.conf │ │ │ │ ├── jdbc_trino_source_and_assert.conf │ │ │ │ ├── jdbc_xugu_source_and_sink.conf │ │ │ │ ├── jdbc_xugu_source_and_upsert_sink.conf │ │ │ │ └── password │ │ │ │ └── password.txt │ │ └── pom.xml │ ├── connector-kafka-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── kafka │ │ │ │ ├── KafkaFormatIT.java │ │ │ │ ├── KafkaIT.java │ │ │ │ └── KafkaKerberosIT.java │ │ │ └── resources │ │ │ ├── avro │ │ │ ├── fake_source_to_kafka_avro_format.conf │ │ │ └── kafka_avro_to_assert.conf │ │ │ ├── canal │ │ │ └── canal_data.txt │ │ │ ├── canalFormatIT │ │ │ ├── kafka_source_canal_cdc_to_pgsql.conf │ │ │ └── kafka_source_canal_to_kafka.conf │ │ │ ├── compatible │ │ │ └── compatible_data.txt │ │ │ ├── compatibleFormatIT │ │ │ └── kafkasource_jdbc_record_to_pgsql.conf │ │ │ ├── debezium │ │ │ └── debezium_data.txt │ │ │ ├── debeziumFormatIT │ │ │ ├── kafkasource_debezium_cdc_to_pgsql.conf │ │ │ └── kafkasource_debezium_to_kafka.conf │ │ │ ├── docker │ │ │ ├── server-gtids │ │ │ │ └── my.cnf │ │ │ └── setup.sql │ │ │ ├── extractTopic_fake_to_kafka.conf │ │ │ ├── jsonFormatIT │ │ │ └── kafka_source_json_to_console.conf │ │ │ ├── kafka │ │ │ ├── kafka_source_to_assert_with_max_poll_records_1.conf │ │ │ ├── kafka_to_kafka_exactly_once_batch.conf │ │ │ ├── kafka_to_kafka_exactly_once_streaming.conf │ │ │ ├── kafkasource_earliest_to_console.conf │ │ │ ├── kafkasource_endTimestamp_to_console.conf │ │ │ ├── kafkasource_format_error_handle_way_fail_to_console.conf │ │ │ ├── kafkasource_format_error_handle_way_skip_to_console.conf │ │ │ ├── kafkasource_group_offset_to_console.conf │ │ │ ├── kafkasource_group_offset_to_console_with_commit_offset.conf │ │ │ ├── kafkasource_latest_to_console.conf │ │ │ ├── kafkasource_specific_offsets_to_console.conf │ │ │ ├── kafkasource_timestamp_to_console.conf │ │ │ └── kafkasource_timestamp_to_console_skip_partition.conf │ │ │ ├── kafka_default_sink_fake_to_kafka.conf │ │ │ ├── kafka_native_to_kafka.conf │ │ │ ├── kafka_sink_fake_to_kafka.conf │ │ │ ├── kerberos │ │ │ ├── kafka.properties │ │ │ ├── kafka_server_jaas.conf │ │ │ ├── kafka_sink_fake_to_kafka_kerberos.conf │ │ │ ├── kafka_sink_with_not_kerberos.conf │ │ │ ├── kafka_source_to_assert_with_kerberos.conf │ │ │ ├── krb5.conf │ │ │ ├── krb5_local.conf │ │ │ └── start.sh │ │ │ ├── maxwell │ │ │ └── maxwell_data.txt │ │ │ ├── maxwellFormatIT │ │ │ ├── kafkasource_maxwell_cdc_to_pgsql.conf │ │ │ └── kafkasource_maxwell_to_kafka.conf │ │ │ ├── multiFormatIT │ │ │ └── kafka_multi_source_to_pg.conf │ │ │ ├── ogg │ │ │ └── ogg_data.txt │ │ │ ├── oggFormatIT │ │ │ ├── kafka_source_ogg_to_kafka.conf │ │ │ └── kafka_source_ogg_to_pgsql.conf │ │ │ ├── protobuf │ │ │ ├── fake_to_kafka_protobuf.conf │ │ │ ├── kafka_protobuf_to_assert.conf │ │ │ └── kafka_protobuf_transform_to_assert.conf │ │ │ └── textFormatIT │ │ │ ├── fake_source_to_text_sink_kafka.conf │ │ │ ├── kafka_source_text_to_console.conf │ │ │ ├── kafka_source_text_to_console_assert_catalog_table.conf │ │ │ ├── kafka_source_text_with_no_schema.conf │ │ │ └── kafka_source_topic_multiple_point_text_to_console.conf │ ├── connector-kudu-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── kudu │ │ │ │ └── KuduIT.java │ │ │ └── resources │ │ │ ├── fake_to_kudu_with_multipletable.conf │ │ │ ├── kudu_to_assert.conf │ │ │ ├── kudu_to_assert_equal.conf │ │ │ ├── kudu_to_assert_range.conf │ │ │ ├── kudu_to_assert_with_multipletable.conf │ │ │ ├── kudu_to_console.conf │ │ │ └── write-cdc-changelog-to-kudu.conf │ ├── connector-maxcompute-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── maxcompute │ │ │ │ └── MaxComputeIT.java │ │ │ └── resources │ │ │ ├── fake_maxcompute_delete.conf │ │ │ ├── fake_maxcompute_upsert.conf │ │ │ ├── maxcompute_to_maxcompute.conf │ │ │ └── maxcompute_to_maxcompute_multi_table.conf │ ├── connector-milvus-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── v2 │ │ │ │ └── milvus │ │ │ │ └── MilvusIT.java │ │ │ └── resources │ │ │ ├── fake-to-milvus.conf │ │ │ ├── milvus-to-milvus-with-partitionkey.conf │ │ │ ├── milvus-to-milvus.conf │ │ │ └── multi-fake-to-milvus.conf │ ├── connector-mongodb-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── v2 │ │ │ │ └── mongodb │ │ │ │ ├── AbstractMongodbIT.java │ │ │ │ ├── MongodbCDCIT.java │ │ │ │ └── MongodbIT.java │ │ │ └── resources │ │ │ ├── cdcIT │ │ │ ├── fake_cdc_sink_mongodb.conf │ │ │ └── fake_cdc_upsert_sink_mongodb.conf │ │ │ ├── compatibleParametersIT │ │ │ ├── fake_source_to_update_mongodb.conf │ │ │ └── mongodb_matchQuery_source_to_assert.conf │ │ │ ├── fake_source_to_mongodb.conf │ │ │ ├── flatIT │ │ │ ├── fake_source_to_flat_mongodb.conf │ │ │ └── mongodb_flat_source_to_assert.conf │ │ │ ├── matchIT │ │ │ ├── mongodb_matchProjection_source_to_assert.conf │ │ │ └── mongodb_matchQuery_source_to_assert.conf │ │ │ ├── mongodb_double_value.conf │ │ │ ├── mongodb_null_value.conf │ │ │ ├── mongodb_source_to_assert.conf │ │ │ ├── splitIT │ │ │ ├── mongodb_split_key_source_to_assert.conf │ │ │ └── mongodb_split_size_source_to_assert.conf │ │ │ ├── transactionIT │ │ │ ├── fake_source_to_transaction_sink_mongodb.conf │ │ │ ├── fake_source_to_transaction_upsert_mongodb.conf │ │ │ ├── mongodb_source_transaction_sink_to_assert.conf │ │ │ └── mongodb_source_transaction_upsert_to_assert.conf │ │ │ └── updateIT │ │ │ ├── fake_source_to_updateMode_insert_mongodb.conf │ │ │ ├── fake_source_to_update_mongodb.conf │ │ │ └── update_mongodb_to_assert.conf │ ├── connector-neo4j-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── neo4j │ │ │ │ └── Neo4jIT.java │ │ │ └── resources │ │ │ └── neo4j │ │ │ ├── fake_to_neo4j_batch_write.conf │ │ │ └── neo4j_to_neo4j.conf │ ├── connector-paimon-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── paimon │ │ │ │ ├── AbstractPaimonIT.java │ │ │ │ ├── PaimonIT.java │ │ │ │ ├── PaimonRecord.java │ │ │ │ ├── PaimonRecordWithFullType.java │ │ │ │ ├── PaimonSinkCDCIT.java │ │ │ │ ├── PaimonSinkDynamicBucketIT.java │ │ │ │ ├── PaimonSinkHdfsIT.java │ │ │ │ ├── PaimonSinkWithSchemaEvolutionIT.java │ │ │ │ ├── PaimonStreamReadIT.java │ │ │ │ ├── PaimonWithS3IT.java │ │ │ │ └── SimpleBucketIndex.java │ │ │ └── resources │ │ │ ├── changelog_fake_cdc_sink_paimon_case1_ddl.conf │ │ │ ├── changelog_fake_cdc_sink_paimon_case1_insert_data.conf │ │ │ ├── changelog_fake_cdc_sink_paimon_case1_update_data.conf │ │ │ ├── changelog_fake_cdc_sink_paimon_case2.conf │ │ │ ├── changelog_paimon_to_paimon.conf │ │ │ ├── ddl │ │ │ ├── add_columns.sql │ │ │ ├── change_columns.sql │ │ │ ├── drop_columns.sql │ │ │ ├── inventory.sql │ │ │ ├── modify_columns.sql │ │ │ ├── mysql_cdc.sql │ │ │ └── shop.sql │ │ │ ├── docker │ │ │ ├── server-gtids │ │ │ │ └── my.cnf │ │ │ └── setup.sql │ │ │ ├── fake_2_paimon_with_s3_to_assert.conf │ │ │ ├── fake_cdc_sink_paimon_case1.conf │ │ │ ├── fake_cdc_sink_paimon_case10.conf │ │ │ ├── fake_cdc_sink_paimon_case1_with_error_schema.conf │ │ │ ├── fake_cdc_sink_paimon_case2.conf │ │ │ ├── fake_cdc_sink_paimon_case3.conf │ │ │ ├── fake_cdc_sink_paimon_case4.conf │ │ │ ├── fake_cdc_sink_paimon_case5.conf │ │ │ ├── fake_cdc_sink_paimon_case6.conf │ │ │ ├── fake_cdc_sink_paimon_case7.conf │ │ │ ├── fake_cdc_sink_paimon_case8.conf │ │ │ ├── fake_cdc_sink_paimon_case9.conf │ │ │ ├── fake_cdc_sink_paimon_with_hdfs_ha.conf │ │ │ ├── fake_cdc_sink_paimon_with_hdfs_with_hive_catalog.conf │ │ │ ├── fake_cdc_to_dynamic_bucket_paimon_case.conf │ │ │ ├── fake_sink_paimon_truncate_with_hdfs_case1.conf │ │ │ ├── fake_sink_paimon_truncate_with_hdfs_case2.conf │ │ │ ├── fake_sink_paimon_truncate_with_hive_case1.conf │ │ │ ├── fake_sink_paimon_truncate_with_hive_case2.conf │ │ │ ├── fake_sink_paimon_truncate_with_local_case1.conf │ │ │ ├── fake_sink_paimon_truncate_with_local_case2.conf │ │ │ ├── fake_to_dynamic_bucket_paimon_case1.conf │ │ │ ├── fake_to_dynamic_bucket_paimon_case2.conf │ │ │ ├── fake_to_dynamic_bucket_paimon_case3.conf │ │ │ ├── fake_to_dynamic_bucket_paimon_case4.conf │ │ │ ├── fake_to_dynamic_bucket_paimon_case5.conf │ │ │ ├── fake_to_dynamic_bucket_paimon_case6.conf │ │ │ ├── fake_to_dynamic_bucket_paimon_case7.conf │ │ │ ├── fake_to_paimon.conf │ │ │ ├── fake_to_paimon_with_full_type.conf │ │ │ ├── fake_to_paimon_with_full_type_cdc_data.conf │ │ │ ├── fake_to_paimon_with_s3.conf │ │ │ ├── fake_to_paimon_with_s3_with_checkpoint.conf │ │ │ ├── mysql_cdc_to_paimon_with_schema_change.conf │ │ │ ├── paimon_projection_to_assert.conf │ │ │ ├── paimon_to_assert.conf │ │ │ ├── paimon_to_assert_with_filter1.conf │ │ │ ├── paimon_to_assert_with_filter2.conf │ │ │ ├── paimon_to_assert_with_filter3.conf │ │ │ ├── paimon_to_assert_with_filter4.conf │ │ │ ├── paimon_to_assert_with_filter5.conf │ │ │ ├── paimon_to_assert_with_filter6.conf │ │ │ ├── paimon_to_assert_with_filter7.conf │ │ │ ├── paimon_to_assert_with_filter8.conf │ │ │ ├── paimon_to_assert_with_hivecatalog.conf │ │ │ ├── paimon_to_assert_with_timestampN.conf │ │ │ ├── paimon_to_paimon.conf │ │ │ ├── paimon_with_s3_to_assert.conf │ │ │ ├── read_from_paimon_with_hdfs_ha_to_assert.conf │ │ │ └── schema-0.json │ ├── connector-prometheus-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── prometheus │ │ │ │ ├── PrometheusIT.java │ │ │ │ └── VictoriaMetricsIT.java │ │ │ └── resources │ │ │ ├── VictoriaMetrics_instant_json_to_assert.conf │ │ │ ├── prometheus_instant_json_to_assert.conf │ │ │ ├── prometheus_range_json_to_assert.conf │ │ │ ├── prometheus_remote_write.conf │ │ │ └── victoriaMetrics_remote_write.conf │ ├── connector-pulsar-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── pulsar │ │ │ │ ├── CanalToPulsarIT.java │ │ │ │ ├── PulsarBatchIT.java │ │ │ │ └── PulsarSinkIT.java │ │ │ └── resources │ │ │ ├── batch_pulsar_to_console.conf │ │ │ ├── cdc_canal_pulsar_to_pg.conf │ │ │ ├── ddl │ │ │ └── canal.sql │ │ │ ├── fake_source.conf │ │ │ ├── fake_to_pulsar.conf │ │ │ ├── mysql │ │ │ ├── server-gtids │ │ │ │ └── my.cnf │ │ │ └── setup.sql │ │ │ └── pulsar │ │ │ ├── canal-mysql-source-config.yaml │ │ │ └── start_canal_connector.sh │ ├── connector-qdrant-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── v2 │ │ │ │ └── qdrant │ │ │ │ └── QdrantIT.java │ │ │ └── resources │ │ │ └── qdrant-to-qdrant.conf │ ├── connector-rabbitmq-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── rabbitmq │ │ │ │ └── RabbitmqIT.java │ │ │ └── resources │ │ │ └── rabbitmq-to-rabbitmq.conf │ ├── connector-redis-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── redis │ │ │ │ ├── Redis5IT.java │ │ │ │ ├── Redis7IT.java │ │ │ │ ├── RedisContainerInfo.java │ │ │ │ ├── RedisMasterAndSlaveIT.java │ │ │ │ └── RedisTestCaseTemplateIT.java │ │ │ └── resources │ │ │ ├── fake-to-multipletableredissink.conf │ │ │ ├── fake-to-redis-test-custom-key-is-null.conf │ │ │ ├── fake-to-redis-test-custom-value-when-hash-key-is-null.conf │ │ │ ├── fake-to-redis-test-custom-value-when-hash-value-is-null.conf │ │ │ ├── fake-to-redis-test-custom-value-when-other-type-is-null.conf │ │ │ ├── fake-to-redis-test-delete-hash.conf │ │ │ ├── fake-to-redis-test-delete-key.conf │ │ │ ├── fake-to-redis-test-delete-list.conf │ │ │ ├── fake-to-redis-test-delete-set.conf │ │ │ ├── fake-to-redis-test-delete-zset.conf │ │ │ ├── fake-to-redis-test-in-real-time.conf │ │ │ ├── fake-to-redis-test-normal-key-is-null.conf │ │ │ ├── fake-to-redis-test-readonly-hash.conf │ │ │ ├── fake-to-redis-test-readonly-key.conf │ │ │ ├── fake-to-redis-test-readonly-list.conf │ │ │ ├── fake-to-redis-test-readonly-set.conf │ │ │ ├── fake-to-redis-test-readonly-zset.conf │ │ │ ├── redis-to-redis-by-db-num.conf │ │ │ ├── redis-to-redis-custom-hash-key-and-value.conf │ │ │ ├── redis-to-redis-custom-key.conf │ │ │ ├── redis-to-redis-custom-value-for-key.conf │ │ │ ├── redis-to-redis-custom-value-for-list.conf │ │ │ ├── redis-to-redis-custom-value-for-set.conf │ │ │ ├── redis-to-redis-custom-value-for-zset.conf │ │ │ ├── redis-to-redis-expire.conf │ │ │ ├── redis-to-redis.conf │ │ │ ├── scan-hash-to-redis-list-hash-check.conf │ │ │ ├── scan-list-test-read-to-redis-list-test-check.conf │ │ │ ├── scan-set-to-redis-list-set-check.conf │ │ │ ├── scan-string-to-redis.conf │ │ │ └── scan-zset-to-redis-list-zset-check.conf │ ├── connector-rocketmq-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── rocketmq │ │ │ │ ├── RocketMqConsumerMessage.java │ │ │ │ ├── RocketMqContainer.java │ │ │ │ └── RocketMqIT.java │ │ │ └── resources │ │ │ ├── log4j2-test.properties │ │ │ ├── rocketmq-sink_fake_to_rocketmq.conf │ │ │ ├── rocketmq-sink_fake_to_rocketmq_message_tag.conf │ │ │ ├── rocketmq-source_json_to_console.conf │ │ │ ├── rocketmq-source_tex_with_offset_check.conf │ │ │ ├── rocketmq-source_text_error_tag_to_console.conf │ │ │ ├── rocketmq-source_text_tag_to_console.conf │ │ │ ├── rocketmq-source_text_to_console.conf │ │ │ ├── rocketmq-text-sink_fake_to_rocketmq.conf │ │ │ └── rocketmq │ │ │ ├── rocketmq_source_earliest_to_console.conf │ │ │ ├── rocketmq_source_group_offset_to_console.conf │ │ │ ├── rocketmq_source_latest_to_console.conf │ │ │ ├── rocketmq_source_specific_offsets_to_console.conf │ │ │ └── rocketmq_source_timestamp_to_console.conf │ ├── connector-sls-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── sls │ │ │ │ └── SlsIT.java │ │ │ └── resources │ │ │ ├── sls_sink_to_console.conf │ │ │ ├── sls_source_with_schema_to_console.conf │ │ │ └── sls_source_without_schema_to_console.conf │ ├── connector-starrocks-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── starrocks │ │ │ │ ├── StarRocksCDCSinkIT.java │ │ │ │ ├── StarRocksIT.java │ │ │ │ └── StarRocksSchemaChangeIT.java │ │ │ └── resources │ │ │ ├── ddl │ │ │ ├── add_columns.sql │ │ │ ├── change_columns.sql │ │ │ ├── drop_columns.sql │ │ │ ├── drop_columns_validate_schema.sql │ │ │ ├── modify_columns.sql │ │ │ └── shop.sql │ │ │ ├── docker │ │ │ ├── server-gtids │ │ │ │ └── my.cnf │ │ │ └── setup.sql │ │ │ ├── fake-to-starrocks.conf │ │ │ ├── mysqlcdc_to_starrocks_with_schema_change.conf │ │ │ ├── starrocks-thrift-to-starrocks-streamload.conf │ │ │ ├── starrocks-to-assert-with-multipletable.conf │ │ │ ├── starrocks-to-assert.conf │ │ │ └── write-cdc-changelog-to-starrocks.conf │ ├── connector-tdengine-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── tdengine │ │ │ │ └── TDengineIT.java │ │ │ └── resources │ │ │ └── tdengine │ │ │ ├── tdengine_fake_to_sink_multitable.conf │ │ │ └── tdengine_source_to_sink.conf │ ├── connector-typesense-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── e2e │ │ │ │ └── connector │ │ │ │ └── typesense │ │ │ │ └── TypesenseIT.java │ │ │ └── resources │ │ │ ├── fake_to_typesense_with_append_data.conf │ │ │ ├── fake_to_typesense_with_create_when_not_exists.conf │ │ │ ├── fake_to_typesense_with_drop_data.conf │ │ │ ├── fake_to_typesense_with_error_when_data_exists.conf │ │ │ ├── fake_to_typesense_with_error_when_not_exists.conf │ │ │ ├── fake_to_typesense_with_primary_keys.conf │ │ │ ├── fake_to_typesense_with_recreate_schema.conf │ │ │ ├── typesense_source_and_sink.conf │ │ │ ├── typesense_to_typesense.conf │ │ │ └── typesense_to_typesense_with_query.conf │ ├── connector-web3j-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org.apache.seatunnel.e2e.connector.google.firestore │ │ │ │ └── Web3jIT.java │ │ │ └── resources │ │ │ └── firestore │ │ │ └── web3j_to_assert.conf │ └── pom.xml ├── seatunnel-core-e2e │ ├── pom.xml │ └── seatunnel-starter-e2e │ │ ├── pom.xml │ │ └── src │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── core │ │ │ └── starter │ │ │ └── seatunnel │ │ │ ├── SeaTunnelConnectorBatchCancelTest.java │ │ │ └── SeaTunnelConnectorTest.java │ │ └── resources │ │ ├── batch_cancel_task_1.conf │ │ └── batch_cancel_task_2.conf ├── seatunnel-e2e-common │ ├── pom.xml │ └── src │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── e2e │ │ │ ├── common │ │ │ ├── AbstractFlinkContainer.java │ │ │ ├── AbstractSparkContainer.java │ │ │ ├── TestResource.java │ │ │ ├── TestSuiteBase.java │ │ │ ├── container │ │ │ │ ├── AbstractTestContainer.java │ │ │ │ ├── ContainerExtendedFactory.java │ │ │ │ ├── EngineType.java │ │ │ │ ├── TestContainer.java │ │ │ │ ├── TestContainerId.java │ │ │ │ ├── TestContainersFactory.java │ │ │ │ ├── TestHelper.java │ │ │ │ ├── flink │ │ │ │ │ ├── AbstractTestFlinkContainer.java │ │ │ │ │ ├── Flink13Container.java │ │ │ │ │ ├── Flink14Container.java │ │ │ │ │ ├── Flink15Container.java │ │ │ │ │ ├── Flink16Container.java │ │ │ │ │ ├── Flink17Container.java │ │ │ │ │ └── Flink18Container.java │ │ │ │ ├── seatunnel │ │ │ │ │ ├── ConnectorPackageServiceContainer.java │ │ │ │ │ └── SeaTunnelContainer.java │ │ │ │ └── spark │ │ │ │ │ ├── AbstractTestSparkContainer.java │ │ │ │ │ ├── Spark2Container.java │ │ │ │ │ └── Spark3Container.java │ │ │ ├── junit │ │ │ │ ├── AnnotationUtil.java │ │ │ │ ├── ContainerTestingExtension.java │ │ │ │ ├── DisabledOnContainer.java │ │ │ │ ├── TestCaseInvocationContextProvider.java │ │ │ │ ├── TestContainerExtension.java │ │ │ │ ├── TestContainers.java │ │ │ │ ├── TestLoggerExtension.java │ │ │ │ └── TimingExtension.java │ │ │ └── util │ │ │ │ ├── ConfigAdapterUtils.java │ │ │ │ ├── ConfigBuilder.java │ │ │ │ ├── ContainerUtil.java │ │ │ │ └── JobIdGenerator.java │ │ │ └── sink │ │ │ └── inmemory │ │ │ ├── InMemoryAggregatedCommitInfo.java │ │ │ ├── InMemoryAggregatedCommitter.java │ │ │ ├── InMemoryCommitInfo.java │ │ │ ├── InMemoryConnection.java │ │ │ ├── InMemoryMultiTableResourceManager.java │ │ │ ├── InMemorySaveModeHandler.java │ │ │ ├── InMemorySink.java │ │ │ ├── InMemorySinkFactory.java │ │ │ ├── InMemorySinkWriter.java │ │ │ └── InMemoryState.java │ │ └── resources │ │ ├── junit-platform.properties │ │ └── log4j2.properties ├── seatunnel-engine-e2e │ ├── connector-console-seatunnel-e2e │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── engine │ │ │ │ └── e2e │ │ │ │ └── console │ │ │ │ ├── FakeSourceToConsoleIT.java │ │ │ │ └── FakeSourceToConsoleWithEventReportIT.java │ │ │ └── resources │ │ │ ├── fakesource_to_console.conf │ │ │ └── seatunnel_config_with_event_report.yaml │ ├── connector-seatunnel-e2e-base │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── engine │ │ │ │ └── e2e │ │ │ │ ├── BasicAuthenticationIT.java │ │ │ │ ├── CheckpointEnableIT.java │ │ │ │ ├── ClusterFaultToleranceIT.java │ │ │ │ ├── ClusterFaultToleranceTwoPipelineIT.java │ │ │ │ ├── ClusterIT.java │ │ │ │ ├── ClusterSeaTunnelEngineContainer.java │ │ │ │ ├── ConnectorPackageServiceContainer.java │ │ │ │ ├── ConnectorPackageServiceIT.java │ │ │ │ ├── JobClientJobProxyIT.java │ │ │ │ ├── JobExecutionIT.java │ │ │ │ ├── JobRestoreIT.java │ │ │ │ ├── LocalModeIT.java │ │ │ │ ├── MultiTableMetricsIT.java │ │ │ │ ├── RestApiIT.java │ │ │ │ ├── SeaTunnelEngineContainer.java │ │ │ │ ├── SeaTunnelSlotIT.java │ │ │ │ ├── SinkPlaceholderIT.java │ │ │ │ ├── SplitClusterFaultToleranceIT.java │ │ │ │ ├── TestUtils.java │ │ │ │ ├── TextHeaderIT.java │ │ │ │ ├── UnifyEnvParameterIT.java │ │ │ │ ├── UserVariableIT.java │ │ │ │ ├── allocatestrategy │ │ │ │ ├── SlotRatioAllocateStrategyIT.java │ │ │ │ └── SystemLoadAllocateStrategyIT.java │ │ │ │ ├── classloader │ │ │ │ ├── ClassLoaderDisableCacheModeIT.java │ │ │ │ ├── ClassLoaderEnableCacheModeIT.java │ │ │ │ └── ClassLoaderITBase.java │ │ │ │ ├── joblog │ │ │ │ └── JobLogIT.java │ │ │ │ ├── resourceIsolation │ │ │ │ ├── ResourceIsolationIT.java │ │ │ │ └── WorkerTagClusterTest.java │ │ │ │ └── telemetry │ │ │ │ └── MasterWorkerClusterSeaTunnelWithTelemetryIT.java │ │ │ └── resources │ │ │ ├── allocate-strategy │ │ │ ├── allocate_strategy_no_tag_with_system_load.conf │ │ │ ├── allocate_strategy_tag1_with_system_load.conf │ │ │ ├── allocate_strategy_tag2_with_system_load.conf │ │ │ └── allocate_strategy_with_slot_ratio.conf │ │ │ ├── basic-auth │ │ │ └── seatunnel.yaml │ │ │ ├── batch_fake_multi_table_to_console.conf │ │ │ ├── batch_fakesource_to_console_error.conf │ │ │ ├── batch_fakesource_to_file.conf │ │ │ ├── batch_fakesource_to_file_complex.conf │ │ │ ├── batch_fakesource_to_file_header.conf │ │ │ ├── batch_last_checkpoint_error.conf │ │ │ ├── batch_slot_not_enough.conf │ │ │ ├── checkpoint-batch-disable-test-resources │ │ │ ├── batch_fakesource_to_localfile_checkpoint_disable.conf │ │ │ ├── batch_fakesource_to_localfile_checkpoint_disable_withtimeout.conf │ │ │ └── sink_file_text_to_assert.conf │ │ │ ├── checkpoint-batch-enable-test-resources │ │ │ ├── batch_fakesource_to_localfile_checkpoint_enable.conf │ │ │ └── sink_file_text_to_assert.conf │ │ │ ├── checkpoint-streaming-enable-test-resources │ │ │ ├── sink_file_text_to_assert.conf │ │ │ ├── stream_fakesource_to_localfile.conf │ │ │ └── stream_fakesource_to_localfile_interval.conf │ │ │ ├── classloader │ │ │ ├── fake_to_inmemory.conf │ │ │ ├── seatunnel_cache_mode.yaml │ │ │ └── seatunnel_disable_cache_mode.yaml │ │ │ ├── cluster │ │ │ ├── hazelcast.yaml │ │ │ └── seatunnel.yaml │ │ │ ├── cluster_batch_fake_to_localfile_template.conf │ │ │ ├── cluster_batch_fake_to_localfile_two_pipeline_template.conf │ │ │ ├── connector-package-service-test-server1-resources │ │ │ ├── fakesource_to_console.conf │ │ │ ├── hazelcast-client.yaml │ │ │ ├── hazelcast.yaml │ │ │ ├── junit-platform.properties │ │ │ ├── jvm_client_options │ │ │ ├── jvm_options │ │ │ ├── log4j2-test.properties │ │ │ ├── log4j2.properties │ │ │ └── seatunnel.yaml │ │ │ ├── connector-package-service-test-server2-resources │ │ │ ├── fakesource_to_console.conf │ │ │ ├── hazelcast-client.yaml │ │ │ ├── hazelcast.yaml │ │ │ ├── junit-platform.properties │ │ │ ├── jvm_client_options │ │ │ ├── jvm_options │ │ │ ├── log4j2-test.properties │ │ │ ├── log4j2.properties │ │ │ └── seatunnel.yaml │ │ │ ├── connector-package-service-test-server3-resources │ │ │ ├── fakesource_to_console.conf │ │ │ ├── hazelcast-client.yaml │ │ │ ├── hazelcast.yaml │ │ │ ├── junit-platform.properties │ │ │ ├── jvm_client_options │ │ │ ├── jvm_options │ │ │ ├── log4j2-test.properties │ │ │ ├── log4j2.properties │ │ │ └── seatunnel.yaml │ │ │ ├── fake-and-inmemory │ │ │ └── plugin-mapping.properties │ │ │ ├── fake_to_console.variables.conf │ │ │ ├── fake_to_console_with_default_value.variables.conf │ │ │ ├── fake_to_inmemory_with_sink_placeholder.conf │ │ │ ├── fakesource_to_console.conf │ │ │ ├── hazelcast-client.yaml │ │ │ ├── hazelcast.yaml │ │ │ ├── job-log-file │ │ │ └── log4j2.properties │ │ │ ├── junit-platform.properties │ │ │ ├── jvm_client_options │ │ │ ├── jvm_options │ │ │ ├── log4j2-test.properties │ │ │ ├── log4j2.properties │ │ │ ├── master-worker-cluster │ │ │ ├── hazelcast-master.yaml │ │ │ ├── hazelcast-worker.yaml │ │ │ ├── jvm_master_options │ │ │ ├── jvm_worker_options │ │ │ └── seatunnel.yaml │ │ │ ├── resource-isolation │ │ │ ├── fakesource_to_console.conf │ │ │ └── fakesource_to_console_tag_not_match.conf │ │ │ ├── restore-job │ │ │ └── restore_job_apply_resources.conf │ │ │ ├── retry-times │ │ │ ├── stream_fake_to_inmemory_with_error.conf │ │ │ └── stream_fake_to_inmemory_with_error_retry_1.conf │ │ │ ├── savemode │ │ │ ├── fake_to_inmemory_savemode.conf │ │ │ └── fake_to_inmemory_savemode_client.conf │ │ │ ├── seatunnel.yaml │ │ │ ├── seatunnel_fixed_slot_num.yaml │ │ │ ├── seatunnel_job_restore_apply_resources.yaml │ │ │ ├── stream_fake_to_inmemory_with_runtime_list.conf │ │ │ ├── stream_fake_to_inmemory_with_throwable_error.conf │ │ │ ├── stream_fakesource_to_console.conf │ │ │ ├── stream_fakesource_to_file.conf │ │ │ ├── stream_fakesource_to_inmemory_pending_row_in_queue.conf │ │ │ ├── streaming_fakesource_to_file_complex.conf │ │ │ ├── unify-env-param-test-resource │ │ │ ├── outdated_env_param_fakesource_to_localfile.conf │ │ │ ├── unify_env_param_fakesource_to_localfile.conf │ │ │ └── unify_flink_table_env_param_fakesource_to_console.conf │ │ │ ├── upload-file │ │ │ ├── fake_to_console.conf │ │ │ └── fake_to_console.json │ │ │ └── valid_job_name.conf │ ├── pom.xml │ └── seatunnel-engine-k8s-e2e │ │ ├── pom.xml │ │ └── src │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── engine │ │ │ └── e2e │ │ │ └── k8s │ │ │ └── KubernetesIT.java │ │ └── resources │ │ ├── custom_config │ │ ├── hazelcast-client.yaml │ │ ├── hazelcast-kubernetes-discovery.yaml │ │ ├── hazelcast-tcp-discovery.yaml │ │ └── plugin-mapping.properties │ │ ├── seatunnel-service.yaml │ │ ├── seatunnel-statefulset.yaml │ │ └── seatunnel_dockerfile └── seatunnel-transforms-v2-e2e │ ├── pom.xml │ ├── seatunnel-transforms-v2-e2e-common │ ├── pom.xml │ └── src │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── e2e │ │ └── transform │ │ └── TestSuiteBase.java │ ├── seatunnel-transforms-v2-e2e-part-1 │ ├── pom.xml │ └── src │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── e2e │ │ │ └── transform │ │ │ ├── TestCopyIT.java │ │ │ ├── TestEmbeddingIT.java │ │ │ ├── TestFilterIT.java │ │ │ ├── TestFilterRowKindIT.java │ │ │ ├── TestLLMIT.java │ │ │ ├── TestRowKindExtractorTransformIT.java │ │ │ └── TestSplitIT.java │ │ └── resources │ │ ├── copy_transform.conf │ │ ├── copy_transform_multi_table.conf │ │ ├── embedding_transform.conf │ │ ├── embedding_transform_custom.conf │ │ ├── embedding_transform_multi_table.conf │ │ ├── filter_row_kind_exclude_delete.conf │ │ ├── filter_row_kind_exclude_insert.conf │ │ ├── filter_row_kind_exclude_insert_multi_table.conf │ │ ├── filter_row_kind_include_insert.conf │ │ ├── filter_row_to_next_transform.json │ │ ├── filter_transform.conf │ │ ├── filter_transform_multi_table.conf │ │ ├── llm_kimiai_transform.conf │ │ ├── llm_microsoft_transform.conf │ │ ├── llm_openai_transform.conf │ │ ├── llm_openai_transform_boolean.conf │ │ ├── llm_openai_transform_columns.conf │ │ ├── llm_openai_transform_custom_output_name.conf │ │ ├── llm_openai_transform_multi_table.conf │ │ ├── llm_transform_custom.conf │ │ ├── mock-embedding.json │ │ ├── mockserver-config.json │ │ ├── rowkind_extractor_transform_case1.conf │ │ ├── rowkind_extractor_transform_case1_multi_table.conf │ │ ├── rowkind_extractor_transform_case2.conf │ │ ├── split_transform.conf │ │ └── split_transform_multi_table.conf │ ├── seatunnel-transforms-v2-e2e-part-2 │ ├── pom.xml │ └── src │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── e2e │ │ │ └── transform │ │ │ ├── TestDynamicCompileIT.java │ │ │ ├── TestFieldMapperIT.java │ │ │ ├── TestJsonPathTransformIT.java │ │ │ ├── TestMetadataIT.java │ │ │ ├── TestRenameIT.java │ │ │ ├── TestReplaceIT.java │ │ │ ├── TestSQLIT.java │ │ │ ├── TestSparkDateTimeTransformIT.java │ │ │ ├── TestTableFilterIT.java │ │ │ └── TestTableMergeIT.java │ │ └── resources │ │ ├── dynamic_compile │ │ ├── conf │ │ │ ├── mixed_dynamic_groovy_java_compile_transform.conf │ │ │ ├── mockserver-config.json │ │ │ ├── multiple_dynamic_groovy_compile_transform.conf │ │ │ ├── multiple_dynamic_java_compile_transform.conf │ │ │ ├── single_dynamic_groovy_compile_transform.conf │ │ │ ├── single_dynamic_http_compile_transform.conf │ │ │ ├── single_dynamic_java_compile_transform.conf │ │ │ ├── single_dynamic_java_compile_transform_compatible.conf │ │ │ ├── single_dynamic_java_compile_transform_multi_table.conf │ │ │ ├── single_groovy_path_compile.conf │ │ │ └── single_java_path_compile.conf │ │ └── source_file │ │ │ ├── GroovyFile │ │ │ └── JavaFile │ │ ├── field_mapper_transform.conf │ │ ├── field_mapper_transform_multi_table.conf │ │ ├── field_mapper_transform_without_result_table.conf │ │ ├── json_path_transform │ │ ├── array_test.conf │ │ ├── json_path_array_map.conf │ │ ├── json_path_basic_type_test.conf │ │ ├── json_path_basic_type_test_multi_table.conf │ │ ├── json_path_with_error_handle_way.conf │ │ └── nested_row_test.conf │ │ ├── metadata_multi_table.conf │ │ ├── replace_transform.conf │ │ ├── replace_transform_multi_table.conf │ │ ├── spark_date_time_transform.conf │ │ ├── sql_transform.conf │ │ ├── sql_transform │ │ ├── binary_expression.conf │ │ ├── case_when.conf │ │ ├── criteria_filter.conf │ │ ├── explode_transform.conf │ │ ├── explode_transform_with_outer.conf │ │ ├── explode_transform_without_outer.conf │ │ ├── func_array.conf │ │ ├── func_array_max_min.conf │ │ ├── func_datetime.conf │ │ ├── func_from_unixtime.conf │ │ ├── func_multi_if.conf │ │ ├── func_numeric.conf │ │ ├── func_split.conf │ │ ├── func_string.conf │ │ ├── func_system.conf │ │ ├── inner_query.conf │ │ └── sql_all_columns.conf │ │ ├── sql_transform_multi_table.conf │ │ ├── table_field_rename_multi_table.conf │ │ ├── table_filter_multi_table.conf │ │ └── table_merge_multi_table.conf │ ├── seatunnel-transforms-v2-e2e-udf │ ├── pom.xml │ └── src │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── e2e │ │ │ └── transform │ │ │ └── udf │ │ │ └── ExampleUdfIT.java │ │ └── resources │ │ └── custom_udf.conf │ └── seatunnel-transforms-v2-udf │ ├── pom.xml │ └── src │ └── main │ └── java │ └── org │ └── apache │ └── seatunnel │ └── e2e │ └── transform │ └── udf │ └── ExampleUdf.java ├── seatunnel-engine ├── README.md ├── pom.xml ├── seatunnel-engine-client │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── engine │ │ │ └── client │ │ │ ├── SeaTunnelClient.java │ │ │ ├── SeaTunnelClientInstance.java │ │ │ ├── SeaTunnelHazelcastClient.java │ │ │ ├── job │ │ │ ├── ClientJobExecutionEnvironment.java │ │ │ ├── ClientJobProxy.java │ │ │ ├── ConnectorPackageClient.java │ │ │ ├── JobClient.java │ │ │ ├── JobMetricsRunner.java │ │ │ └── JobStatusRunner.java │ │ │ └── util │ │ │ └── ContentFormatUtil.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── engine │ │ │ └── client │ │ │ ├── ConnectorPackageClientTest.java │ │ │ ├── ContentFormatUtilTest.java │ │ │ ├── LogicalDagGeneratorTest.java │ │ │ ├── MultipleTableJobConfigParserTest.java │ │ │ ├── SeaTunnelClientTest.java │ │ │ └── SeaTunnelEngineClusterRoleTest.java │ │ └── resources │ │ ├── batch_fake_multi_table_to_console.conf │ │ ├── batch_fake_to_console.conf │ │ ├── batch_fake_to_console_multi_table.conf │ │ ├── batch_fake_to_console_with_duplicated_transform.conf │ │ ├── batch_fakesource_to_file.conf │ │ ├── batch_fakesource_to_file_complex.conf │ │ ├── batch_fakesource_to_two_file.conf │ │ ├── client_test.conf │ │ ├── client_test_with_jars.conf │ │ ├── custmoize-client.yaml │ │ ├── hazelcast-client.yaml │ │ ├── hazelcast.yaml │ │ ├── log4j2-test.properties │ │ ├── seatunnel.yaml │ │ └── streaming_fake_to_console.conf ├── seatunnel-engine-common │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── engine │ │ │ │ └── common │ │ │ │ ├── Constant.java │ │ │ │ ├── config │ │ │ │ ├── ConfigProvider.java │ │ │ │ ├── EngineConfig.java │ │ │ │ ├── JobConfig.java │ │ │ │ ├── SeaTunnelClientConfig.java │ │ │ │ ├── SeaTunnelConfig.java │ │ │ │ ├── SeaTunnelConfigSections.java │ │ │ │ ├── SeaTunnelProperties.java │ │ │ │ ├── YamlSeaTunnelConfigBuilder.java │ │ │ │ ├── YamlSeaTunnelConfigLocator.java │ │ │ │ ├── YamlSeaTunnelDomConfigProcessor.java │ │ │ │ └── server │ │ │ │ │ ├── AllocateStrategy.java │ │ │ │ │ ├── CheckpointConfig.java │ │ │ │ │ ├── CheckpointStorageConfig.java │ │ │ │ │ ├── ConnectorJarHAStorageConfig.java │ │ │ │ │ ├── ConnectorJarStorageConfig.java │ │ │ │ │ ├── ConnectorJarStorageMode.java │ │ │ │ │ ├── CoordinatorServiceConfig.java │ │ │ │ │ ├── HttpConfig.java │ │ │ │ │ ├── QueueType.java │ │ │ │ │ ├── ScheduleStrategy.java │ │ │ │ │ ├── ServerConfigOptions.java │ │ │ │ │ ├── SlotServiceConfig.java │ │ │ │ │ ├── TelemetryConfig.java │ │ │ │ │ ├── TelemetryLogsConfig.java │ │ │ │ │ ├── TelemetryMetricConfig.java │ │ │ │ │ └── ThreadShareMode.java │ │ │ │ ├── env │ │ │ │ ├── EnvironmentUtil.java │ │ │ │ └── Version.java │ │ │ │ ├── exception │ │ │ │ ├── ClassLoaderErrorCode.java │ │ │ │ ├── ClassLoaderException.java │ │ │ │ ├── JobCanceledException.java │ │ │ │ ├── JobDefineCheckException.java │ │ │ │ ├── JobException.java │ │ │ │ ├── JobFailedException.java │ │ │ │ ├── JobNoEnoughResourceException.java │ │ │ │ ├── JobNotFoundException.java │ │ │ │ ├── SavePointFailedException.java │ │ │ │ ├── SchedulerNotAllowException.java │ │ │ │ ├── SeaTunnelEngineException.java │ │ │ │ ├── SeaTunnelEngineRetryableException.java │ │ │ │ └── TaskGroupDeployException.java │ │ │ │ ├── loader │ │ │ │ ├── SeaTunnelBaseClassLoader.java │ │ │ │ ├── SeaTunnelChildFirstClassLoader.java │ │ │ │ └── SeaTunnelParentFirstClassLoader.java │ │ │ │ ├── runtime │ │ │ │ ├── DeployType.java │ │ │ │ └── ExecutionMode.java │ │ │ │ ├── serializeable │ │ │ │ ├── ConfigDataSerializerHook.java │ │ │ │ └── SeaTunnelFactoryIdConstant.java │ │ │ │ └── utils │ │ │ │ ├── ExceptionUtil.java │ │ │ │ ├── FactoryUtil.java │ │ │ │ ├── IdGenerator.java │ │ │ │ ├── LogUtil.java │ │ │ │ ├── MDUtil.java │ │ │ │ ├── PassiveCompletableFuture.java │ │ │ │ └── concurrent │ │ │ │ └── CompletableFuture.java │ │ ├── resources-filtered │ │ │ └── zeta.version.properties │ │ └── resources │ │ │ ├── META-INF │ │ │ └── services │ │ │ │ └── com.hazelcast.DataSerializerHook │ │ │ ├── hazelcast-client.yaml │ │ │ ├── hazelcast.yaml │ │ │ ├── jvm_options │ │ │ └── seatunnel.yaml │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── engine │ │ │ └── common │ │ │ ├── config │ │ │ ├── EnvironmentUtilTest.java │ │ │ └── YamlSeaTunnelConfigParserTest.java │ │ │ └── utils │ │ │ ├── ExceptionUtilTest.java │ │ │ └── concurrent │ │ │ └── CompletableFutureTest.java │ │ └── resources │ │ ├── custmoize-client.yaml │ │ ├── hazelcast-client.yaml │ │ ├── hazelcast.yaml │ │ └── seatunnel.yaml ├── seatunnel-engine-core │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── engine │ │ │ │ └── core │ │ │ │ ├── checkpoint │ │ │ │ ├── Checkpoint.java │ │ │ │ ├── CheckpointIDCounter.java │ │ │ │ ├── CheckpointType.java │ │ │ │ └── InternalCheckpointListener.java │ │ │ │ ├── classloader │ │ │ │ ├── ClassLoaderService.java │ │ │ │ └── DefaultClassLoaderService.java │ │ │ │ ├── dag │ │ │ │ ├── actions │ │ │ │ │ ├── AbstractAction.java │ │ │ │ │ ├── Action.java │ │ │ │ │ ├── ActionUtils.java │ │ │ │ │ ├── Config.java │ │ │ │ │ ├── SinkAction.java │ │ │ │ │ ├── SinkConfig.java │ │ │ │ │ ├── SourceAction.java │ │ │ │ │ ├── TransformAction.java │ │ │ │ │ ├── TransformChainAction.java │ │ │ │ │ └── UnknownActionException.java │ │ │ │ ├── internal │ │ │ │ │ └── IntermediateQueue.java │ │ │ │ └── logical │ │ │ │ │ ├── LogicalDag.java │ │ │ │ │ ├── LogicalDagGenerator.java │ │ │ │ │ ├── LogicalEdge.java │ │ │ │ │ └── LogicalVertex.java │ │ │ │ ├── job │ │ │ │ ├── AbstractJobEnvironment.java │ │ │ │ ├── CommonPluginJar.java │ │ │ │ ├── ConnectorJar.java │ │ │ │ ├── ConnectorJarIdentifier.java │ │ │ │ ├── ConnectorJarType.java │ │ │ │ ├── ConnectorPluginJar.java │ │ │ │ ├── Edge.java │ │ │ │ ├── ExecutionAddress.java │ │ │ │ ├── Job.java │ │ │ │ ├── JobDAGInfo.java │ │ │ │ ├── JobImmutableInformation.java │ │ │ │ ├── JobInfo.java │ │ │ │ ├── JobPipelineCheckpointData.java │ │ │ │ ├── JobResult.java │ │ │ │ ├── JobStatus.java │ │ │ │ ├── JobStatusData.java │ │ │ │ ├── PipelineExecutionState.java │ │ │ │ ├── PipelineStatus.java │ │ │ │ ├── RefCount.java │ │ │ │ ├── StatusUpdate.java │ │ │ │ └── VertexInfo.java │ │ │ │ ├── parse │ │ │ │ ├── ConfigParserUtil.java │ │ │ │ ├── ConnectorInstanceLoader.java │ │ │ │ ├── JobConfigParser.java │ │ │ │ └── MultipleTableJobConfigParser.java │ │ │ │ ├── protocol │ │ │ │ └── codec │ │ │ │ │ ├── SeaTunnelCancelJobCodec.java │ │ │ │ │ ├── SeaTunnelGetClusterHealthMetricsCodec.java │ │ │ │ │ ├── SeaTunnelGetJobCheckpointCodec.java │ │ │ │ │ ├── SeaTunnelGetJobDetailStatusCodec.java │ │ │ │ │ ├── SeaTunnelGetJobInfoCodec.java │ │ │ │ │ ├── SeaTunnelGetJobMetricsCodec.java │ │ │ │ │ ├── SeaTunnelGetJobStatusCodec.java │ │ │ │ │ ├── SeaTunnelGetRunningJobMetricsCodec.java │ │ │ │ │ ├── SeaTunnelListJobStatusCodec.java │ │ │ │ │ ├── SeaTunnelPrintMessageCodec.java │ │ │ │ │ ├── SeaTunnelSavePointJobCodec.java │ │ │ │ │ ├── SeaTunnelSubmitJobCodec.java │ │ │ │ │ ├── SeaTunnelUploadConnectorJarCodec.java │ │ │ │ │ └── SeaTunnelWaitForJobCompleteCodec.java │ │ │ │ └── serializable │ │ │ │ └── JobDataSerializerHook.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── services │ │ │ │ └── com.hazelcast.DataSerializerHook │ │ │ ├── client-protocol-definition │ │ │ └── SeaTunnelEngine.yaml │ │ │ └── generate_client_protocol.sh │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── engine │ │ └── core │ │ └── classloader │ │ ├── AbstractClassLoaderServiceTest.java │ │ ├── ClassLoaderServiceCacheModeTest.java │ │ └── ClassLoaderServiceTest.java ├── seatunnel-engine-serializer │ ├── pom.xml │ ├── serializer-api │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── engine │ │ │ └── serializer │ │ │ └── api │ │ │ └── Serializer.java │ └── serializer-protobuf │ │ ├── pom.xml │ │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── engine │ │ │ └── serializer │ │ │ └── protobuf │ │ │ └── ProtoStuffSerializer.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── engine │ │ └── serializer │ │ └── protobuf │ │ └── ProtoStuffSerializerTest.java ├── seatunnel-engine-server │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── engine │ │ │ │ └── server │ │ │ │ ├── CheckpointService.java │ │ │ │ ├── CoordinatorService.java │ │ │ │ ├── EventService.java │ │ │ │ ├── JettyService.java │ │ │ │ ├── NodeExtension.java │ │ │ │ ├── NodeExtensionCommon.java │ │ │ │ ├── SeaTunnelHealthMonitor.java │ │ │ │ ├── SeaTunnelNodeContext.java │ │ │ │ ├── SeaTunnelServer.java │ │ │ │ ├── SeaTunnelServerStarter.java │ │ │ │ ├── TaskExecutionService.java │ │ │ │ ├── checkpoint │ │ │ │ ├── ActionState.java │ │ │ │ ├── ActionStateKey.java │ │ │ │ ├── ActionSubtaskState.java │ │ │ │ ├── CheckpointBarrier.java │ │ │ │ ├── CheckpointCloseReason.java │ │ │ │ ├── CheckpointCoordinator.java │ │ │ │ ├── CheckpointCoordinatorState.java │ │ │ │ ├── CheckpointCoordinatorStatus.java │ │ │ │ ├── CheckpointException.java │ │ │ │ ├── CheckpointManager.java │ │ │ │ ├── CheckpointPlan.java │ │ │ │ ├── CompletedCheckpoint.java │ │ │ │ ├── IMapCheckpointIDCounter.java │ │ │ │ ├── PendingCheckpoint.java │ │ │ │ ├── StandaloneCheckpointIDCounter.java │ │ │ │ ├── Stateful.java │ │ │ │ ├── SubtaskStatistics.java │ │ │ │ ├── SubtaskStatus.java │ │ │ │ ├── TaskStatistics.java │ │ │ │ └── operation │ │ │ │ │ ├── CheckpointBarrierTriggerOperation.java │ │ │ │ │ ├── CheckpointEndOperation.java │ │ │ │ │ ├── CheckpointErrorReportOperation.java │ │ │ │ │ ├── CheckpointFinishedOperation.java │ │ │ │ │ ├── NotifyTaskRestoreOperation.java │ │ │ │ │ ├── NotifyTaskStartOperation.java │ │ │ │ │ ├── TaskAcknowledgeOperation.java │ │ │ │ │ ├── TaskReportStatusOperation.java │ │ │ │ │ ├── TriggerSchemaChangeAfterCheckpointOperation.java │ │ │ │ │ └── TriggerSchemaChangeBeforeCheckpointOperation.java │ │ │ │ ├── dag │ │ │ │ ├── DAGUtils.java │ │ │ │ ├── execution │ │ │ │ │ ├── ExecutionEdge.java │ │ │ │ │ ├── ExecutionPlan.java │ │ │ │ │ ├── ExecutionPlanGenerator.java │ │ │ │ │ ├── ExecutionVertex.java │ │ │ │ │ ├── Pipeline.java │ │ │ │ │ └── PipelineGenerator.java │ │ │ │ └── physical │ │ │ │ │ ├── PhysicalPlan.java │ │ │ │ │ ├── PhysicalPlanGenerator.java │ │ │ │ │ ├── PhysicalVertex.java │ │ │ │ │ ├── PipelineLocation.java │ │ │ │ │ ├── PlanUtils.java │ │ │ │ │ ├── ResourceUtils.java │ │ │ │ │ ├── SubPlan.java │ │ │ │ │ ├── UnknownPhysicalPlanException.java │ │ │ │ │ ├── config │ │ │ │ │ ├── FlowConfig.java │ │ │ │ │ ├── IntermediateQueueConfig.java │ │ │ │ │ ├── SinkConfig.java │ │ │ │ │ └── SourceConfig.java │ │ │ │ │ └── flow │ │ │ │ │ ├── Flow.java │ │ │ │ │ ├── IntermediateExecutionFlow.java │ │ │ │ │ ├── PhysicalExecutionFlow.java │ │ │ │ │ └── UnknownFlowException.java │ │ │ │ ├── event │ │ │ │ ├── JobEventHttpReportHandler.java │ │ │ │ ├── JobEventListener.java │ │ │ │ ├── JobEventProcessor.java │ │ │ │ └── JobEventReportOperation.java │ │ │ │ ├── exception │ │ │ │ └── TaskGroupContextNotFoundException.java │ │ │ │ ├── execution │ │ │ │ ├── ExecutionState.java │ │ │ │ ├── PendingSourceState.java │ │ │ │ ├── ProgressState.java │ │ │ │ ├── Task.java │ │ │ │ ├── TaskCallTimer.java │ │ │ │ ├── TaskDeployState.java │ │ │ │ ├── TaskExecutionContext.java │ │ │ │ ├── TaskExecutionState.java │ │ │ │ ├── TaskGroup.java │ │ │ │ ├── TaskGroupContext.java │ │ │ │ ├── TaskGroupDefaultImpl.java │ │ │ │ ├── TaskGroupLocation.java │ │ │ │ ├── TaskGroupType.java │ │ │ │ ├── TaskGroupUtils.java │ │ │ │ ├── TaskLocation.java │ │ │ │ └── TaskTracker.java │ │ │ │ ├── joiner │ │ │ │ ├── LiteNodeDropOutDiscoveryJoiner.java │ │ │ │ ├── LiteNodeDropOutMulticastJoiner.java │ │ │ │ └── LiteNodeDropOutTcpIpJoiner.java │ │ │ │ ├── log │ │ │ │ ├── FormatType.java │ │ │ │ ├── Log4j2HttpGetCommandProcessor.java │ │ │ │ └── Log4j2HttpPostCommandProcessor.java │ │ │ │ ├── master │ │ │ │ ├── JobHistoryService.java │ │ │ │ └── JobMaster.java │ │ │ │ ├── metrics │ │ │ │ ├── JobMetricsCollector.java │ │ │ │ ├── JobMetricsUtil.java │ │ │ │ ├── SeaTunnelMetricsContext.java │ │ │ │ ├── TaskMetricsCalcContext.java │ │ │ │ └── ZetaMetricsCollector.java │ │ │ │ ├── operation │ │ │ │ ├── AbstractJobAsyncOperation.java │ │ │ │ ├── AsyncOperation.java │ │ │ │ ├── CancelJobOperation.java │ │ │ │ ├── GetClusterHealthMetricsOperation.java │ │ │ │ ├── GetJobCheckpointOperation.java │ │ │ │ ├── GetJobDetailStatusOperation.java │ │ │ │ ├── GetJobInfoOperation.java │ │ │ │ ├── GetJobMetricsOperation.java │ │ │ │ ├── GetJobStatusOperation.java │ │ │ │ ├── GetRunningJobMetricsOperation.java │ │ │ │ ├── ListJobStatusOperation.java │ │ │ │ ├── PrintMessageOperation.java │ │ │ │ ├── SavePointJobOperation.java │ │ │ │ ├── SubmitJobOperation.java │ │ │ │ ├── UploadConnectorJarOperation.java │ │ │ │ └── WaitForJobCompleteOperation.java │ │ │ │ ├── persistence │ │ │ │ ├── FileMapStore.java │ │ │ │ └── FileMapStoreFactory.java │ │ │ │ ├── protocol │ │ │ │ └── task │ │ │ │ │ ├── AbstractSeaTunnelMessageTask.java │ │ │ │ │ ├── CancelJobTask.java │ │ │ │ │ ├── GetClusterHealthMetricsTask.java │ │ │ │ │ ├── GetJobCheckpointTask.java │ │ │ │ │ ├── GetJobDetailStatusTask.java │ │ │ │ │ ├── GetJobInfoTask.java │ │ │ │ │ ├── GetJobMetricsTask.java │ │ │ │ │ ├── GetJobStatusTask.java │ │ │ │ │ ├── GetRunningJobMetricsTask.java │ │ │ │ │ ├── ListJobStatusTask.java │ │ │ │ │ ├── PrintMessageTask.java │ │ │ │ │ ├── SavePointJobTask.java │ │ │ │ │ ├── SeaTunnelMessageTaskFactoryProvider.java │ │ │ │ │ ├── SubmitJobTask.java │ │ │ │ │ ├── UploadConnectorJarTask.java │ │ │ │ │ └── WaitForJobCompleteTask.java │ │ │ │ ├── resourcemanager │ │ │ │ ├── AbstractResourceManager.java │ │ │ │ ├── NoEnoughResourceException.java │ │ │ │ ├── ResourceManager.java │ │ │ │ ├── ResourceManagerFactory.java │ │ │ │ ├── ResourceRequestHandler.java │ │ │ │ ├── StandaloneResourceManager.java │ │ │ │ ├── UnsupportedDeployTypeException.java │ │ │ │ ├── allocation │ │ │ │ │ └── strategy │ │ │ │ │ │ ├── RandomStrategy.java │ │ │ │ │ │ ├── SlotAllocationStrategy.java │ │ │ │ │ │ ├── SlotRatioStrategy.java │ │ │ │ │ │ └── SystemLoadStrategy.java │ │ │ │ ├── opeartion │ │ │ │ │ ├── GetOverviewOperation.java │ │ │ │ │ ├── ReleaseSlotOperation.java │ │ │ │ │ ├── RequestSlotOperation.java │ │ │ │ │ ├── ResetResourceOperation.java │ │ │ │ │ ├── SyncWorkerProfileOperation.java │ │ │ │ │ └── WorkerHeartbeatOperation.java │ │ │ │ ├── resource │ │ │ │ │ ├── CPU.java │ │ │ │ │ ├── Memory.java │ │ │ │ │ ├── OverviewInfo.java │ │ │ │ │ ├── Resource.java │ │ │ │ │ ├── ResourceProfile.java │ │ │ │ │ ├── SlotAssignedProfile.java │ │ │ │ │ ├── SlotProfile.java │ │ │ │ │ └── SystemLoadInfo.java │ │ │ │ ├── thirdparty │ │ │ │ │ ├── CreateWorkerResult.java │ │ │ │ │ ├── ThirdPartyResourceManager.java │ │ │ │ │ ├── kubernetes │ │ │ │ │ │ └── KubernetesResourceManager.java │ │ │ │ │ └── yarn │ │ │ │ │ │ └── YarnResourceManager.java │ │ │ │ └── worker │ │ │ │ │ └── WorkerProfile.java │ │ │ │ ├── rest │ │ │ │ ├── ErrResponse.java │ │ │ │ ├── RestConstant.java │ │ │ │ ├── RestHttpGetCommandProcessor.java │ │ │ │ ├── RestHttpPostCommandProcessor.java │ │ │ │ ├── RestJobExecutionEnvironment.java │ │ │ │ ├── filter │ │ │ │ │ ├── BasicAuthFilter.java │ │ │ │ │ └── ExceptionHandlingFilter.java │ │ │ │ ├── service │ │ │ │ │ ├── BaseLogService.java │ │ │ │ │ ├── BaseService.java │ │ │ │ │ ├── EncryptConfigService.java │ │ │ │ │ ├── JobInfoService.java │ │ │ │ │ ├── LogService.java │ │ │ │ │ ├── OverviewService.java │ │ │ │ │ ├── RunningThreadService.java │ │ │ │ │ ├── SystemMonitoringService.java │ │ │ │ │ ├── ThreadDumpService.java │ │ │ │ │ └── UpdateTagsService.java │ │ │ │ └── servlet │ │ │ │ │ ├── AllLogNameServlet.java │ │ │ │ │ ├── AllNodeLogServlet.java │ │ │ │ │ ├── BaseServlet.java │ │ │ │ │ ├── CurrentNodeLogServlet.java │ │ │ │ │ ├── EncryptConfigServlet.java │ │ │ │ │ ├── FinishedJobsServlet.java │ │ │ │ │ ├── JobInfoServlet.java │ │ │ │ │ ├── LogBaseServlet.java │ │ │ │ │ ├── MetricsServlet.java │ │ │ │ │ ├── OverviewServlet.java │ │ │ │ │ ├── RunningJobsServlet.java │ │ │ │ │ ├── RunningThreadsServlet.java │ │ │ │ │ ├── StopJobServlet.java │ │ │ │ │ ├── StopJobsServlet.java │ │ │ │ │ ├── SubmitJobByUploadFileServlet.java │ │ │ │ │ ├── SubmitJobServlet.java │ │ │ │ │ ├── SubmitJobsServlet.java │ │ │ │ │ ├── SystemMonitoringServlet.java │ │ │ │ │ ├── ThreadDumpServlet.java │ │ │ │ │ └── UpdateTagsServlet.java │ │ │ │ ├── serializable │ │ │ │ ├── CheckpointDataSerializerHook.java │ │ │ │ ├── ClientToServerOperationDataSerializerHook.java │ │ │ │ ├── RecordSerializer.java │ │ │ │ ├── RecordSerializerHook.java │ │ │ │ ├── ResourceDataSerializerHook.java │ │ │ │ ├── TaskDataSerializerHook.java │ │ │ │ └── TypeId.java │ │ │ │ ├── service │ │ │ │ ├── jar │ │ │ │ │ ├── AbstractConnectorJarStorageStrategy.java │ │ │ │ │ ├── ConnectorJarStorageStrategy.java │ │ │ │ │ ├── ConnectorPackageService.java │ │ │ │ │ ├── IsolatedConnectorJarStorageStrategy.java │ │ │ │ │ ├── ServerConnectorPackageClient.java │ │ │ │ │ ├── SharedConnectorJarCleanupTask.java │ │ │ │ │ ├── SharedConnectorJarStorageStrategy.java │ │ │ │ │ └── StorageStrategyFactory.java │ │ │ │ └── slot │ │ │ │ │ ├── DefaultSlotService.java │ │ │ │ │ ├── SlotAndWorkerProfile.java │ │ │ │ │ ├── SlotContext.java │ │ │ │ │ ├── SlotService.java │ │ │ │ │ └── WrongTargetSlotException.java │ │ │ │ ├── task │ │ │ │ ├── AbstractTask.java │ │ │ │ ├── CoordinatorTask.java │ │ │ │ ├── Progress.java │ │ │ │ ├── SeaTunnelSourceCollector.java │ │ │ │ ├── SeaTunnelTask.java │ │ │ │ ├── SeaTunnelTransformCollector.java │ │ │ │ ├── SinkAggregatedCommitterTask.java │ │ │ │ ├── SourceSeaTunnelTask.java │ │ │ │ ├── SourceSplitEnumeratorTask.java │ │ │ │ ├── TaskGroupImmutableInformation.java │ │ │ │ ├── TaskRuntimeException.java │ │ │ │ ├── TransformSeaTunnelTask.java │ │ │ │ ├── context │ │ │ │ │ ├── SeaTunnelSplitEnumeratorContext.java │ │ │ │ │ ├── SinkWriterContext.java │ │ │ │ │ └── SourceReaderContext.java │ │ │ │ ├── flow │ │ │ │ │ ├── AbstractFlowLifeCycle.java │ │ │ │ │ ├── ActionFlowLifeCycle.java │ │ │ │ │ ├── FlowLifeCycle.java │ │ │ │ │ ├── IntermediateQueueFlowLifeCycle.java │ │ │ │ │ ├── OneInputFlowLifeCycle.java │ │ │ │ │ ├── OneOutputFlowLifeCycle.java │ │ │ │ │ ├── SinkFlowLifeCycle.java │ │ │ │ │ ├── SourceFlowLifeCycle.java │ │ │ │ │ └── TransformFlowLifeCycle.java │ │ │ │ ├── group │ │ │ │ │ ├── AbstractTaskGroupWithIntermediateQueue.java │ │ │ │ │ ├── TaskGroupWithIntermediateBlockingQueue.java │ │ │ │ │ ├── TaskGroupWithIntermediateDisruptor.java │ │ │ │ │ └── queue │ │ │ │ │ │ ├── AbstractIntermediateQueue.java │ │ │ │ │ │ ├── IntermediateBlockingQueue.java │ │ │ │ │ │ ├── IntermediateDisruptor.java │ │ │ │ │ │ └── disruptor │ │ │ │ │ │ ├── RecordEvent.java │ │ │ │ │ │ ├── RecordEventFactory.java │ │ │ │ │ │ ├── RecordEventHandler.java │ │ │ │ │ │ └── RecordEventProducer.java │ │ │ │ ├── operation │ │ │ │ │ ├── CancelTaskOperation.java │ │ │ │ │ ├── CheckTaskGroupIsExecutingOperation.java │ │ │ │ │ ├── CleanTaskGroupContextOperation.java │ │ │ │ │ ├── DeleteConnectorJarInExecutionNode.java │ │ │ │ │ ├── DeployTaskOperation.java │ │ │ │ │ ├── GetMetricsOperation.java │ │ │ │ │ ├── GetTaskGroupAddressOperation.java │ │ │ │ │ ├── GetTaskGroupMetricsOperation.java │ │ │ │ │ ├── NotifyTaskStatusOperation.java │ │ │ │ │ ├── SendConnectorJarToMemberNodeOperation.java │ │ │ │ │ ├── TaskOperation.java │ │ │ │ │ ├── TracingOperation.java │ │ │ │ │ ├── checkpoint │ │ │ │ │ │ ├── BarrierFlowOperation.java │ │ │ │ │ │ └── CloseRequestOperation.java │ │ │ │ │ ├── sink │ │ │ │ │ │ ├── SinkPrepareCommitOperation.java │ │ │ │ │ │ └── SinkRegisterOperation.java │ │ │ │ │ └── source │ │ │ │ │ │ ├── AssignSplitOperation.java │ │ │ │ │ │ ├── CloseIdleReaderOperation.java │ │ │ │ │ │ ├── LastCheckpointNotifyOperation.java │ │ │ │ │ │ ├── RequestSplitOperation.java │ │ │ │ │ │ ├── RestoredSplitOperation.java │ │ │ │ │ │ ├── SourceEventOperation.java │ │ │ │ │ │ ├── SourceNoMoreElementOperation.java │ │ │ │ │ │ ├── SourceReaderEventOperation.java │ │ │ │ │ │ └── SourceRegisterOperation.java │ │ │ │ ├── record │ │ │ │ │ └── Barrier.java │ │ │ │ └── statemachine │ │ │ │ │ └── SeaTunnelTaskState.java │ │ │ │ ├── telemetry │ │ │ │ ├── log │ │ │ │ │ ├── TaskLogManagerService.java │ │ │ │ │ └── operation │ │ │ │ │ │ └── CleanLogOperation.java │ │ │ │ └── metrics │ │ │ │ │ ├── AbstractCollector.java │ │ │ │ │ ├── ExportsInstanceInitializer.java │ │ │ │ │ ├── entity │ │ │ │ │ ├── JobCounter.java │ │ │ │ │ └── ThreadPoolStatus.java │ │ │ │ │ └── exports │ │ │ │ │ ├── ClusterMetricExports.java │ │ │ │ │ ├── JobMetricExports.java │ │ │ │ │ ├── JobThreadPoolStatusExports.java │ │ │ │ │ └── NodeMetricExports.java │ │ │ │ └── utils │ │ │ │ ├── NodeEngineUtil.java │ │ │ │ ├── PeekBlockingQueue.java │ │ │ │ ├── RestUtil.java │ │ │ │ └── SystemLoadCalculate.java │ │ └── resources │ │ │ ├── META-INF │ │ │ └── services │ │ │ │ ├── com.hazelcast.DataSerializerHook │ │ │ │ ├── com.hazelcast.SerializerHook │ │ │ │ └── com.hazelcast.client.impl.protocol.MessageTaskFactoryProvider │ │ │ └── hazelcast-client.yaml │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── engine │ │ │ └── server │ │ │ ├── AbstractSeaTunnelServerTest.java │ │ │ ├── ConnectorPackageServiceTest.java │ │ │ ├── CoordinatorServiceTest.java │ │ │ ├── CoordinatorServiceWithCancelPendingJobTest.java │ │ │ ├── TaskExecutionServiceTest.java │ │ │ ├── TestUtils.java │ │ │ ├── checkpoint │ │ │ ├── CheckpointCoordinatorTest.java │ │ │ ├── CheckpointErrorRestoreEndTest.java │ │ │ ├── CheckpointManagerTest.java │ │ │ ├── CheckpointPlanTest.java │ │ │ ├── CheckpointSerializeTest.java │ │ │ ├── CheckpointStorageTest.java │ │ │ ├── CheckpointTimeOutTest.java │ │ │ ├── SavePointTest.java │ │ │ └── StorageTest.java │ │ │ ├── dag │ │ │ └── TaskTest.java │ │ │ ├── event │ │ │ └── JobEventHttpReportHandlerTest.java │ │ │ ├── execution │ │ │ ├── BlockTask.java │ │ │ ├── ExceptionTestTask.java │ │ │ ├── FixedCallTestTimeTask.java │ │ │ ├── StopTimeTestTask.java │ │ │ └── TestTask.java │ │ │ ├── master │ │ │ ├── JobHistoryServiceTest.java │ │ │ ├── JobMasterTest.java │ │ │ └── JobMetricsTest.java │ │ │ ├── metrics │ │ │ └── MetricsApiTest.java │ │ │ ├── operation │ │ │ ├── ReturnRetryTimesOperation.java │ │ │ └── TestSerializerHook.java │ │ │ ├── resourcemanager │ │ │ ├── FakeResourceManager.java │ │ │ ├── FakeResourceManagerForRequestSlotRetryTest.java │ │ │ ├── FixSlotResourceTest.java │ │ │ ├── ResourceManagerTest.java │ │ │ └── WorkerTagTest.java │ │ │ ├── rest │ │ │ ├── RestApiHttpsForTruststoreTest.java │ │ │ ├── RestApiHttpsTest.java │ │ │ └── SSLUtils.java │ │ │ ├── task │ │ │ └── SourceSplitEnumeratorTaskTest.java │ │ │ └── utils │ │ │ ├── PeekBlockingQueueTest.java │ │ │ └── SystemLoadCalculateTest.java │ │ └── resources │ │ ├── batch_fakesource_to_file.conf │ │ ├── batch_fakesource_to_file_complex.conf │ │ ├── batch_fakesource_to_file_with_checkpoint.conf │ │ ├── batch_fakesource_to_inmemory_with_commit_error.conf │ │ ├── cancel_pending_job.conf │ │ ├── fake_to_console.conf │ │ ├── fake_to_console_job_metrics.conf │ │ ├── hazelcast-client.yaml │ │ ├── hazelcast.yaml │ │ ├── https │ │ ├── client_keystore.jks │ │ ├── client_truststore.jks │ │ ├── server_keystore.jks │ │ └── server_truststore.jks │ │ ├── log4j2-test.properties │ │ ├── mockito-extensions │ │ └── org.mockito.plugins.MockMaker │ │ ├── seatunnel.yaml │ │ ├── stream_fake_to_console.conf │ │ ├── stream_fake_to_console_biginterval.conf │ │ ├── stream_fake_to_console_checkpointTimeOut.conf │ │ ├── stream_fake_to_console_with_checkpoint.conf │ │ ├── stream_fake_to_inmemory_with_error.conf │ │ ├── stream_fake_to_inmemory_with_sleep.conf │ │ ├── stream_fakesource_to_file.conf │ │ └── stream_fakesource_to_file_savepoint.conf ├── seatunnel-engine-storage │ ├── checkpoint-storage-api │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── engine │ │ │ └── checkpoint │ │ │ └── storage │ │ │ ├── PipelineState.java │ │ │ ├── api │ │ │ ├── AbstractCheckpointStorage.java │ │ │ ├── CheckpointStorage.java │ │ │ └── CheckpointStorageFactory.java │ │ │ ├── common │ │ │ └── StorageThreadFactory.java │ │ │ ├── constants │ │ │ └── StorageConstants.java │ │ │ └── exception │ │ │ └── CheckpointStorageException.java │ ├── checkpoint-storage-plugins │ │ ├── checkpoint-storage-hdfs │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ ├── main │ │ │ │ └── java │ │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── engine │ │ │ │ │ └── checkpoint │ │ │ │ │ └── storage │ │ │ │ │ └── hdfs │ │ │ │ │ ├── HdfsStorage.java │ │ │ │ │ ├── HdfsStorageFactory.java │ │ │ │ │ └── common │ │ │ │ │ ├── AbstractConfiguration.java │ │ │ │ │ ├── CosConfiguration.java │ │ │ │ │ ├── FileConfiguration.java │ │ │ │ │ ├── HdfsConfiguration.java │ │ │ │ │ ├── HdfsFileStorageInstance.java │ │ │ │ │ ├── LocalConfiguration.java │ │ │ │ │ ├── OssConfiguration.java │ │ │ │ │ └── S3Configuration.java │ │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── engine │ │ │ │ └── checkpoint │ │ │ │ └── storage │ │ │ │ └── hdfs │ │ │ │ ├── AbstractFileCheckPointTest.java │ │ │ │ ├── HDFSFileCheckpointTest.java │ │ │ │ ├── LocalFileCheckPointTest.java │ │ │ │ ├── OssFileCheckpointTest.java │ │ │ │ └── S3FileCheckpointTest.java │ │ ├── checkpoint-storage-local-file │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ ├── main │ │ │ │ └── java │ │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── engine │ │ │ │ │ └── checkpoint │ │ │ │ │ └── storage │ │ │ │ │ └── localfile │ │ │ │ │ ├── LocalFileStorage.java │ │ │ │ │ └── LocalFileStorageFactory.java │ │ │ │ └── test │ │ │ │ ├── java │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── engine │ │ │ │ │ └── checkpoint │ │ │ │ │ └── storage │ │ │ │ │ └── localfile │ │ │ │ │ └── LocalFileStorageTest.java │ │ │ │ └── resources │ │ │ │ └── log4j2-test.properties │ │ └── pom.xml │ ├── imap-storage-api │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── engine │ │ │ └── imap │ │ │ └── storage │ │ │ └── api │ │ │ ├── IMapStorage.java │ │ │ ├── IMapStorageFactory.java │ │ │ └── exception │ │ │ └── IMapStorageException.java │ ├── imap-storage-plugins │ │ ├── imap-storage-file │ │ │ ├── pom.xml │ │ │ └── src │ │ │ │ ├── main │ │ │ │ └── java │ │ │ │ │ └── org │ │ │ │ │ └── apache │ │ │ │ │ └── seatunnel │ │ │ │ │ └── engine │ │ │ │ │ └── imap │ │ │ │ │ └── storage │ │ │ │ │ └── file │ │ │ │ │ ├── IMapFileStorage.java │ │ │ │ │ ├── IMapFileStorageFactory.java │ │ │ │ │ ├── bean │ │ │ │ │ ├── IMapData.java │ │ │ │ │ └── IMapFileData.java │ │ │ │ │ ├── common │ │ │ │ │ ├── FileConstants.java │ │ │ │ │ ├── WALDataUtils.java │ │ │ │ │ ├── WALReader.java │ │ │ │ │ └── WALWriter.java │ │ │ │ │ ├── config │ │ │ │ │ ├── AbstractConfiguration.java │ │ │ │ │ ├── FileConfiguration.java │ │ │ │ │ ├── HdfsConfiguration.java │ │ │ │ │ ├── OssConfiguration.java │ │ │ │ │ └── S3Configuration.java │ │ │ │ │ ├── disruptor │ │ │ │ │ ├── FileWALEvent.java │ │ │ │ │ ├── WALDisruptor.java │ │ │ │ │ ├── WALEventType.java │ │ │ │ │ └── WALWorkHandler.java │ │ │ │ │ ├── future │ │ │ │ │ ├── RequestFuture.java │ │ │ │ │ └── RequestFutureCache.java │ │ │ │ │ ├── scheduler │ │ │ │ │ └── SchedulerTaskInfo.java │ │ │ │ │ └── wal │ │ │ │ │ ├── DiscoveryWalFileFactory.java │ │ │ │ │ ├── reader │ │ │ │ │ ├── DefaultReader.java │ │ │ │ │ └── IFileReader.java │ │ │ │ │ └── writer │ │ │ │ │ ├── CloudWriter.java │ │ │ │ │ ├── HdfsWriter.java │ │ │ │ │ ├── IFileWriter.java │ │ │ │ │ ├── OssWriter.java │ │ │ │ │ └── S3Writer.java │ │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── engine │ │ │ │ └── imap │ │ │ │ └── storage │ │ │ │ └── file │ │ │ │ ├── IMapFileOSSStorageTest.java │ │ │ │ ├── IMapFileStorageTest.java │ │ │ │ ├── common │ │ │ │ └── WALReaderAndWriterTest.java │ │ │ │ └── disruptor │ │ │ │ └── WALDisruptorTest.java │ │ └── pom.xml │ └── pom.xml └── seatunnel-engine-ui │ ├── .env.development │ ├── .env.production │ ├── .eslintrc.cjs │ ├── .gitignore │ ├── .prettierrc.json │ ├── README.md │ ├── cypress.config.ts │ ├── cypress │ ├── e2e │ │ ├── example.cy.ts │ │ └── tsconfig.json │ ├── fixtures │ │ └── example.json │ └── support │ │ ├── commands.ts │ │ └── e2e.ts │ ├── env.d.ts │ ├── index.html │ ├── package-lock.json │ ├── package.json │ ├── pom.xml │ ├── postcss.config.js │ ├── public │ └── favicon.ico │ ├── src │ ├── App.tsx │ ├── assets │ │ ├── logo.png │ │ ├── main.scss │ │ ├── style.scss │ │ └── tailwind.scss │ ├── components │ │ ├── configuration │ │ │ └── index.tsx │ │ ├── directed-acyclic-graph │ │ │ ├── index.scss │ │ │ └── index.tsx │ │ └── job-log │ │ │ └── index.tsx │ ├── layouts │ │ └── main │ │ │ ├── header │ │ │ ├── index.tsx │ │ │ ├── info │ │ │ │ └── index.tsx │ │ │ └── logo │ │ │ │ └── index.tsx │ │ │ ├── index.tsx │ │ │ └── sidebar │ │ │ ├── index.module.scss │ │ │ └── index.tsx │ ├── locales │ │ ├── en_US │ │ │ ├── common.ts │ │ │ ├── detail.ts │ │ │ ├── index.ts │ │ │ ├── jobs.ts │ │ │ ├── managers.ts │ │ │ └── menu.ts │ │ ├── index.ts │ │ └── zh_CN │ │ │ ├── common.ts │ │ │ ├── detail.ts │ │ │ ├── index.ts │ │ │ ├── jobs.ts │ │ │ ├── managers.ts │ │ │ └── menu.ts │ ├── main.ts │ ├── router │ │ ├── index.ts │ │ └── routes.ts │ ├── service │ │ ├── job-log │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── job │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── manager │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── overview │ │ │ ├── index.ts │ │ │ └── types.ts │ │ ├── service.ts │ │ └── types.ts │ ├── store │ │ ├── counter.ts │ │ └── setting │ │ │ ├── index.ts │ │ │ └── types.ts │ ├── tests │ │ ├── jobs.spec.ts │ │ ├── managers.spec.ts │ │ ├── overview.spec.ts │ │ ├── remain-time.spec.ts │ │ └── setting.spec.ts │ ├── utils │ │ ├── getTypeFromStatus.ts │ │ ├── log.ts │ │ └── time.ts │ └── views │ │ ├── jobs │ │ ├── detail.scss │ │ ├── detail.tsx │ │ ├── finished-jobs.tsx │ │ ├── index.tsx │ │ └── running-jobs.tsx │ │ ├── managers │ │ └── index.tsx │ │ └── overview │ │ ├── baseInfo.tsx │ │ └── index.tsx │ ├── tailwind.config.js │ ├── tsconfig.app.json │ ├── tsconfig.json │ ├── tsconfig.node.json │ ├── tsconfig.vitest.json │ ├── vite.config.ts │ └── vitest.config.ts ├── seatunnel-examples ├── pom.xml ├── seatunnel-engine-examples │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── example │ │ │ └── engine │ │ │ ├── SeaTunnelEngineClusterClientExample.java │ │ │ ├── SeaTunnelEngineClusterServerExample.java │ │ │ └── SeaTunnelEngineLocalExample.java │ │ └── resources │ │ ├── examples │ │ └── fake_to_console.conf │ │ └── log4j2.properties ├── seatunnel-flink-connector-v2-example │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── example │ │ │ └── flink │ │ │ └── v2 │ │ │ └── SeaTunnelApiExample.java │ │ └── resources │ │ ├── examples │ │ └── fake_to_console.conf │ │ └── log4j2.properties └── seatunnel-spark-connector-v2-example │ ├── pom.xml │ └── src │ ├── README.md │ ├── img.png │ └── main │ ├── java │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── example │ │ └── spark │ │ └── v2 │ │ ├── ExampleUtils.java │ │ └── SeaTunnelApiExample.java │ └── resources │ ├── examples │ └── spark.batch.conf │ └── log4j2.properties ├── seatunnel-formats ├── pom.xml ├── seatunnel-format-avro │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── format │ │ │ └── avro │ │ │ ├── AvroDeserializationSchema.java │ │ │ ├── AvroSerializationSchema.java │ │ │ ├── AvroToRowConverter.java │ │ │ ├── RowToAvroConverter.java │ │ │ ├── SeaTunnelRowTypeToAvroSchemaConverter.java │ │ │ └── exception │ │ │ ├── AvroFormatErrorCode.java │ │ │ └── SeaTunnelAvroFormatException.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── format │ │ └── avro │ │ ├── AvroConverterTest.java │ │ └── AvroSerializationSchemaTest.java ├── seatunnel-format-compatible-connect-json │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── format │ │ └── compatible │ │ └── kafka │ │ └── connect │ │ └── json │ │ ├── CompatibleKafkaConnectDeserializationSchema.java │ │ ├── KafkaConnectJsonFormatOptions.java │ │ └── NativeKafkaConnectDeserializationSchema.java ├── seatunnel-format-compatible-debezium-json │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── format │ │ │ └── compatible │ │ │ └── debezium │ │ │ └── json │ │ │ ├── CompatibleDebeziumJsonDeserializationSchema.java │ │ │ ├── CompatibleDebeziumJsonSerializationSchema.java │ │ │ └── DebeziumJsonConverter.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── format │ │ └── compatible │ │ └── debezium │ │ └── json │ │ ├── TestCompatibleDebeziumJsonDeserializationSchema.java │ │ ├── TestCompatibleDebeziumJsonSerializationSchema.java │ │ └── TestDebeziumJsonConverter.java ├── seatunnel-format-csv │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── format │ │ │ └── csv │ │ │ ├── CsvDeserializationSchema.java │ │ │ ├── CsvSerializationSchema.java │ │ │ ├── constant │ │ │ ├── CsvFormatConstant.java │ │ │ └── CsvStringQuoteMode.java │ │ │ ├── exception │ │ │ └── SeaTunnelCsvFormatException.java │ │ │ └── processor │ │ │ ├── CsvLineProcessor.java │ │ │ └── DefaultCsvLineProcessor.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── format │ │ │ └── csv │ │ │ ├── CsvTextFormatSchemaTest.java │ │ │ └── processor │ │ │ └── CsvLineProcessorTest.java │ │ └── resources │ │ └── testdata.csv ├── seatunnel-format-json │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── format │ │ │ └── json │ │ │ ├── JsonDeserializationSchema.java │ │ │ ├── JsonFormatOptions.java │ │ │ ├── JsonSerializationSchema.java │ │ │ ├── JsonToRowConverters.java │ │ │ ├── RowToJsonConverters.java │ │ │ ├── TimeFormat.java │ │ │ ├── canal │ │ │ ├── CanalJsonDeserializationSchema.java │ │ │ ├── CanalJsonFormatOptions.java │ │ │ └── CanalJsonSerializationSchema.java │ │ │ ├── debezium │ │ │ ├── DebeziumJsonDeserializationSchema.java │ │ │ ├── DebeziumJsonDeserializationSchemaDispatcher.java │ │ │ ├── DebeziumJsonFormatOptions.java │ │ │ ├── DebeziumJsonSerializationSchema.java │ │ │ └── DebeziumRowConverter.java │ │ │ ├── exception │ │ │ └── SeaTunnelJsonFormatException.java │ │ │ ├── maxwell │ │ │ ├── MaxWellJsonDeserializationSchema.java │ │ │ ├── MaxWellJsonFormatOptions.java │ │ │ └── MaxWellJsonSerializationSchema.java │ │ │ └── ogg │ │ │ ├── OggJsonDeserializationSchema.java │ │ │ ├── OggJsonFormatOptions.java │ │ │ └── OggJsonSerializationSchema.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── format │ │ │ └── json │ │ │ ├── JsonRowDataSerDeSchemaTest.java │ │ │ ├── canal │ │ │ └── CanalJsonSerDeSchemaTest.java │ │ │ ├── debezium │ │ │ ├── DebeziumJsonDeserializationSchemaDispatcherTest.java │ │ │ └── DebeziumJsonSerDeSchemaTest.java │ │ │ ├── maxwell │ │ │ └── MaxWellJsonSerDeSchemaTest.java │ │ │ └── ogg │ │ │ └── OggJsonSerDeSchemaTest.java │ │ └── resources │ │ ├── canal-data-filter-table.txt │ │ ├── debezium-data.txt │ │ ├── debezium-mysql.txt │ │ ├── debezium-oracle.txt │ │ ├── debezium-postgresql.txt │ │ ├── debezium-sqlserver.txt │ │ ├── maxwell-data-filter-table.txt │ │ └── ogg-data-filter-table.txt ├── seatunnel-format-protobuf │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── format │ │ │ └── protobuf │ │ │ ├── CompileDescriptor.java │ │ │ ├── ProtobufDeserializationSchema.java │ │ │ ├── ProtobufSerializationSchema.java │ │ │ ├── ProtobufToRowConverter.java │ │ │ ├── RowToProtobufConverter.java │ │ │ └── exception │ │ │ ├── ProtobufFormatErrorCode.java │ │ │ └── SeaTunnelProtobufFormatException.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── format │ │ └── protobuf │ │ └── ProtobufConverterTest.java └── seatunnel-format-text │ ├── pom.xml │ └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── format │ │ └── text │ │ ├── TextDeserializationSchema.java │ │ ├── TextSerializationSchema.java │ │ ├── constant │ │ └── TextFormatConstant.java │ │ ├── exception │ │ └── SeaTunnelTextFormatException.java │ │ └── splitor │ │ ├── CsvLineSplitor.java │ │ ├── DefaultTextLineSplitor.java │ │ └── TextLineSplitor.java │ └── test │ └── java │ └── org │ └── apache │ └── seatunnel │ └── format │ └── text │ ├── CsvTextFormatSchemaTest.java │ └── TextFormatSchemaTest.java ├── seatunnel-plugin-discovery ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── plugin │ │ └── discovery │ │ ├── AbstractPluginDiscovery.java │ │ ├── PluginDiscovery.java │ │ └── seatunnel │ │ ├── SeaTunnelFactoryDiscovery.java │ │ ├── SeaTunnelSinkPluginDiscovery.java │ │ ├── SeaTunnelSourcePluginDiscovery.java │ │ └── SeaTunnelTransformPluginDiscovery.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── plugin │ │ └── discovery │ │ ├── AbstractPluginDiscoveryTest.java │ │ └── seatunnel │ │ └── SeaTunnelSourcePluginDiscoveryTest.java │ └── resources │ ├── duplicate │ └── connectors │ │ └── plugin-mapping.properties │ └── home │ └── connectors │ └── plugin-mapping.properties ├── seatunnel-shade ├── pom.xml ├── seatunnel-arrow │ └── pom.xml ├── seatunnel-guava │ └── pom.xml ├── seatunnel-hadoop-aws │ └── pom.xml ├── seatunnel-hadoop3-3.1.4-uber │ └── pom.xml ├── seatunnel-hazelcast │ ├── pom.xml │ ├── seatunnel-hazelcast-base │ │ └── pom.xml │ └── seatunnel-hazelcast-shade │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── hazelcast │ │ ├── cluster │ │ └── impl │ │ │ └── MemberImpl.java │ │ └── internal │ │ └── cluster │ │ └── impl │ │ ├── ClusterServiceImpl.java │ │ ├── MemberMap.java │ │ └── MembershipManager.java ├── seatunnel-hikari │ └── pom.xml ├── seatunnel-jackson │ └── pom.xml ├── seatunnel-janino │ └── pom.xml ├── seatunnel-jetty9-9.4.56 │ └── pom.xml └── seatunnel-thrift-service │ └── pom.xml ├── seatunnel-transforms-v2 ├── README.md ├── README.zh.md ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── transform │ │ ├── adaptsink │ │ ├── DefineSinkTypeMultiCatalogTransform.java │ │ ├── DefineSinkTypeTransform.java │ │ ├── DefineSinkTypeTransformConfig.java │ │ └── DefineSinkTypeTransformFactory.java │ │ ├── common │ │ ├── AbstractCatalogSupportFlatMapTransform.java │ │ ├── AbstractCatalogSupportMapTransform.java │ │ ├── AbstractMultiCatalogFlatMapTransform.java │ │ ├── AbstractMultiCatalogMapTransform.java │ │ ├── AbstractMultiCatalogTransform.java │ │ ├── AbstractSeaTunnelTransform.java │ │ ├── ErrorHandleWay.java │ │ ├── FilterRowTransform.java │ │ ├── MultipleFieldOutputTransform.java │ │ ├── SeaTunnelRowAccessor.java │ │ ├── SeaTunnelRowContainerGenerator.java │ │ ├── SingleFieldOutputTransform.java │ │ └── TransformCommonOptions.java │ │ ├── copy │ │ ├── CopyFieldMultiCatalogTransform.java │ │ ├── CopyFieldTransform.java │ │ ├── CopyFieldTransformFactory.java │ │ └── CopyTransformConfig.java │ │ ├── dynamiccompile │ │ ├── CompileLanguage.java │ │ ├── CompilePattern.java │ │ ├── CompileTransformErrorCode.java │ │ ├── DynamicCompileMultiCatalogTransform.java │ │ ├── DynamicCompileTransform.java │ │ ├── DynamicCompileTransformConfig.java │ │ ├── DynamicCompileTransformFactory.java │ │ └── parse │ │ │ ├── AbstractParse.java │ │ │ ├── AbstractParser.java │ │ │ ├── GroovyClassParse.java │ │ │ ├── GroovyClassParser.java │ │ │ ├── JavaClassParse.java │ │ │ └── JavaClassParser.java │ │ ├── exception │ │ ├── ErrorDataTransformException.java │ │ ├── JsonPathTransformErrorCode.java │ │ ├── TransformCommonError.java │ │ ├── TransformCommonErrorCode.java │ │ └── TransformException.java │ │ ├── fieldmapper │ │ ├── FieldMapperMultiCatalogTransform.java │ │ ├── FieldMapperTransform.java │ │ ├── FieldMapperTransformConfig.java │ │ └── FieldMapperTransformFactory.java │ │ ├── filter │ │ ├── FieldFieldMultiCatalogTransform.java │ │ ├── FilterFieldTransform.java │ │ ├── FilterFieldTransformConfig.java │ │ └── FilterFieldTransformFactory.java │ │ ├── filterrowkind │ │ ├── FieldRowKindMultiCatalogTransform.java │ │ ├── FilterRowKindTransform.java │ │ ├── FilterRowKindTransformFactory.java │ │ └── FilterRowKinkTransformConfig.java │ │ ├── jsonpath │ │ ├── ColumnConfig.java │ │ ├── JsonPathMultiCatalogTransform.java │ │ ├── JsonPathTransform.java │ │ ├── JsonPathTransformConfig.java │ │ └── JsonPathTransformFactory.java │ │ ├── metadata │ │ ├── MetadataMultiCatalogTransform.java │ │ ├── MetadataTransform.java │ │ ├── MetadataTransformConfig.java │ │ └── MetadataTransformFactory.java │ │ ├── nlpmodel │ │ ├── CustomConfigPlaceholder.java │ │ ├── ModelProvider.java │ │ ├── ModelTransformConfig.java │ │ ├── embedding │ │ │ ├── EmbeddingMultiCatalogTransform.java │ │ │ ├── EmbeddingTransform.java │ │ │ ├── EmbeddingTransformConfig.java │ │ │ ├── EmbeddingTransformFactory.java │ │ │ └── remote │ │ │ │ ├── AbstractModel.java │ │ │ │ ├── Model.java │ │ │ │ ├── amazon │ │ │ │ └── BedrockModel.java │ │ │ │ ├── custom │ │ │ │ └── CustomModel.java │ │ │ │ ├── doubao │ │ │ │ └── DoubaoModel.java │ │ │ │ ├── openai │ │ │ │ └── OpenAIModel.java │ │ │ │ ├── qianfan │ │ │ │ └── QianfanModel.java │ │ │ │ └── zhipu │ │ │ │ └── ZhipuModel.java │ │ └── llm │ │ │ ├── LLMMultiCatalogTransform.java │ │ │ ├── LLMTransform.java │ │ │ ├── LLMTransformConfig.java │ │ │ ├── LLMTransformFactory.java │ │ │ └── remote │ │ │ ├── AbstractModel.java │ │ │ ├── Model.java │ │ │ ├── custom │ │ │ └── CustomModel.java │ │ │ ├── kimiai │ │ │ └── KimiAIModel.java │ │ │ ├── microsoft │ │ │ └── MicrosoftModel.java │ │ │ └── openai │ │ │ └── OpenAIModel.java │ │ ├── rename │ │ ├── ConvertCase.java │ │ ├── FieldRenameConfig.java │ │ ├── FieldRenameMultiCatalogTransform.java │ │ ├── FieldRenameTransform.java │ │ ├── FieldRenameTransformFactory.java │ │ ├── TableRenameConfig.java │ │ ├── TableRenameMultiCatalogTransform.java │ │ ├── TableRenameTransform.java │ │ └── TableRenameTransformFactory.java │ │ ├── replace │ │ ├── ReplaceMultiCatalogTransform.java │ │ ├── ReplaceTransform.java │ │ ├── ReplaceTransformConfig.java │ │ └── ReplaceTransformFactory.java │ │ ├── rowkind │ │ ├── RowKindExtractorMultiCatalogTransform.java │ │ ├── RowKindExtractorTransform.java │ │ ├── RowKindExtractorTransformConfig.java │ │ ├── RowKindExtractorTransformFactory.java │ │ └── RowKindExtractorTransformType.java │ │ ├── split │ │ ├── SplitMultiCatalogTransform.java │ │ ├── SplitTransform.java │ │ ├── SplitTransformConfig.java │ │ └── SplitTransformFactory.java │ │ ├── sql │ │ ├── SQLEngine.java │ │ ├── SQLEngineFactory.java │ │ ├── SQLMultiCatalogFlatMapTransform.java │ │ ├── SQLTransform.java │ │ ├── SQLTransformFactory.java │ │ └── zeta │ │ │ ├── ZetaSQLEngine.java │ │ │ ├── ZetaSQLFilter.java │ │ │ ├── ZetaSQLFunction.java │ │ │ ├── ZetaSQLType.java │ │ │ ├── ZetaUDF.java │ │ │ └── functions │ │ │ ├── ArrayFunction.java │ │ │ ├── DateTimeFunction.java │ │ │ ├── NumericFunction.java │ │ │ ├── StringFunction.java │ │ │ ├── SystemFunction.java │ │ │ └── udf │ │ │ ├── DESUtil.java │ │ │ ├── DesDecrypt.java │ │ │ └── DesEncrypt.java │ │ └── table │ │ ├── TableFilterConfig.java │ │ ├── TableFilterMultiCatalogTransform.java │ │ ├── TableFilterTransform.java │ │ ├── TableFilterTransformFactory.java │ │ ├── TableMergeConfig.java │ │ ├── TableMergeMultiCatalogTransform.java │ │ ├── TableMergeTransform.java │ │ └── TableMergeTransformFactory.java │ └── test │ └── java │ └── org │ └── apache │ └── seatunnel │ └── transform │ ├── CopyFieldTransformFactoryTest.java │ ├── EmbeddingTransformFactoryTest.java │ ├── FieldMapperTransformFactoryTest.java │ ├── FilterFieldTransformFactoryTest.java │ ├── FilterRowKindTransformFactoryTest.java │ ├── JsonPathTransformTest.java │ ├── LLMTransformFactoryTest.java │ ├── ReplaceTransformFactoryTest.java │ ├── RowKindExtractorTransformFactoryTest.java │ ├── SplitTransformFactoryTest.java │ ├── adaptsink │ └── DefineSinkTypeTransformTest.java │ ├── embedding │ └── EmbeddingRequestJsonTest.java │ ├── exception │ └── TransformErrorTest.java │ ├── fieldmapper │ └── FieldMapperTransformTest.java │ ├── filter │ └── FilterFieldTransformTest.java │ ├── llm │ └── LLMRequestJsonTest.java │ ├── metadata │ └── MetadataTransformTest.java │ ├── rename │ ├── FieldRenameTransformTest.java │ └── TableRenameTransformTest.java │ ├── rowkind │ └── RowKindExtractorTransformTest.java │ └── sql │ ├── SQLTransformTest.java │ └── zeta │ ├── CastFunctionTest.java │ ├── ConcatWsFunctionTest.java │ ├── DateTimeFunctionTest.java │ └── ExtractFunctionTest.java ├── seatunnel-translation ├── pom.xml ├── seatunnel-translation-base │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── translation │ │ │ ├── serialization │ │ │ ├── RowConverter.java │ │ │ └── SerializerConverter.java │ │ │ ├── sink │ │ │ ├── SinkAggregatedCommitterConverter.java │ │ │ ├── SinkCommitterConverter.java │ │ │ ├── SinkConverter.java │ │ │ └── SinkWriterConverter.java │ │ │ ├── source │ │ │ ├── BaseSourceFunction.java │ │ │ ├── CoordinatedEnumeratorContext.java │ │ │ ├── CoordinatedReaderContext.java │ │ │ ├── CoordinatedSource.java │ │ │ ├── ParallelEnumeratorContext.java │ │ │ ├── ParallelReaderContext.java │ │ │ └── ParallelSource.java │ │ │ └── util │ │ │ └── ThreadPoolExecutorFactory.java │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── translation │ │ └── source │ │ └── ParallelSourceTest.java ├── seatunnel-translation-flink │ ├── pom.xml │ ├── seatunnel-translation-flink-13 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── translation │ │ │ └── flink │ │ │ ├── metric │ │ │ ├── FlinkGroupCounter.java │ │ │ └── FlinkMetricContext.java │ │ │ └── sink │ │ │ └── FlinkSinkWriterContext.java │ ├── seatunnel-translation-flink-15 │ │ └── pom.xml │ └── seatunnel-translation-flink-common │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── translation │ │ └── flink │ │ ├── metric │ │ ├── FlinkCounter.java │ │ ├── FlinkJobMetricsSummary.java │ │ ├── FlinkMeter.java │ │ └── FlinkMetricContext.java │ │ ├── serialization │ │ ├── CommitWrapperSerializer.java │ │ ├── FlinkSimpleVersionedSerializer.java │ │ └── FlinkWriterStateSerializer.java │ │ ├── sink │ │ ├── CommitWrapper.java │ │ ├── FlinkCommitter.java │ │ ├── FlinkGlobalCommitter.java │ │ ├── FlinkSink.java │ │ ├── FlinkSinkWriter.java │ │ ├── FlinkSinkWriterContext.java │ │ └── FlinkWriterState.java │ │ └── source │ │ ├── FlinkRowCollector.java │ │ ├── FlinkSource.java │ │ ├── FlinkSourceEnumerator.java │ │ ├── FlinkSourceReader.java │ │ ├── FlinkSourceReaderContext.java │ │ ├── FlinkSourceSplitEnumeratorContext.java │ │ ├── NoMoreElementEvent.java │ │ ├── SourceEventWrapper.java │ │ ├── SplitWrapper.java │ │ └── SplitWrapperSerializer.java └── seatunnel-translation-spark │ ├── pom.xml │ ├── seatunnel-translation-spark-2.4 │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── seatunnel │ │ │ └── translation │ │ │ └── spark │ │ │ ├── sink │ │ │ ├── SparkSink.java │ │ │ ├── SparkSinkInjector.java │ │ │ └── writer │ │ │ │ ├── SparkDataSourceWriter.java │ │ │ │ ├── SparkDataWriter.java │ │ │ │ ├── SparkDataWriterFactory.java │ │ │ │ ├── SparkStreamWriter.java │ │ │ │ └── SparkWriterCommitMessage.java │ │ │ └── source │ │ │ ├── SeaTunnelSourceSupport.java │ │ │ ├── partition │ │ │ ├── batch │ │ │ │ └── BatchPartition.java │ │ │ └── micro │ │ │ │ └── MicroBatchPartition.java │ │ │ ├── reader │ │ │ ├── SeaTunnelInputPartitionReader.java │ │ │ ├── batch │ │ │ │ ├── BatchSourceReader.java │ │ │ │ ├── CoordinatedBatchPartitionReader.java │ │ │ │ └── ParallelBatchPartitionReader.java │ │ │ └── micro │ │ │ │ ├── CoordinatedMicroBatchPartitionReader.java │ │ │ │ ├── MicroBatchSourceReader.java │ │ │ │ └── ParallelMicroBatchPartitionReader.java │ │ │ └── state │ │ │ ├── MicroBatchState.java │ │ │ └── ReaderState.java │ │ └── resources │ │ └── META-INF │ │ └── services │ │ └── org.apache.spark.sql.sources.DataSourceRegister │ ├── seatunnel-translation-spark-3.3 │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── seatunnel │ │ │ │ └── translation │ │ │ │ └── spark │ │ │ │ ├── sink │ │ │ │ ├── SeaTunnelBatchWrite.java │ │ │ │ ├── SeaTunnelSinkTable.java │ │ │ │ ├── SeaTunnelSparkSink.java │ │ │ │ ├── SparkSinkInjector.java │ │ │ │ └── write │ │ │ │ │ ├── SeaTunnelSparkDataWriter.java │ │ │ │ │ ├── SeaTunnelSparkDataWriterFactory.java │ │ │ │ │ ├── SeaTunnelSparkWriterCommitMessage.java │ │ │ │ │ ├── SeaTunnelWrite.java │ │ │ │ │ └── SeaTunnelWriteBuilder.java │ │ │ │ └── source │ │ │ │ ├── SeaTunnelSourceTable.java │ │ │ │ ├── SeaTunnelSparkSource.java │ │ │ │ ├── partition │ │ │ │ ├── batch │ │ │ │ │ ├── CoordinatedBatchPartitionReader.java │ │ │ │ │ ├── ParallelBatchPartitionReader.java │ │ │ │ │ ├── SeaTunnelBatch.java │ │ │ │ │ ├── SeaTunnelBatchInputPartition.java │ │ │ │ │ ├── SeaTunnelBatchPartitionReader.java │ │ │ │ │ └── SeaTunnelBatchPartitionReaderFactory.java │ │ │ │ └── micro │ │ │ │ │ ├── CoordinatedMicroBatchPartitionReader.java │ │ │ │ │ ├── ParallelMicroBatchPartitionReader.java │ │ │ │ │ ├── ReaderState.java │ │ │ │ │ ├── SeaTunnelMicroBatch.java │ │ │ │ │ ├── SeaTunnelMicroBatchInputPartition.java │ │ │ │ │ ├── SeaTunnelMicroBatchPartitionReader.java │ │ │ │ │ ├── SeaTunnelMicroBatchPartitionReaderFactory.java │ │ │ │ │ └── SeaTunnelOffset.java │ │ │ │ └── scan │ │ │ │ ├── SeaTunnelScan.java │ │ │ │ └── SeaTunnelScanBuilder.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── services │ │ │ └── org.apache.spark.sql.sources.DataSourceRegister │ │ └── test │ │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── translation │ │ └── spark │ │ └── sink │ │ ├── SeaTunnelSinkWithBuffer.java │ │ ├── SeaTunnelSinkWithBufferWriter.java │ │ └── SparkSinkTest.java │ └── seatunnel-translation-spark-common │ ├── pom.xml │ └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── seatunnel │ │ └── translation │ │ └── spark │ │ ├── execution │ │ ├── ColumnWithIndex.java │ │ ├── DatasetTableInfo.java │ │ ├── IndexQueue.java │ │ └── MultiTableManager.java │ │ ├── serialization │ │ ├── InternalMultiRowCollector.java │ │ ├── InternalRowCollector.java │ │ ├── InternalRowConverter.java │ │ └── SeaTunnelRowConverter.java │ │ └── utils │ │ ├── InstantConverterUtils.java │ │ ├── OffsetDateTimeUtils.java │ │ └── TypeConverterUtils.java │ └── test │ └── java │ └── org │ └── apache │ └── seatunnel │ └── translation │ └── spark │ └── execution │ └── MultiTableManagerTest.java └── tools ├── dependencies ├── checkLicense.sh ├── known-dependencies.txt └── license.py ├── documents ├── sync.sh └── update_connector_change_log.py ├── github └── free_disk_space.sh ├── spotless_check └── pre-commit.sh └── update_modules_check ├── check_file_updates.py └── update_modules_check.py /.dlc.json: -------------------------------------------------------------------------------- 1 | { 2 | "ignorePatterns": [ 3 | { 4 | "pattern": "^http://localhost" 5 | }, 6 | { 7 | "pattern": "^https://mvnrepository.com" 8 | }, 9 | { 10 | "pattern": "^https://www.qutoutiao.net" 11 | }, 12 | { 13 | "pattern": "^https://img.shields.io" 14 | }, 15 | { 16 | "pattern": "^https://json.org/" 17 | }, 18 | { 19 | "pattern": "^/docs/category" 20 | }, 21 | { 22 | "pattern": "^https://opencollective.com" 23 | }, 24 | { 25 | "pattern": "^https://twitter.com/ASFSeaTunnel" 26 | }, 27 | { 28 | "pattern": "^https://github.com/apache/seatunnel/commit/" 29 | } 30 | ], 31 | "timeout": "10s", 32 | "retryOn429": true, 33 | "retryCount": 10, 34 | "fallbackRetryDelay": "1000s", 35 | "aliveStatusCodes": [ 36 | 0, 37 | 200, 38 | 401, 39 | 403 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.sh text eol=lf 2 | -------------------------------------------------------------------------------- /.github/workflows/build_main.yml: -------------------------------------------------------------------------------- 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, 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 | 20 | name: "Build" 21 | 22 | on: 23 | push: 24 | branches: 25 | - '**' 26 | 27 | jobs: 28 | call-build-and-test: 29 | permissions: 30 | packages: write 31 | name: Run 32 | uses: ./.github/workflows/backend.yml 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Package Files # 2 | *.jar 3 | *.zip 4 | *.tar.gz 5 | 6 | # see JDK-8214300 7 | .attach_pid* 8 | 9 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 10 | hs_err_pid* 11 | 12 | # build targets 13 | target/ 14 | 15 | # Log file 16 | *.log 17 | /logs 18 | logs.zip 19 | 20 | # Intellij Idea files 21 | .idea/ 22 | *.iml 23 | .idea/* 24 | 25 | .DS_Store 26 | 27 | metastore_db/ 28 | 29 | work_dir 30 | 31 | all-dependencies.txt 32 | self-modules.txt 33 | third-party-dependencies.txt 34 | 35 | *.keytab 36 | /derby.log 37 | 38 | dependency-reduced-pom.xml 39 | 40 | apidoc 41 | 42 | # Python 43 | *.py[cod] 44 | 45 | Test.java 46 | Test.scala 47 | test.conf 48 | spark-warehouse 49 | *.flattened-pom.xml 50 | 51 | seatunnel-examples 52 | 53 | # vscode 54 | .vscode 55 | 56 | /lib/* 57 | version.properties 58 | node/ 59 | 60 | dist/ 61 | 62 | seatunnel-engine/seatunnel-engine-server/**/ui/* -------------------------------------------------------------------------------- /.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/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/.idea/icon.png -------------------------------------------------------------------------------- /.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 | 18 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip 19 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 20 | -------------------------------------------------------------------------------- /config/jvm_client_options: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | # JVM Heap 19 | -Xms256m 20 | -Xmx512m 21 | 22 | # JVM Dump 23 | -XX:+HeapDumpOnOutOfMemoryError 24 | -XX:HeapDumpPath=/tmp/seatunnel/dump/zeta-client -------------------------------------------------------------------------------- /config/jvm_master_options: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | # JVM Heap 19 | # -Xms2g 20 | # -Xmx2g 21 | 22 | # JVM Dump 23 | -XX:+HeapDumpOnOutOfMemoryError 24 | -XX:HeapDumpPath=/tmp/seatunnel/dump/zeta-server 25 | 26 | # Metaspace 27 | -XX:MaxMetaspaceSize=2g 28 | 29 | # G1GC 30 | -XX:+UseG1GC 31 | -------------------------------------------------------------------------------- /config/jvm_options: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | # JVM Heap 19 | # -Xms2g 20 | # -Xmx2g 21 | 22 | # JVM Dump 23 | -XX:+HeapDumpOnOutOfMemoryError 24 | -XX:HeapDumpPath=/tmp/seatunnel/dump/zeta-server 25 | 26 | # Metaspace 27 | -XX:MaxMetaspaceSize=2g 28 | 29 | # G1GC 30 | -XX:+UseG1GC 31 | -------------------------------------------------------------------------------- /config/jvm_worker_options: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | # JVM Heap 19 | # -Xms2g 20 | # -Xmx2g 21 | 22 | # JVM Dump 23 | -XX:+HeapDumpOnOutOfMemoryError 24 | -XX:HeapDumpPath=/tmp/seatunnel/dump/zeta-server 25 | 26 | # Metaspace 27 | -XX:MaxMetaspaceSize=2g 28 | 29 | # G1GC 30 | -XX:+UseG1GC 31 | -------------------------------------------------------------------------------- /config/seatunnel-env.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | REM Licensed to the Apache Software Foundation (ASF) under one or more 3 | REM contributor license agreements. See the NOTICE file distributed with 4 | REM this work for additional information regarding copyright ownership. 5 | REM The ASF licenses this file to You under the Apache License, Version 2.0 6 | REM (the "License"); you may not use this file except in compliance with 7 | REM the License. You may obtain a copy of the License at 8 | REM 9 | REM http://www.apache.org/licenses/LICENSE-2.0 10 | REM 11 | REM Unless required by applicable law or agreed to in writing, software 12 | REM distributed under the License is distributed on an "AS IS" BASIS, 13 | REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | REM See the License for the specific language governing permissions and 15 | REM limitations under the License. 16 | 17 | REM Home directory of spark distribution. 18 | if "%SPARK_HOME%" == "" set "SPARK_HOME=C:\Program Files\spark" 19 | 20 | REM Home directory of flink distribution. 21 | if "%FLINK_HOME%" == "" set "FLINK_HOME=C:\Program Files\flink" -------------------------------------------------------------------------------- /config/seatunnel-env.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one or more 4 | # contributor license agreements. See the NOTICE file distributed with 5 | # this work for additional information regarding copyright ownership. 6 | # The ASF licenses this file to You under the Apache License, Version 2.0 7 | # (the "License"); you may not use this file except in compliance with 8 | # 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 | # Home directory of spark distribution. 20 | SPARK_HOME=${SPARK_HOME:-/opt/spark} 21 | # Home directory of flink distribution. 22 | FLINK_HOME=${FLINK_HOME:-/opt/flink} 23 | -------------------------------------------------------------------------------- /deploy/kubernetes/seatunnel/conf/jvm_client_options: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | # JVM Heap 19 | -Xms256m 20 | -Xmx512m 21 | 22 | # JVM Dump 23 | -XX:+HeapDumpOnOutOfMemoryError 24 | -XX:HeapDumpPath=/tmp/seatunnel/dump/zeta-client -------------------------------------------------------------------------------- /deploy/kubernetes/seatunnel/conf/jvm_master_options: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | # JVM Heap 19 | # -Xms2g 20 | # -Xmx2g 21 | 22 | # JVM Dump 23 | -XX:+HeapDumpOnOutOfMemoryError 24 | -XX:HeapDumpPath=/tmp/seatunnel/dump/zeta-server 25 | 26 | # Metaspace 27 | -XX:MaxMetaspaceSize=2g 28 | 29 | # G1GC 30 | -XX:+UseG1GC 31 | -------------------------------------------------------------------------------- /deploy/kubernetes/seatunnel/conf/jvm_worker_options: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | # JVM Heap 19 | # -Xms2g 20 | # -Xmx2g 21 | 22 | # JVM Dump 23 | -XX:+HeapDumpOnOutOfMemoryError 24 | -XX:HeapDumpPath=/tmp/seatunnel/dump/zeta-server 25 | 26 | # Metaspace 27 | -XX:MaxMetaspaceSize=2g 28 | 29 | # G1GC 30 | -XX:+UseG1GC 31 | -------------------------------------------------------------------------------- /docs/en/command/connector-check.md: -------------------------------------------------------------------------------- 1 | # Connector Check Command Usage 2 | 3 | ## Command Entrypoint 4 | 5 | ```shell 6 | bin/seatunnel-connector.sh 7 | ``` 8 | 9 | ## Options 10 | 11 | ```text 12 | Usage: seatunnel-connector.sh [options] 13 | Options: 14 | -h, --help Show the usage message 15 | -l, --list List all supported plugins(sources, sinks, transforms) 16 | (default: false) 17 | -o, --option-rule Get option rule of the plugin by the plugin 18 | identifier(connector name or transform name) 19 | -pt, --plugin-type SeaTunnel plugin type, support [source, sink, 20 | transform] 21 | ``` 22 | 23 | ## Example 24 | 25 | ```shell 26 | # List all supported connectors(sources and sinks) and transforms 27 | bin/seatunnel-connector.sh -l 28 | # List all supported sinks 29 | bin/seatunnel-connector.sh -l -pt sink 30 | # Get option rule of the connector or transform by the name 31 | bin/seatunnel-connector.sh -o Paimon 32 | # Get option rule of paimon sink 33 | bin/seatunnel-connector.sh -o Paimon -pt sink 34 | ``` 35 | 36 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-activemq.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Improve][connector][activemq] Remove duplicate dependencies (#8753)|https://github.com/apache/seatunnel/commit/da6241aa1c|2.3.10| 6 | |[improve] update activemq connector config option (#8580)|https://github.com/apache/seatunnel/commit/629f85b23a|2.3.10| 7 | |[Improve][dist]add shade check rule (#8136)|https://github.com/apache/seatunnel/commit/51ef800016|2.3.9| 8 | |[Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786)|https://github.com/apache/seatunnel/commit/6b7c53d03c|2.3.9| 9 | |Bump org.apache.activemq:activemq-client (#7323)|https://github.com/apache/seatunnel/commit/e23e3ac4ed|2.3.7| 10 | |[Feature] [Activemq] Added activemq sink (#7251)|https://github.com/apache/seatunnel/commit/f0cefbeb4a|2.3.7| 11 | 12 | </details> 13 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-aerospike.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Feature][Connector-V2] Add aerospike sink connector (#8821)|https://github.com/apache/seatunnel/commit/68ebf15cf6|2.3.11| 6 | 7 | </details> 8 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-cdc-opengauss.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Improve] restruct connector common options (#8634)|https://github.com/apache/seatunnel/commit/f3499a6eeb|2.3.10| 6 | |[Feature][Core] Support cdc task ddl restore for zeta (#7463)|https://github.com/apache/seatunnel/commit/8e322281ed|2.3.9| 7 | |[Feature][Connector-V2] Support opengauss-cdc (#7433)|https://github.com/apache/seatunnel/commit/81b73515a7|2.3.8| 8 | 9 | </details> 10 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-cdc-tidb.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Feature][Checkpoint] Add check script for source/sink state class serialVersionUID missing (#9118)|https://github.com/apache/seatunnel/commit/4f5adeb1c7|2.3.11| 6 | |[Feature] Support tidb cdc connector source #7199 (#7477)|https://github.com/apache/seatunnel/commit/87ec786bd6|2.3.8| 7 | 8 | </details> 9 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-cloudberry.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Feature][Connector] Add Apache Cloudberry Support (#8985)|https://github.com/apache/seatunnel/commit/b6f82c1|dev| 6 | 7 | </details> 8 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-databend.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | |--------------------------------------------------------------| --- |---------| 5 | | [Feature][Connector-V2]Support Databend sink/source (#9331) |https://github.com/apache/seatunnel/pull/9331| TODO | 6 | 7 | </details> -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-google-firestore.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Improve] filestore options (#8921)|https://github.com/apache/seatunnel/commit/b60ef97c95|2.3.10| 6 | |[Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786)|https://github.com/apache/seatunnel/commit/6b7c53d03c|2.3.9| 7 | |[Improve] Remove use `SeaTunnelSink::getConsumedType` method and mark it as deprecated (#5755)|https://github.com/apache/seatunnel/commit/8de7408100|2.3.4| 8 | |[Feature][Connector][GoogleFirestore-Sink] Support GoogleFirestore Sink (#4304)|https://github.com/apache/seatunnel/commit/f13c2614d2|2.3.2| 9 | 10 | </details> 11 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-graphql.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Feature][connector-http] Parameters support placeholder replacement (#9184)|https://github.com/apache/seatunnel/commit/8617014edc|2.3.11| 6 | |[Feature][Connector-V2] Support GraphQL Connector (#8557) (#9021)|https://github.com/apache/seatunnel/commit/9eec2520c0|2.3.11| 7 | 8 | </details> 9 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-http-feishu.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] http connector options (#8969)|https://github.com/apache/seatunnel/commit/63ff9f910a|2.3.10| 6 | |[Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786)|https://github.com/apache/seatunnel/commit/6b7c53d03c|2.3.9| 7 | |[Feature][Connector-V2] Support TableSourceFactory/TableSinkFactory on http (#5816)|https://github.com/apache/seatunnel/commit/6f49ec6ead|2.3.4| 8 | |[Improve][build] Give the maven module a human readable name (#4114)|https://github.com/apache/seatunnel/commit/d7cd601051|2.3.1| 9 | |[Improve][Project] Code format with spotless plugin. (#4101)|https://github.com/apache/seatunnel/commit/a2ab166561|2.3.1| 10 | |[Feature][Connector-V2][Http] Add option rules && Improve Myhours sink connector (#3351)|https://github.com/apache/seatunnel/commit/cc8bb60c83|2.3.0| 11 | |[Feature][Connector-V2] Add feishu sink (#2381)|https://github.com/apache/seatunnel/commit/0fec8ca438|2.2.0-beta| 12 | 13 | </details> 14 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-http-github.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] http connector options (#8969)|https://github.com/apache/seatunnel/commit/63ff9f910a|2.3.10| 6 | |[Feature][Connector-V2] Support TableSourceFactory/TableSinkFactory on http (#5816)|https://github.com/apache/seatunnel/commit/6f49ec6ead|2.3.4| 7 | |[Feature][Connector-V2][Github] Adding Github Source Connector (#4155)|https://github.com/apache/seatunnel/commit/49d9172b10|2.3.1| 8 | 9 | </details> 10 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-http-notion.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] http connector options (#8969)|https://github.com/apache/seatunnel/commit/63ff9f910a|2.3.10| 6 | |[Feature][Connector-V2] Support TableSourceFactory/TableSinkFactory on http (#5816)|https://github.com/apache/seatunnel/commit/6f49ec6ead|2.3.4| 7 | |[Improve][build] Give the maven module a human readable name (#4114)|https://github.com/apache/seatunnel/commit/d7cd601051|2.3.1| 8 | |[Improve][Project] Code format with spotless plugin. (#4101)|https://github.com/apache/seatunnel/commit/a2ab166561|2.3.1| 9 | |[Feature][Connector-V2][Notion] Add Notion source connector (#3470)|https://github.com/apache/seatunnel/commit/46abc6d943|2.3.0| 10 | 11 | </details> 12 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-http-persistiq.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] http connector options (#8969)|https://github.com/apache/seatunnel/commit/63ff9f910a|2.3.10| 6 | |[Feature][Connector-V2] Support TableSourceFactory/TableSinkFactory on http (#5816)|https://github.com/apache/seatunnel/commit/6f49ec6ead|2.3.4| 7 | |[Improve][build] Give the maven module a human readable name (#4114)|https://github.com/apache/seatunnel/commit/d7cd601051|2.3.1| 8 | |[Improve][Project] Code format with spotless plugin. (#4101)|https://github.com/apache/seatunnel/commit/a2ab166561|2.3.1| 9 | |[Feature][Connector-V2][Persistiq]Add Persistiq source connector (#3460)|https://github.com/apache/seatunnel/commit/aec3912edf|2.3.1| 10 | 11 | </details> 12 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-prometheus.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Fix][Connector-V2] Fix prometheus check time can not parse double value (#9311)|https://github.com/apache/seatunnel/commit/fbf78721ab| dev | 6 | |[improve] http connector options (#8969)|https://github.com/apache/seatunnel/commit/63ff9f910a|2.3.10| 7 | |[Fix][connector-http] fix when post have param (#8434)|https://github.com/apache/seatunnel/commit/c1b2675ab0|2.3.10| 8 | |[Improve] restruct connector common options (#8634)|https://github.com/apache/seatunnel/commit/f3499a6eeb|2.3.10| 9 | |[Improve][dist]add shade check rule (#8136)|https://github.com/apache/seatunnel/commit/51ef800016|2.3.9| 10 | |[Fix][Connector-V2] Fix cdc use default value when value is null (#7950)|https://github.com/apache/seatunnel/commit/3b432125ae|2.3.9| 11 | |[Feature][Connector-V2] Add prometheus source and sink (#7265)|https://github.com/apache/seatunnel/commit/dde6f9fcbd|2.3.9| 12 | 13 | </details> 14 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-qdrant.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] qdrant options (#9235)|https://github.com/apache/seatunnel/commit/f3a45cd131|2.3.11| 6 | |[Improve] restruct connector common options (#8634)|https://github.com/apache/seatunnel/commit/f3499a6eeb|2.3.10| 7 | |[Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786)|https://github.com/apache/seatunnel/commit/6b7c53d03c|2.3.9| 8 | |[Feature][Connector-V2] Support Qdrant sink and source connector (#7299)|https://github.com/apache/seatunnel/commit/c8590716ae|2.3.8| 9 | 10 | </details> 11 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-slack.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] Slack connector options (#8738)|https://github.com/apache/seatunnel/commit/eb706743fe|2.3.10| 6 | |[Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786)|https://github.com/apache/seatunnel/commit/6b7c53d03c|2.3.9| 7 | |[Improve] Remove use `SeaTunnelSink::getConsumedType` method and mark it as deprecated (#5755)|https://github.com/apache/seatunnel/commit/8de7408100|2.3.4| 8 | |[Improve][build] Give the maven module a human readable name (#4114)|https://github.com/apache/seatunnel/commit/d7cd601051|2.3.1| 9 | |[Improve][Project] Code format with spotless plugin. (#4101)|https://github.com/apache/seatunnel/commit/a2ab166561|2.3.1| 10 | |[Hotfix][OptionRule] Fix option rule about all connectors (#3592)|https://github.com/apache/seatunnel/commit/226dc6a119|2.3.0| 11 | |[Feature][Connector-V2][Slack] Add Slack sink connector (#3226)|https://github.com/apache/seatunnel/commit/7a836f2d44|2.3.0| 12 | 13 | </details> 14 | -------------------------------------------------------------------------------- /docs/en/connector-v2/changelog/connector-web3j.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] update Web3j connector config option (#9005)|https://github.com/apache/seatunnel/commit/9204f289d8|2.3.10| 6 | |[Feature][Connector-V2] Add web3j source connector (#6598)|https://github.com/apache/seatunnel/commit/b7002bfaf4|2.3.6| 7 | 8 | </details> 9 | -------------------------------------------------------------------------------- /docs/en/contribution/contribute-plugin.md: -------------------------------------------------------------------------------- 1 | # Contribute Connector-V2 Plugins 2 | 3 | If you want to contribute Connector-V2, please click the Connector-V2 Contribution Guide below for reference. It can help you enter development more quickly. 4 | 5 | [Connector-v2 Contribution Guide](https://github.com/apache/seatunnel/blob/dev/seatunnel-connectors-v2/README.md) 6 | -------------------------------------------------------------------------------- /docs/en/contribution/contribute-transform-v2-guide.md: -------------------------------------------------------------------------------- 1 | # Contribute Transform-V2 Plugins 2 | 3 | If you want to contribute Transform-V2, please click the Transform-V2 Contribution Guide below for reference. It can help you enter development more quickly. 4 | 5 | [Connector-v2 Contribution Guide](https://github.com/apache/seatunnel/blob/dev/seatunnel-transforms-v2/README.md) 6 | -------------------------------------------------------------------------------- /docs/en/contribution/docs-format-specification.md: -------------------------------------------------------------------------------- 1 | # Docs Format Specification 2 | ## Admonitions 3 | 4 | We have special admonitions syntax by wrapping text with a set of 3 colons, followed by a label denoting its type. When you want to emphasize the content, it is recommended to use admonitions. 5 | 6 | In use, the following specifications need to be followed: 7 | 8 | - Tip: mainly used for operational tips and tricks. 9 | 10 | - Note: used for more details and explanations. 11 | 12 | - Caution: used for warnings and precautions. 13 | 14 | You may also specify an optional title. Here are the examples of admonitions syntax: 15 | 16 | ```Markdown 17 | :::tip Tip 18 | Some content with tips 19 | ::: 20 | 21 | :::info Note 22 | Some content with explanations 23 | ::: 24 | 25 | :::caution Warning 26 | Some content with precuations and warnings 27 | ::: 28 | ``` -------------------------------------------------------------------------------- /docs/en/contribution/how-to-create-your-connector.md: -------------------------------------------------------------------------------- 1 | # Develop Your Own Connector 2 | 3 | If you want to develop your own connector for the new SeaTunnel connector API (Connector V2), please check [here](https://github.com/apache/seatunnel/blob/dev/seatunnel-connectors-v2/README.md). -------------------------------------------------------------------------------- /docs/en/seatunnel-engine/savepoint.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 8 3 | --- 4 | 5 | # Savepoint And Restore With Savepoint 6 | 7 | Savepoint is created for using the checkpoint. A global mirror of job execution status can be used for job or seatunnel stop and recovery, upgrade, etc. 8 | 9 | ## Use Savepoint 10 | 11 | To use savepoint, you need to ensure that the connector used by the job supports checkpoint, otherwise data may be lost or duplicated. 12 | 13 | 1. Make sure the job is running 14 | 15 | 2. Use the following command to trigger savepoint: 16 | ```./bin/seatunnel.sh -s {jobId}``` 17 | 18 | After successful execution, the checkpoint data will be saved and the task will end. 19 | 20 | ## Use Restore With Savepoint 21 | 22 | Resume from savepoint using jobId 23 | ```./bin/seatunnel.sh -c {jobConfig} -r {jobId}``` 24 | -------------------------------------------------------------------------------- /docs/images/architecture_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/architecture_diagram.png -------------------------------------------------------------------------------- /docs/images/azkaban.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/azkaban.png -------------------------------------------------------------------------------- /docs/images/checkstyle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/checkstyle.png -------------------------------------------------------------------------------- /docs/images/grafana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/grafana.png -------------------------------------------------------------------------------- /docs/images/icons/Cassandra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/icons/Cassandra.png -------------------------------------------------------------------------------- /docs/images/icons/Clickhouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/icons/Clickhouse.png -------------------------------------------------------------------------------- /docs/images/icons/Doris.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730195568501" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1491" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M329.12 110c50.128-50.112 132.208-50.944 182.32-0.816l100.64 100.64a128.32 128.32 0 0 1 0 181.472l-74.24 74.24a25.664 25.664 0 0 1-36.304 0L328.32 292.32c-50.112-50.128-49.28-132.208 0.816-182.32z" fill="#4FA7C7" p-id="1492"></path><path d="M206.224 302.4c0-20.768 25.12-31.2 39.84-16.48l219.2 219.2c9.104 9.104 9.104 23.872 0 32.992l-219.2 219.2c-14.72 14.688-39.84 4.288-39.84-16.512V302.4z" fill="#5568A7" p-id="1493"></path><path d="M332.432 930c-50.112-50.112-50.928-132.192-0.816-182.304l324.192-324.208c35.488-35.456 51.152-67.632 56.112-113.824l120.432 120.432a129.504 129.504 0 0 1 0 183.136l-317.6 317.6c-50.112 50.112-132.192 49.28-182.304-0.832z" fill="#75C6A7" p-id="1494"></path></svg> -------------------------------------------------------------------------------- /docs/images/icons/Elasticsearch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/icons/Elasticsearch.png -------------------------------------------------------------------------------- /docs/images/icons/FtpFile.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730195687155" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3591" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M170.666667 597.333333v85.333334h170.666666v85.333333H170.666667v170.666667H85.333333V512h256v85.333333z m469.333333-85.333333H384v85.333333h85.333333v341.333334h85.333334V597.333333h85.333333z m170.666667 85.333333a42.666667 42.666667 0 0 1 0 85.333334h-42.666667v-85.333334h42.666667m0-85.333333h-128v426.666667h85.333333v-170.666667h42.666667a128 128 0 0 0 128-128 128 128 0 0 0-128-128zM725.333333 85.333333l213.333334 213.333334v170.666666h-85.333334v-135.253333L689.92 170.666667H170.666667v298.666666H85.333333V85.333333z" p-id="3592"></path></svg> -------------------------------------------------------------------------------- /docs/images/icons/Github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/icons/Github.png -------------------------------------------------------------------------------- /docs/images/icons/Gitlab.svg: -------------------------------------------------------------------------------- 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="50px" height="50px"><path fill="#e53935" d="M24 43L16 20 32 20z"/><path fill="#ff7043" d="M24 43L42 20 32 20z"/><path fill="#e53935" d="M37 5L42 20 32 20z"/><path fill="#ffa726" d="M24 43L42 20 45 28z"/><path fill="#ff7043" d="M24 43L6 20 16 20z"/><path fill="#e53935" d="M11 5L6 20 16 20z"/><path fill="#ffa726" d="M24 43L6 20 3 28z"/></svg> -------------------------------------------------------------------------------- /docs/images/icons/Http.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730195876205" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10276" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M918.016 489.984l0-41.984-86.016 0 0 41.984 86.016 0zM918.016 384q25.984 0 45.013333 18.986667t18.986667 45.013333l0 41.984q0 25.984-18.986667 45.013333t-45.013333 18.986667l-86.016 0 0 86.016-64 0 0-256 150.016 0zM534.016 448l0-64 192 0 0 64-64 0 0 192-64 0 0-192-64 0zM297.984 448l0-64 192 0 0 64-64 0 0 192-64 0 0-192-64 0zM192 470.016l0-86.016 64 0 0 256-64 0 0-105.984-86.016 0 0 105.984-64 0 0-256 64 0 0 86.016 86.016 0z" fill="#444444" p-id="10277"></path></svg> -------------------------------------------------------------------------------- /docs/images/icons/Kudu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/icons/Kudu.png -------------------------------------------------------------------------------- /docs/images/icons/MongoDB.svg: -------------------------------------------------------------------------------- 1 | <svg xmlns="http://www.w3.org/2000/svg" width="59.69" height="128" viewBox="0 0 256 549"><path fill="#01EC64" d="M175.622 61.108C152.612 33.807 132.797 6.078 128.749.32a1.03 1.03 0 0 0-1.492 0c-4.048 5.759-23.863 33.487-46.874 60.788c-197.507 251.896 31.108 421.89 31.108 421.89l1.917 1.28c1.704 26.234 5.966 63.988 5.966 63.988h17.045s4.26-37.54 5.965-63.987l1.918-1.494c.213.214 228.828-169.78 31.32-421.677m-47.726 418.05s-10.227-8.744-12.997-13.222v-.428l12.358-274.292c0-.853 1.279-.853 1.279 0l12.357 274.292v.428c-2.77 4.478-12.997 13.223-12.997 13.223"/></svg> -------------------------------------------------------------------------------- /docs/images/icons/ObsFile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/icons/ObsFile.png -------------------------------------------------------------------------------- /docs/images/icons/OpenMldb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/icons/OpenMldb.png -------------------------------------------------------------------------------- /docs/images/icons/Paimon.svg: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1730339609875" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="33718" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M832 0a192 192 0 0 1 192 192v640a192 192 0 0 1-192 192H192a192 192 0 0 1-192-192V192a192 192 0 0 1 192-192h640z m-59.2 382.72l-65.28 22.688 0.064-0.032a1073.728 1073.728 0 0 0-396.416 260.48A272.64 272.64 0 0 0 772.8 382.72zM290.88 636.352c-2.176 4.352-4.32 8.768-6.4 13.248L252.992 713.6H128l57.344 11.776a79.104 79.104 0 0 1 47.2 29.824l50.304-58.88c9.28-10.336 18.688-20.48 28.32-30.496a273.024 273.024 0 0 1-20.32-29.536z m234.368-411.968A272.64 272.64 0 0 0 290.88 636.288c27.776-56.128 59.392-99.84 100.48-134.4a87.36 87.36 0 0 0-54.72-53.952l-31.808-10.624h200.544c49.536-18.656 108.768-32.48 180.992-43.392l48.896-8.672 34.176-9.6a272.608 272.608 0 0 0-244.192-151.296z m369.376 116.128l-125.184 35.168c1.184 2.336 2.304 4.704 3.392 7.072l121.792-42.24z" fill="#3E71F9" p-id="33719"></path></svg> -------------------------------------------------------------------------------- /docs/images/icons/Typesense.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/icons/Typesense.png -------------------------------------------------------------------------------- /docs/images/icons/Web3j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/icons/Web3j.png -------------------------------------------------------------------------------- /docs/images/kafka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/kafka.png -------------------------------------------------------------------------------- /docs/images/resource-isolation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/resource-isolation.png -------------------------------------------------------------------------------- /docs/images/seatunnel_architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/seatunnel_architecture.png -------------------------------------------------------------------------------- /docs/images/seatunnel_starter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/seatunnel_starter.png -------------------------------------------------------------------------------- /docs/images/ui/detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/ui/detail.png -------------------------------------------------------------------------------- /docs/images/ui/finished.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/ui/finished.png -------------------------------------------------------------------------------- /docs/images/ui/master.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/ui/master.png -------------------------------------------------------------------------------- /docs/images/ui/overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/ui/overview.png -------------------------------------------------------------------------------- /docs/images/ui/running.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/ui/running.png -------------------------------------------------------------------------------- /docs/images/ui/workers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/ui/workers.png -------------------------------------------------------------------------------- /docs/images/workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/docs/images/workflow.png -------------------------------------------------------------------------------- /docs/zh/command/connector-check.md: -------------------------------------------------------------------------------- 1 | # 连接器检查命令用法 2 | 3 | ## 命令入口 4 | 5 | ```shell 6 | bin/seatunnel-connector.sh 7 | ``` 8 | 9 | ## 命令选项 10 | 11 | ```text 12 | Usage: seatunnel-connector.sh [options] 13 | Options: 14 | -h, --help Show the usage message 15 | -l, --list List all supported plugins(sources, sinks, transforms) 16 | (default: false) 17 | -o, --option-rule Get option rule of the plugin by the plugin 18 | identifier(connector name or transform name) 19 | -pt, --plugin-type SeaTunnel plugin type, support [source, sink, 20 | transform] 21 | ``` 22 | 23 | ## 例子 24 | 25 | ```shell 26 | # List all supported connectors(sources and sinks) and transforms 27 | bin/seatunnel-connector.sh -l 28 | # List all supported sinks 29 | bin/seatunnel-connector.sh -l -pt sink 30 | # Get option rule of the connector or transform by the name 31 | bin/seatunnel-connector.sh -o Paimon 32 | # Get option rule of paimon sink 33 | bin/seatunnel-connector.sh -o Paimon -pt sink 34 | ``` 35 | 36 | -------------------------------------------------------------------------------- /docs/zh/concept/speed-limit.md: -------------------------------------------------------------------------------- 1 | # 速度控制 2 | 3 | ## 介绍 4 | 5 | SeaTunnel提供了强大的速度控制功能允许你管理数据同步的速率。当你需要确保在系统之间数据传输的高效和可控这个功能是至关重要的。 6 | 速度控制主要由两个关键参数控制:`read_limit.rows_per_second` 和 `read_limit.bytes_per_second`。 7 | 本文档将指导您如何使用这些参数以及如何有效地利用它们。 8 | 9 | ## 支持这些引擎 10 | 11 | > SeaTunnel Zeta<br/> 12 | > Flink<br/> 13 | > Spark<br/> 14 | 15 | ## 配置 16 | 17 | 要使用速度控制功能,你需要在job配置中设置`read_limit.rows_per_second` 或 `read_limit.bytes_per_second`参数。 18 | 19 | 配置文件中env配置示例: 20 | 21 | ```hocon 22 | env { 23 | job.mode=STREAMING 24 | job.name=SeaTunnel_Job 25 | read_limit.bytes_per_second=7000000 26 | read_limit.rows_per_second=400 27 | } 28 | source { 29 | MySQL-CDC { 30 | // ignore... 31 | } 32 | } 33 | transform { 34 | } 35 | sink { 36 | Console { 37 | } 38 | } 39 | ``` 40 | 41 | 我们在`env`参数中放了`read_limit.bytes_per_second` 和 `read_limit.rows_per_second`来完成速度控制的配置。 42 | 你可以同时配置这两个参数,或者只配置其中一个。每个`value`的值代表每个线程被限制的最大速率。 43 | 因此,在配置各个值时,还需要同时考虑你任务的并行性。 44 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-activemq.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Improve][connector][activemq] Remove duplicate dependencies (#8753)|https://github.com/apache/seatunnel/commit/da6241aa1c|2.3.10| 6 | |[improve] update activemq connector config option (#8580)|https://github.com/apache/seatunnel/commit/629f85b23a|2.3.10| 7 | |[Improve][dist]add shade check rule (#8136)|https://github.com/apache/seatunnel/commit/51ef800016|2.3.9| 8 | |[Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786)|https://github.com/apache/seatunnel/commit/6b7c53d03c|2.3.9| 9 | |Bump org.apache.activemq:activemq-client (#7323)|https://github.com/apache/seatunnel/commit/e23e3ac4ed|2.3.7| 10 | |[Feature] [Activemq] Added activemq sink (#7251)|https://github.com/apache/seatunnel/commit/f0cefbeb4a|2.3.7| 11 | 12 | </details> 13 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-aerospike.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Feature][Connector-V2] Add aerospike sink connector (#8821)|https://github.com/apache/seatunnel/commit/68ebf15cf6|2.3.11| 6 | 7 | </details> 8 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-cdc-opengauss.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Improve] restruct connector common options (#8634)|https://github.com/apache/seatunnel/commit/f3499a6eeb|2.3.10| 6 | |[Feature][Core] Support cdc task ddl restore for zeta (#7463)|https://github.com/apache/seatunnel/commit/8e322281ed|2.3.9| 7 | |[Feature][Connector-V2] Support opengauss-cdc (#7433)|https://github.com/apache/seatunnel/commit/81b73515a7|2.3.8| 8 | 9 | </details> 10 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-cdc-tidb.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Feature][Checkpoint] Add check script for source/sink state class serialVersionUID missing (#9118)|https://github.com/apache/seatunnel/commit/4f5adeb1c7|2.3.11| 6 | |[Feature] Support tidb cdc connector source #7199 (#7477)|https://github.com/apache/seatunnel/commit/87ec786bd6|2.3.8| 7 | 8 | </details> 9 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-cloudberry.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Feature][Connector] Add Apache Cloudberry Support (#8985)|https://github.com/apache/seatunnel/commit/b6f82c1|dev| 6 | 7 | </details> 8 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-databend.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | |--------------------------------------------------------------| --- |---------| 5 | | [Feature][Connector-V2]Support Databend sink/source (#9331) |https://github.com/apache/seatunnel/pull/9331| TODO | 6 | 7 | </details> -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-google-firestore.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Improve] filestore options (#8921)|https://github.com/apache/seatunnel/commit/b60ef97c95|2.3.10| 6 | |[Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786)|https://github.com/apache/seatunnel/commit/6b7c53d03c|2.3.9| 7 | |[Improve] Remove use `SeaTunnelSink::getConsumedType` method and mark it as deprecated (#5755)|https://github.com/apache/seatunnel/commit/8de7408100|2.3.4| 8 | |[Feature][Connector][GoogleFirestore-Sink] Support GoogleFirestore Sink (#4304)|https://github.com/apache/seatunnel/commit/f13c2614d2|2.3.2| 9 | 10 | </details> 11 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-graphql.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Feature][connector-http] Parameters support placeholder replacement (#9184)|https://github.com/apache/seatunnel/commit/8617014edc|2.3.11| 6 | |[Feature][Connector-V2] Support GraphQL Connector (#8557) (#9021)|https://github.com/apache/seatunnel/commit/9eec2520c0|2.3.11| 7 | 8 | </details> 9 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-http-feishu.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] http connector options (#8969)|https://github.com/apache/seatunnel/commit/63ff9f910a|2.3.10| 6 | |[Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786)|https://github.com/apache/seatunnel/commit/6b7c53d03c|2.3.9| 7 | |[Feature][Connector-V2] Support TableSourceFactory/TableSinkFactory on http (#5816)|https://github.com/apache/seatunnel/commit/6f49ec6ead|2.3.4| 8 | |[Improve][build] Give the maven module a human readable name (#4114)|https://github.com/apache/seatunnel/commit/d7cd601051|2.3.1| 9 | |[Improve][Project] Code format with spotless plugin. (#4101)|https://github.com/apache/seatunnel/commit/a2ab166561|2.3.1| 10 | |[Feature][Connector-V2][Http] Add option rules && Improve Myhours sink connector (#3351)|https://github.com/apache/seatunnel/commit/cc8bb60c83|2.3.0| 11 | |[Feature][Connector-V2] Add feishu sink (#2381)|https://github.com/apache/seatunnel/commit/0fec8ca438|2.2.0-beta| 12 | 13 | </details> 14 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-http-github.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] http connector options (#8969)|https://github.com/apache/seatunnel/commit/63ff9f910a|2.3.10| 6 | |[Feature][Connector-V2] Support TableSourceFactory/TableSinkFactory on http (#5816)|https://github.com/apache/seatunnel/commit/6f49ec6ead|2.3.4| 7 | |[Feature][Connector-V2][Github] Adding Github Source Connector (#4155)|https://github.com/apache/seatunnel/commit/49d9172b10|2.3.1| 8 | 9 | </details> 10 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-http-notion.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] http connector options (#8969)|https://github.com/apache/seatunnel/commit/63ff9f910a|2.3.10| 6 | |[Feature][Connector-V2] Support TableSourceFactory/TableSinkFactory on http (#5816)|https://github.com/apache/seatunnel/commit/6f49ec6ead|2.3.4| 7 | |[Improve][build] Give the maven module a human readable name (#4114)|https://github.com/apache/seatunnel/commit/d7cd601051|2.3.1| 8 | |[Improve][Project] Code format with spotless plugin. (#4101)|https://github.com/apache/seatunnel/commit/a2ab166561|2.3.1| 9 | |[Feature][Connector-V2][Notion] Add Notion source connector (#3470)|https://github.com/apache/seatunnel/commit/46abc6d943|2.3.0| 10 | 11 | </details> 12 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-http-persistiq.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] http connector options (#8969)|https://github.com/apache/seatunnel/commit/63ff9f910a|2.3.10| 6 | |[Feature][Connector-V2] Support TableSourceFactory/TableSinkFactory on http (#5816)|https://github.com/apache/seatunnel/commit/6f49ec6ead|2.3.4| 7 | |[Improve][build] Give the maven module a human readable name (#4114)|https://github.com/apache/seatunnel/commit/d7cd601051|2.3.1| 8 | |[Improve][Project] Code format with spotless plugin. (#4101)|https://github.com/apache/seatunnel/commit/a2ab166561|2.3.1| 9 | |[Feature][Connector-V2][Persistiq]Add Persistiq source connector (#3460)|https://github.com/apache/seatunnel/commit/aec3912edf|2.3.1| 10 | 11 | </details> 12 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-prometheus.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[Fix][Connector-V2] Fix prometheus check time can not parse double value (#9311)|https://github.com/apache/seatunnel/commit/fbf78721ab| dev | 6 | |[improve] http connector options (#8969)|https://github.com/apache/seatunnel/commit/63ff9f910a|2.3.10| 7 | |[Fix][connector-http] fix when post have param (#8434)|https://github.com/apache/seatunnel/commit/c1b2675ab0|2.3.10| 8 | |[Improve] restruct connector common options (#8634)|https://github.com/apache/seatunnel/commit/f3499a6eeb|2.3.10| 9 | |[Improve][dist]add shade check rule (#8136)|https://github.com/apache/seatunnel/commit/51ef800016|2.3.9| 10 | |[Fix][Connector-V2] Fix cdc use default value when value is null (#7950)|https://github.com/apache/seatunnel/commit/3b432125ae|2.3.9| 11 | |[Feature][Connector-V2] Add prometheus source and sink (#7265)|https://github.com/apache/seatunnel/commit/dde6f9fcbd|2.3.9| 12 | 13 | </details> 14 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-qdrant.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] qdrant options (#9235)|https://github.com/apache/seatunnel/commit/f3a45cd131|2.3.11| 6 | |[Improve] restruct connector common options (#8634)|https://github.com/apache/seatunnel/commit/f3499a6eeb|2.3.10| 7 | |[Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786)|https://github.com/apache/seatunnel/commit/6b7c53d03c|2.3.9| 8 | |[Feature][Connector-V2] Support Qdrant sink and source connector (#7299)|https://github.com/apache/seatunnel/commit/c8590716ae|2.3.8| 9 | 10 | </details> 11 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-slack.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] Slack connector options (#8738)|https://github.com/apache/seatunnel/commit/eb706743fe|2.3.10| 6 | |[Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786)|https://github.com/apache/seatunnel/commit/6b7c53d03c|2.3.9| 7 | |[Improve] Remove use `SeaTunnelSink::getConsumedType` method and mark it as deprecated (#5755)|https://github.com/apache/seatunnel/commit/8de7408100|2.3.4| 8 | |[Improve][build] Give the maven module a human readable name (#4114)|https://github.com/apache/seatunnel/commit/d7cd601051|2.3.1| 9 | |[Improve][Project] Code format with spotless plugin. (#4101)|https://github.com/apache/seatunnel/commit/a2ab166561|2.3.1| 10 | |[Hotfix][OptionRule] Fix option rule about all connectors (#3592)|https://github.com/apache/seatunnel/commit/226dc6a119|2.3.0| 11 | |[Feature][Connector-V2][Slack] Add Slack sink connector (#3226)|https://github.com/apache/seatunnel/commit/7a836f2d44|2.3.0| 12 | 13 | </details> 14 | -------------------------------------------------------------------------------- /docs/zh/connector-v2/changelog/connector-web3j.md: -------------------------------------------------------------------------------- 1 | <details><summary> Change Log </summary> 2 | 3 | | Change | Commit | Version | 4 | | --- | --- | --- | 5 | |[improve] update Web3j connector config option (#9005)|https://github.com/apache/seatunnel/commit/9204f289d8|2.3.10| 6 | |[Feature][Connector-V2] Add web3j source connector (#6598)|https://github.com/apache/seatunnel/commit/b7002bfaf4|2.3.6| 7 | 8 | </details> 9 | -------------------------------------------------------------------------------- /docs/zh/contribution/contribute-plugin.md: -------------------------------------------------------------------------------- 1 | # 贡献 Connector-V2 插件 2 | 3 | 如果你想要贡献 Connector-V2, 可以参考下面的 Connector-V2 贡献指南。 可以帮你快速进入开发。 4 | 5 | [Connector-v2 贡献指南](https://github.com/apache/seatunnel/blob/dev/seatunnel-connectors-v2/README.zh.md) 6 | -------------------------------------------------------------------------------- /docs/zh/contribution/contribute-transform-v2-guide.md: -------------------------------------------------------------------------------- 1 | # 贡献 Transform-V2 插件 2 | 3 | 如果你想要贡献 Transform-V2, 可以参考下面的 Transform-V2 贡献指南。 可以帮你快速进入开发。 4 | 5 | [Connector-v2 贡献指南](https://github.com/apache/seatunnel/blob/dev/seatunnel-transforms-v2/README.zh.md) 6 | -------------------------------------------------------------------------------- /docs/zh/contribution/docs-format-specification.md: -------------------------------------------------------------------------------- 1 | # 文档格式规范 2 | ## 注释说明 3 | 4 | 注释说明在技术文档中起强调作用。在使用中,需遵循以下规范: 5 | 6 | - 根据提示内容,可以将注释分为“提示”、“备注”、“注意”三类。注释框标题与使用场景请遵循以下规范: 7 | 8 | - 提示:主要用于操作技巧提示 9 | 10 | - 备注:用于补充内容补充解释 11 | 12 | - 注意:用于操作、注意事项警告 13 | 14 | - 提示框内容可以使用有序、无序、代码块 15 | 16 | 17 | 下面是 Markdown 文档中注释说明示例: 18 | 19 | ```Markdown 20 | :::tip 提示 21 | 这是一条提示 22 | ::: 23 | 24 | :::info 备注 25 | 这是一条备注 26 | ::: 27 | 28 | :::caution 注意 29 | 这是一条注意事项 30 | ::: 31 | ``` -------------------------------------------------------------------------------- /docs/zh/contribution/how-to-create-your-connector.md: -------------------------------------------------------------------------------- 1 | # 开发自己的Connector 2 | 3 | 如果你想针对SeaTunnel新的连接器API开发自己的连接器(Connector V2),请查看[这里](https://github.com/apache/seatunnel/blob/dev/seatunnel-connectors-v2/README.zh.md) 。 4 | 5 | -------------------------------------------------------------------------------- /docs/zh/seatunnel-engine/deployment.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | --- 4 | 5 | # SeaTunnel Engine(Zeta) 安装部署 6 | 7 | SeaTunnel Engine(Zeta) 支持三种不同的部署模式:本地模式、混合集群模式和分离集群模式。 8 | 9 | 每种部署模式都有不同的使用场景和优缺点。在选择部署模式时,您应该根据您的需求和环境来选择。 10 | 11 | Local模式:只用于测试,每个任务都会启动一个独立的进程,任务运行完成后进程会退出。 12 | 13 | 混合集群模式:SeaTunnel Engine 的Master服务和Worker服务混合在同一个进程中,所有节点都可以运行作业并参与选举成为master,即master节点也在同时运行同步任务。在该模式下,Imap(保存任务的状态信息用于为任务的容错提供支持)数据会分布在所有节点中。 14 | 15 | 分离集群模式:SeaTunnel Engine 的Master服务和Worker服务分离,每个服务单独一个进程。Master节点只负责作业调度,rest api,任务提交等,Imap数据只存储在Master节点中。Worker节点只负责任务的执行,不参与选举成为master,也不存储Imap数据。 16 | 17 | 使用建议:建议使用[分离集群模式](separated-cluster-deployment.md)。在混合集群模式下,Master节点要同步运行任务,当任务规模较大时,会影响Master节点的稳定性,一但Master节点宕机或心跳超时,会导致Master节点切换,Master节点切换会导致所有正在运行的任务进行容错,会进一步增长集群的负载。因此,我们更建议使用分离模式。 18 | 19 | [Local模式部署](local-mode-deployment.md) 20 | 21 | [混合集群模式部署](hybrid-cluster-deployment.md) 22 | 23 | [分离集群模式部署](separated-cluster-deployment.md) 24 | -------------------------------------------------------------------------------- /docs/zh/seatunnel-engine/savepoint.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 8 3 | --- 4 | 5 | # 使用保存点和通过保存点恢复 6 | 7 | 保存点是使用检查点创建的,它是作业执行状态的全局镜像,可以用于作业或 SeaTunnel 的停止和恢复、升级等。 8 | 9 | ## 使用保存点 10 | 11 | 要使用保存点, 您需要确保作业使用的连接器支持检查点,否则数据可能会丢失或重复。 12 | 13 | 1. 确保作业正在运行。 14 | 15 | 2. 使用以下命令触发保存点: 16 | 17 | ```./bin/seatunnel.sh -s {jobId}``` 18 | 19 | 执行成功后,检查点数据将被保存,任务将结束。 20 | 21 | ## 使用保存点进行恢复 22 | 23 | 通过 `jobId` 使用保存点来恢复作业。 24 | 25 | ```./bin/seatunnel.sh -c {jobConfig} -r {jobId}``` 26 | -------------------------------------------------------------------------------- /docs/zh/seatunnel-engine/tcp.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 10 3 | --- 4 | 5 | # TCP NetWork 6 | 7 | 如果您的环境中多播不是首选的发现方式,那么您可以将 SeaTunnel 引擎配置为一个完整的 TCP/IP 集群。当您通过 TCP/IP 配置 SeaTunnel 引擎以发现成员时,您必须将所有或一部分成员的主机名和/或 IP 地址列为集群成员。您不必列出所有这些集群成员,但在新成员加入时,至少有一个列出的成员必须是活跃的。 8 | 9 | 要配置您的 Hazelcast 作为一个完整的 TCP/IP 集群,请设置以下配置元素。有关 TCP/IP 发现配置元素的完整描述,请参见 tcp-ip 元素部分。 10 | 11 | - 将 tcp-ip 元素的 enabled 属性设置为 true。 12 | - 在 tcp-ip 元素内提供您的成员元素。 13 | 14 | 以下是一个示例声明性配置。 15 | 16 | ```yaml 17 | hazelcast: 18 | network: 19 | join: 20 | tcp-ip: 21 | enabled: true 22 | member-list: 23 | - machine1 24 | - machine2 25 | - machine3:5799 26 | - 192.168.1.0-7 27 | - 192.168.1.21 28 | ``` 29 | 30 | 如上所示,您可以为成员元素提供 IP 地址或主机名。您还可以提供一个 IP 地址范围,例如 `192.168.1.0-7`. 31 | 32 | 除了像上面展示的那样逐行提供成员外,您还可以选择使用 members 元素并写入逗号分隔的 IP 地址,如下所示。 33 | 34 | `<members>192.168.1.0-7,192.168.1.21</members>` 35 | 36 | 如果您没有为成员提供端口,Hazelcast 会自动尝试端口 `5701`, `5702` 等。 37 | -------------------------------------------------------------------------------- /docs/zh/transform-v2/common-options.md: -------------------------------------------------------------------------------- 1 | # 转换常见选项 2 | 3 | > 源端连接器的常见参数 4 | 5 | :::caution 警告 6 | 7 | 旧的配置名称 `result_table_name`/`source_table_name` 已经过时,请尽快迁移到新名称 `plugin_output`/`plugin_input`。 8 | 9 | ::: 10 | 11 | | 参数名称 | 参数类型 | 是否必须 | 默认值 | 12 | |---------------|--------|------|-----| 13 | | plugin_output | string | no | - | 14 | | plugin_input | string | no | - | 15 | 16 | ### plugin_input [string] 17 | 18 | 当未指定 `plugin_input` 时,当前插件在配置文件中处理由前一个插件输出的数据集 `(dataset)` ; 19 | 20 | 当指定了 `plugin_input` 时,当前插件正在处理与该参数对应的数据集 21 | 22 | ### plugin_output [string] 23 | 24 | 当未指定 `plugin_output` 时,此插件处理的数据不会被注册为其他插件可以直接访问的数据集,也不会被称为临时表 `(table)`; 25 | 26 | 当指定了 `plugin_output` 时,此插件处理的数据将被注册为其他插件可以直接访问的数据集 `(dataset)`,或者被称为临时表 `(table)`。在这里注册的数据集可以通过指定 `plugin_input` 被其他插件直接访问。 27 | 28 | ## 示例 29 | 30 | -------------------------------------------------------------------------------- /docs/zh/transform-v2/define-sink-type.md: -------------------------------------------------------------------------------- 1 | # Define Sink Type 2 | 3 | > Define sink type transform plugin 4 | 5 | ## Description 6 | 7 | 用于定义 sink 字段存储类型,对于 savemode 开启自动建表时有效 8 | 9 | ## Options 10 | 11 | | name | type | required | default value | Description | 12 | |:-------:|---------------------------|----------|---------------|--------------------| 13 | | columns | list<map<string, string>> | yes | | 需要定义的列,必须设置列的名称和类型 | 14 | 15 | ## Examples 16 | 17 | ### 指定部分字段的建表类型 18 | 19 | ``` 20 | transform { 21 | DefineSinkType { 22 | columns = [ 23 | { 24 | column = "c1" 25 | type = "nvarchar2(10)" 26 | } 27 | { 28 | column = "c2" 29 | type = "datetime(6)" 30 | } 31 | { 32 | column = "c3" 33 | type = "your target type" 34 | } 35 | ] 36 | } 37 | } 38 | ``` 39 | -------------------------------------------------------------------------------- /plugins/README.md: -------------------------------------------------------------------------------- 1 | # Introduction of plugins directory 2 | 3 | This directory used to store some third party jar package dependency by connector running, such as jdbc drivers. 4 | 5 | !!!Attention: If you use Zeta Engine, please add jar to `$SEATUNNEL_HOME/lib/` directory on each node. 6 | 7 | ## directory structure 8 | 9 | The jar dependency by connector need put in `plugins/${connector name}/lib/` dir. 10 | 11 | For example jdbc driver jars need put in `${seatunnel_install_home}/plugins/jdbc/lib/` -------------------------------------------------------------------------------- /seatunnel-api/src/main/java/org/apache/seatunnel/api/event/EventListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.api.event; 19 | 20 | import java.io.Serializable; 21 | 22 | public interface EventListener extends Serializable { 23 | void onEvent(Event event); 24 | } 25 | -------------------------------------------------------------------------------- /seatunnel-api/src/main/java/org/apache/seatunnel/api/event/LifecycleEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.api.event; 19 | 20 | public interface LifecycleEvent extends Event {} 21 | -------------------------------------------------------------------------------- /seatunnel-api/src/main/java/org/apache/seatunnel/api/sink/SaveModeExecuteLocation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.api.sink; 19 | 20 | public enum SaveModeExecuteLocation { 21 | @Deprecated 22 | CLIENT, 23 | CLUSTER 24 | } 25 | -------------------------------------------------------------------------------- /seatunnel-api/src/main/java/org/apache/seatunnel/api/sink/SupportMultiTableSink.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.api.sink; 19 | 20 | /** The Sink Connectors which support multi table should implement this interface */ 21 | public interface SupportMultiTableSink {} 22 | -------------------------------------------------------------------------------- /seatunnel-api/src/main/java/org/apache/seatunnel/api/source/SupportColumnProjection.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.api.source; 19 | 20 | /** Mark whether the Source connector supports ColumnProjection */ 21 | public interface SupportColumnProjection {} 22 | -------------------------------------------------------------------------------- /seatunnel-api/src/main/java/org/apache/seatunnel/api/source/SupportCoordinate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.api.source; 19 | 20 | /** Used to mark whether the interface supports coordination. */ 21 | public interface SupportCoordinate {} 22 | -------------------------------------------------------------------------------- /seatunnel-api/src/main/java/org/apache/seatunnel/api/source/SupportParallelism.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.api.source; 19 | 20 | /** Mark whether the Source connector supports parallelism */ 21 | public interface SupportParallelism {} 22 | -------------------------------------------------------------------------------- /seatunnel-api/src/main/java/org/apache/seatunnel/api/table/converter/DataTypeConverter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.api.table.converter; 19 | 20 | public interface DataTypeConverter<T> extends TypeConverter<T>, DataConverter<T> {} 21 | -------------------------------------------------------------------------------- /seatunnel-api/src/test/java/org/apache/seatunnel/api/configuration/util/TestOptionConfigEnum.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.api.configuration.util; 19 | 20 | public enum TestOptionConfigEnum { 21 | KEY1, 22 | KEY2 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-common/src/main/java/org/apache/seatunnel/common/constants/JobMode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.common.constants; 19 | 20 | public enum JobMode { 21 | BATCH, 22 | STREAMING 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-config/seatunnel-config-shade/src/test/resources/json/spark.batch.json: -------------------------------------------------------------------------------- 1 | { 2 | "env" : { 3 | "spark.app.name" : "SeaTunnel", 4 | "spark.executor.cores" : 1, 5 | "spark.executor.instances" : 2, 6 | "spark.executor.memory" : "1g" 7 | }, 8 | "sink" : [ 9 | { 10 | "plugin_name" : "Console" 11 | } 12 | ], 13 | "source" : [ 14 | { 15 | "plugin_name" : "Fake", 16 | "plugin_output" : "my_dataset" 17 | } 18 | ], 19 | "transform" : [] 20 | } 21 | -------------------------------------------------------------------------------- /seatunnel-config/seatunnel-config-shade/src/test/resources/seatunnel/configWithSpecialKey.conf: -------------------------------------------------------------------------------- 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 | object { 17 | "\""="\\\"" 18 | "\"\""="\\\"\\\"" 19 | "\\\""="\\\\\\\"" 20 | } -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/encoding/gbk.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/encoding/gbk.json -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/encoding/gbk.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/encoding/gbk.txt -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/encoding/gbk.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/encoding/gbk.xml -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/encoding/gbk_use_attr_format.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/encoding/gbk_use_attr_format.xml -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/excel/e2e.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/excel/e2e.xls -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/excel/e2e.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/excel/e2e.xlsx -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/excel/test_read_excel.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/excel/test_read_excel.xlsx -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/excel/test_read_excel_date_string.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/excel/test_read_excel_date_string.xlsx -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/excel/test_read_excel_formula.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/excel/test_read_excel_formula.xlsx -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/excel/test_read_formula.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/excel/test_read_formula.xls -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/hive.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/hive.parquet -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/test.csv: -------------------------------------------------------------------------------- 1 | 1,a,10 2 | 2,b,100 -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/test.orc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/test.orc -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/test_read_orc.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | { 19 | read_columns = [tinyint_col, boolean_col] 20 | } -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/test_read_parquet.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | { 19 | read_columns = [test_bigint, test_tinyint, test_smallint] 20 | } -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/test_read_parquet2.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | { 19 | read_columns = [test_array, test_map] 20 | } -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/timestamp_as_int64.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/timestamp_as_int64.parquet -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/timestamp_as_int96.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-connectors-v2/connector-file/connector-file-base/src/test/resources/timestamp_as_int96.parquet -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-cos/src/main/resources/META-INF/services/org.apache.hadoop.fs.FileSystem: -------------------------------------------------------------------------------- 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 | org.apache.hadoop.fs.CosFileSystem -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-ftp/src/main/resources/META-INF/services/org.apache.hadoop.fs.FileSystem: -------------------------------------------------------------------------------- 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 | org.apache.seatunnel.connectors.seatunnel.file.ftp.system.SeaTunnelFTPFileSystem -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-jindo-oss/src/main/resources/META-INF/services/org.apache.hadoop.fs.FileSystem: -------------------------------------------------------------------------------- 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.aliyun.emr.fs.oss.JindoOssFileSystem -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-local/src/test/resources/test_data.txt: -------------------------------------------------------------------------------- 1 | 1,a,a,1 2 | 2,a,a,1 3 | 3,a,a,1 -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-obs/src/main/resources/META-INF/services/org.apache.hadoop.fs.FileSystem: -------------------------------------------------------------------------------- 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 | org.apache.hadoop.fs.obs.OBSFileSystem -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-oss/src/main/resources/META-INF/services/org.apache.hadoop.fs.FileSystem: -------------------------------------------------------------------------------- 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 | org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-s3/src/main/resources/META-INF/services/org.apache.hadoop.fs.FileSystem: -------------------------------------------------------------------------------- 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 | org.apache.hadoop.fs.s3native.NativeS3FileSystem -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-file/connector-file-sftp/src/main/resources/META-INF/services/org.apache.hadoop.fs.FileSystem: -------------------------------------------------------------------------------- 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 | org.apache.seatunnel.connectors.seatunnel.file.sftp.system.SFTPFileSystem -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-hbase/src/main/java/org/apache/seatunnel/connectors/seatunnel/hbase/config/HbaseSourceOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.connectors.seatunnel.hbase.config; 19 | 20 | public class HbaseSourceOptions extends HbaseBaseOptions {} 21 | -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-hive/src/test/resources/hive_with_remoteuser.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | { 18 | table_name="temp.group_brand_order_list_board" 19 | metastore_uri="thrift://localhost:9083" 20 | hdfs_site_path = "/etc/hadoop/conf/hdfs-site.xml" 21 | remote_user = "hadoop" 22 | } 23 | -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-hive/src/test/resources/hive_without_kerberos.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | { 18 | table_name="temp.group_brand_order_list_board" 19 | metastore_uri="thrift://localhost:9083" 20 | hdfs_site_path = "/etc/hadoop/conf/hdfs-site.xml" 21 | } 22 | -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-iceberg/src/main/java/org/apache/seatunnel/connectors/seatunnel/iceberg/sink/schema/ISchemaChange.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.connectors.seatunnel.iceberg.sink.schema; 19 | 20 | public interface ISchemaChange {} 21 | -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-neo4j/src/main/java/org/apache/seatunnel/connectors/seatunnel/neo4j/config/Neo4jSourceOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.connectors.seatunnel.neo4j.config; 19 | 20 | public class Neo4jSourceOptions extends Neo4jBaseOptions {} 21 | -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-paimon/src/main/resources/META-INF/services/org.apache.paimon.fs.FileIOLoader: -------------------------------------------------------------------------------- 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 | org.apache.seatunnel.connectors.seatunnel.paimon.filesystem.S3Loader 17 | -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-qdrant/src/main/java/org/apache/seatunnel/connectors/seatunnel/qdrant/config/QdrantSinkOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.connectors.seatunnel.qdrant.config; 19 | 20 | public class QdrantSinkOptions extends QdrantBaseOptions {} 21 | -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-qdrant/src/main/java/org/apache/seatunnel/connectors/seatunnel/qdrant/config/QdrantSourceOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.connectors.seatunnel.qdrant.config; 19 | 20 | public class QdrantSourceOptions extends QdrantBaseOptions {} 21 | -------------------------------------------------------------------------------- /seatunnel-connectors-v2/connector-socket/src/main/java/org/apache/seatunnel/connectors/seatunnel/socket/config/SocketSourceOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.connectors.seatunnel.socket.config; 19 | 20 | public class SocketSourceOptions extends SocketCommonOptions {} 21 | -------------------------------------------------------------------------------- /seatunnel-core/README.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | This module is the seatunnel job entrypoint. SeaTunnel jobs are started by the below process. 4 |  5 | 6 | - seatunnel-core-flink: The flink job starter. 7 | - seatunnel-core-flink-sql: The flink sql job starter. 8 | - seatunnel-core-spark: The spark job starter. 9 | - seatunnel-spark-starter: The spark job starter for connector-v2. 10 | - seatunnel-flink-starter: The flink job starter for connector-v2. 11 | - seatunnel-starter: The seatunnel engine job starter for connector-v2. 12 | -------------------------------------------------------------------------------- /seatunnel-core/seatunnel-core-starter/README.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | This module is the base start module for SeaTunnel new connector API. 4 | 5 |  6 | 7 | # SeaTunnel Job Execute Process 8 | 9 | The first step, SeaTunnel runtime engine will get job definition from seatunnel.conf file, then parse the config, load 10 | seatunnel plugin from classpath/FileSystem. After initialize seatunnel plugin, SeaTunnel runtime engine will translate 11 | the job to target engine(Flink/Spark) job, then submit the job to target engine. 12 | 13 | -------------------------------------------------------------------------------- /seatunnel-core/seatunnel-core-starter/src/main/resources/META-INF/services/org.apache.seatunnel.api.configuration.ConfigShade: -------------------------------------------------------------------------------- 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 | org.apache.seatunnel.core.starter.utils.ConfigShadeUtils$Base64ConfigShade -------------------------------------------------------------------------------- /seatunnel-core/seatunnel-core-starter/src/test/resources/META-INF/services/org.apache.seatunnel.api.configuration.ConfigShade: -------------------------------------------------------------------------------- 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 | org.apache.seatunnel.core.starter.utils.ConfigShadeTest$Base64ConfigShade 17 | org.apache.seatunnel.core.starter.utils.ConfigShadeTest$ConfigShadeWithProps -------------------------------------------------------------------------------- /seatunnel-core/seatunnel-flink-starter/seatunnel-flink-15-starter/src/test/resources/config/fake_to_inmemory.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "parallelism": 4, 4 | "job.mode": "BATCH" 5 | }, 6 | "source": [ 7 | { 8 | "plugin_name": "FakeSource", 9 | "plugin_output": "fake_to_inmemory_wtih_flink", 10 | "row.num": 10, 11 | "schema": { 12 | "fields": { 13 | "name": "string", 14 | "age": "int", 15 | "card": "int" 16 | } 17 | } 18 | } 19 | ], 20 | "transform": [ 21 | ], 22 | "sink": [ 23 | { 24 | "plugin_name": "InMemory", 25 | "plugin_input": "fake_to_inmemory_wtih_flink" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /seatunnel-core/seatunnel-flink-starter/seatunnel-flink-15-starter/src/test/resources/config/fake_to_inmemory_without_pluginname.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "parallelism": 4, 4 | "job.mode": "BATCH" 5 | }, 6 | "source": [ 7 | { 8 | "plugin_output": "fake_to_inmemory_wtih_flink", 9 | "row.num": 10, 10 | "schema": { 11 | "fields": { 12 | "name": "string", 13 | "age": "int", 14 | "card": "int" 15 | } 16 | } 17 | } 18 | ], 19 | "transform": [ 20 | ], 21 | "sink": [ 22 | { 23 | "plugin_input": "fake_to_inmemory_wtih_flink" 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /seatunnel-core/seatunnel-spark-starter/seatunnel-spark-3-starter/src/test/resources/config/fake_to_inmemory.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "parallelism": 4, 4 | "job.mode": "BATCH", 5 | "spark.executor.instances": 1, 6 | "spark.executor.cores": 1, 7 | "spark.executor.memory": "1g", 8 | "spark.master": "local" 9 | }, 10 | "source": [ 11 | { 12 | "plugin_name": "FakeSource", 13 | "plugin_output": "fake_to_inmemory_wtih_spark", 14 | "row.num": 10, 15 | "schema": { 16 | "fields": { 17 | "name": "string", 18 | "age": "int", 19 | "card": "int" 20 | } 21 | } 22 | } 23 | ], 24 | "transform": [ 25 | ], 26 | "sink": [ 27 | { 28 | "plugin_name": "InMemory", 29 | "plugin_input": "fake_to_inmemory_wtih_spark" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /seatunnel-core/seatunnel-spark-starter/seatunnel-spark-3-starter/src/test/resources/config/fake_to_inmemory_without_pluginname.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "parallelism": 4, 4 | "job.mode": "BATCH", 5 | "spark.executor.instances": 1, 6 | "spark.executor.cores": 1, 7 | "spark.executor.memory": "1g", 8 | "spark.master": "local" 9 | }, 10 | "source": [ 11 | { 12 | "plugin_output": "fake_to_inmemory_wtih_spark", 13 | "row.num": 10, 14 | "schema": { 15 | "fields": { 16 | "name": "string", 17 | "age": "int", 18 | "card": "int" 19 | } 20 | } 21 | } 22 | ], 23 | "transform": [ 24 | ], 25 | "sink": [ 26 | { 27 | "plugin_input": "fake_to_inmemory_wtih_spark" 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /seatunnel-core/seatunnel-starter/src/test/resources/config/fake_to_inmemory.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "parallelism": 4, 4 | "job.mode": "BATCH" 5 | }, 6 | "source": [ 7 | { 8 | "plugin_name": "FakeSource", 9 | "plugin_output": "fake_to_inmemory_wtih_zeta", 10 | "row.num": 10, 11 | "schema": { 12 | "fields": { 13 | "name": "string", 14 | "age": "int", 15 | "card": "int" 16 | } 17 | } 18 | } 19 | ], 20 | "transform": [ 21 | ], 22 | "sink": [ 23 | { 24 | "plugin_name": "InMemory", 25 | "plugin_input": "fake_to_inmemory_wtih_zeta" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /seatunnel-core/seatunnel-starter/src/test/resources/config/fake_to_inmemory_oom.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "parallelism": 1, 4 | "job.mode": "BATCH" 5 | }, 6 | "source": [ 7 | { 8 | "plugin_name": "FakeSource", 9 | "plugin_output": "fake_oom_test", 10 | "row.num": 100, 11 | "split.num": 5, 12 | "schema": { 13 | "fields": { 14 | "name": "string", 15 | "age": "int" 16 | } 17 | }, 18 | "parallelism": 1 19 | } 20 | ], 21 | "transform": [ 22 | ], 23 | "sink": [ 24 | { 25 | "plugin_name": "InMemory", 26 | "plugin_input": "fake_oom_test", 27 | "throw_out_of_memory": true 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /seatunnel-core/seatunnel-starter/src/test/resources/config/fake_to_inmemory_without_pluginname.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "parallelism": 4, 4 | "job.mode": "BATCH" 5 | }, 6 | "source": [ 7 | { 8 | "plugin_output": "fake_to_inmemory_wtih_zeta", 9 | "row.num": 10, 10 | "schema": { 11 | "fields": { 12 | "name": "string", 13 | "age": "int", 14 | "card": "int" 15 | } 16 | } 17 | } 18 | ], 19 | "transform": [ 20 | ], 21 | "sink": [ 22 | { 23 | "plugin_input": "fake_to_inmemory_wtih_zeta" 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-accessors-smart.txt: -------------------------------------------------------------------------------- 1 | http://www.apache.org/licenses/LICENSE-2.0.txt -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-error-prone-annotations.txt: -------------------------------------------------------------------------------- 1 | License: {Name: Apache 2.0, URL: http://www.apache.org/licenses/LICENSE-2.0.txt, Distribution: , Comments: , } -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-findbugs-jsr305.txt: -------------------------------------------------------------------------------- 1 | http://www.apache.org/licenses/LICENSE-2.0.txt -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-gson.txt: -------------------------------------------------------------------------------- 1 | License: {Name: The Apache Software License, Version 2.0, URL: http://www.apache.org/licenses/LICENSE-2.0.txt, Distribution: repo, Comments: , } -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-guava.txt: -------------------------------------------------------------------------------- 1 | http://www.apache.org/licenses/LICENSE-2.0.txt -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-hadoop-annotations.txt: -------------------------------------------------------------------------------- 1 | 2 | Licensed under the Apache License, Version 2.0 (the "License"); 3 | you may not use this file except in compliance with the License. 4 | You may obtain a copy of the License at 5 | 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. See accompanying LICENSE file. 13 | -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-hadoop-auth.txt: -------------------------------------------------------------------------------- 1 | 2 | Licensed under the Apache License, Version 2.0 (the "License"); 3 | you may not use this file except in compliance with the License. 4 | You may obtain a copy of the License at 5 | 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. See accompanying LICENSE file. 13 | -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-hadoop-client.txt: -------------------------------------------------------------------------------- 1 | 2 | Licensed under the Apache License, Version 2.0 (the "License"); 3 | you may not use this file except in compliance with the License. 4 | You may obtain a copy of the License at 5 | 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. See accompanying LICENSE file. 13 | -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-hadoop-common.txt: -------------------------------------------------------------------------------- 1 | 2 | Licensed under the Apache License, Version 2.0 (the "License"); 3 | you may not use this file except in compliance with the License. 4 | You may obtain a copy of the License at 5 | 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. See accompanying LICENSE file. 13 | -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-hadoop-hdfs-client.txt: -------------------------------------------------------------------------------- 1 | 2 | Licensed under the Apache License, Version 2.0 (the "License"); 3 | you may not use this file except in compliance with the License. 4 | You may obtain a copy of the License at 5 | 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. See accompanying LICENSE file. 13 | -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-hadoop-mapreduce-client-common.txt: -------------------------------------------------------------------------------- 1 | 2 | Licensed under the Apache License, Version 2.0 (the "License"); 3 | you may not use this file except in compliance with the License. 4 | You may obtain a copy of the License at 5 | 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. See accompanying LICENSE file. 13 | -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-hadoop-mapreduce-client-core.txt: -------------------------------------------------------------------------------- 1 | 2 | Licensed under the Apache License, Version 2.0 (the "License"); 3 | you may not use this file except in compliance with the License. 4 | You may obtain a copy of the License at 5 | 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. See accompanying LICENSE file. 13 | -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-hadoop-yarn-api.txt: -------------------------------------------------------------------------------- 1 | 2 | Licensed under the Apache License, Version 2.0 (the "License"); 3 | you may not use this file except in compliance with the License. 4 | You may obtain a copy of the License at 5 | 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. See accompanying LICENSE file. 13 | -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-hadoop-yarn-client.txt: -------------------------------------------------------------------------------- 1 | 2 | Licensed under the Apache License, Version 2.0 (the "License"); 3 | you may not use this file except in compliance with the License. 4 | You may obtain a copy of the License at 5 | 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. See accompanying LICENSE file. 13 | -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-hadoop-yarn-common.txt: -------------------------------------------------------------------------------- 1 | 2 | Licensed under the Apache License, Version 2.0 (the "License"); 3 | you may not use this file except in compliance with the License. 4 | You may obtain a copy of the License at 5 | 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. See accompanying LICENSE file. 13 | -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-j2objc-annotations.txt: -------------------------------------------------------------------------------- 1 | License: {Name: The Apache Software License, Version 2.0, URL: http://www.apache.org/licenses/LICENSE-2.0.txt, Distribution: repo, Comments: , } -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-jackson-core-asl.txt: -------------------------------------------------------------------------------- 1 | License: {Name: The Apache Software License, Version 2.0, URL: http://www.apache.org/licenses/LICENSE-2.0.txt, Distribution: repo, Comments: , } -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-jackson-mapper-asl.txt: -------------------------------------------------------------------------------- 1 | License: {Name: The Apache Software License, Version 2.0, URL: http://www.apache.org/licenses/LICENSE-2.0.txt, Distribution: repo, Comments: , } -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-jaxb-api.txt: -------------------------------------------------------------------------------- 1 | https://glassfish.java.net/public/CDDL+GPL_1_1.html, https://glassfish.java.net/public/CDDL+GPL_1_1.html -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-jcip-annotations.txt: -------------------------------------------------------------------------------- 1 | License: {Name: Apache License, Version 2.0, URL: http://www.apache.org/licenses/LICENSE-2.0.txt, Distribution: repo, Comments: , } -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-jersey-client.txt: -------------------------------------------------------------------------------- 1 | http://glassfish.java.net/public/CDDL+GPL_1_1.html, http://glassfish.java.net/public/CDDL+GPL_1_1.html -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-jersey-core.txt: -------------------------------------------------------------------------------- 1 | http://glassfish.java.net/public/CDDL+GPL_1_1.html, http://glassfish.java.net/public/CDDL+GPL_1_1.html -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-jersey-servlet.txt: -------------------------------------------------------------------------------- 1 | http://glassfish.java.net/public/CDDL+GPL_1_1.html, http://glassfish.java.net/public/CDDL+GPL_1_1.html -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-jose-jwt.txt: -------------------------------------------------------------------------------- 1 | http://www.apache.org/licenses/LICENSE-2.0.txt -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-json-smart.txt: -------------------------------------------------------------------------------- 1 | http://www.apache.org/licenses/LICENSE-2.0.txt -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-jsr311-api.txt: -------------------------------------------------------------------------------- 1 | http://www.opensource.org/licenses/cddl1.php -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-mapreduce-client-jobclient.txt: -------------------------------------------------------------------------------- 1 | 2 | Licensed under the Apache License, Version 2.0 (the "License"); 3 | you may not use this file except in compliance with the License. 4 | You may obtain a copy of the License at 5 | 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | 8 | Unless required by applicable law or agreed to in writing, software 9 | distributed under the License is distributed on an "AS IS" BASIS, 10 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | See the License for the specific language governing permissions and 12 | limitations under the License. See accompanying LICENSE file. 13 | -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-protobuf-java.txt: -------------------------------------------------------------------------------- 1 | http://www.opensource.org/licenses/bsd-license.php -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-re2j.txt: -------------------------------------------------------------------------------- 1 | License: {Name: The Go license, URL: https://golang.org/LICENSE, Distribution: repo, Comments: , } -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-scala.txt: -------------------------------------------------------------------------------- 1 | 2 | Copyright (c) 2002-<span class="current-year"> </span> [EPFL](https://lamp.epfl.ch/)<br> 3 | Copyright (c) 2011-<span class="current-year"> </span> [Lightbend, Inc](https://www.lightbend.com/). 4 | 5 | Scala is licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) (the "License"). 6 | 7 | Unless required by applicable law or agreed to in writing, software 8 | distributed under the License is distributed on an "AS IS" BASIS, 9 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | See the License for the specific language governing permissions and 11 | limitations under the License. 12 | 13 | Scala includes software with other licenses. See the NOTICE file distributed 14 | with this work for additional information regarding copyright ownership. 15 | 16 | NOTE: Versions of Scala distributed prior to December 2018 were licensed under the [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause). The license change was [announced in May 2018](https://www.scala-lang.org/news/license-change.html). -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-stax2-api.txt: -------------------------------------------------------------------------------- 1 | http://www.opensource.org/licenses/bsd-license.php -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-woodstox-core.txt: -------------------------------------------------------------------------------- 1 | http://www.apache.org/licenses/LICENSE-2.0.txt -------------------------------------------------------------------------------- /seatunnel-dist/release-docs/licenses/LICENSE-xz.txt: -------------------------------------------------------------------------------- 1 | Licensing of XZ for Java 2 | ======================== 3 | 4 | All the files in this package have been written by Lasse Collin, 5 | Igor Pavlov, and/or Brett Okken. All these files have been put into 6 | the public domain. You can do whatever you want with these files. 7 | 8 | This software is provided "as is", without any warranty. -------------------------------------------------------------------------------- /seatunnel-dist/src/main/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM openjdk:8 as builder 2 | 3 | ARG VERSION 4 | 5 | COPY ./target/apache-seatunnel-${VERSION}-bin.tar.gz /opt/ 6 | RUN cd /opt && \ 7 | tar -zxvf apache-seatunnel-${VERSION}-bin.tar.gz && \ 8 | mv apache-seatunnel-${VERSION} seatunnel && \ 9 | rm apache-seatunnel-${VERSION}-bin.tar.gz && \ 10 | sed -i 's/#rootLogger.appenderRef.consoleStdout.ref/rootLogger.appenderRef.consoleStdout.ref/' seatunnel/config/log4j2.properties && \ 11 | sed -i 's/#rootLogger.appenderRef.consoleStderr.ref/rootLogger.appenderRef.consoleStderr.ref/' seatunnel/config/log4j2.properties && \ 12 | sed -i 's/rootLogger.appenderRef.file.ref/#rootLogger.appenderRef.file.ref/' seatunnel/config/log4j2.properties && \ 13 | cp seatunnel/config/hazelcast-master.yaml seatunnel/config/hazelcast-worker.yaml 14 | 15 | FROM openjdk:8 16 | COPY --from=builder /opt/seatunnel /opt/seatunnel 17 | WORKDIR /opt/seatunnel 18 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cassandra-e2e/src/test/resources/application.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | datastax-java-driver { 19 | advanced.protocol.version = V5 20 | profiles { 21 | slow { 22 | basic.request.timeout = 10 seconds 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cdc-mongodb-e2e/src/test/resources/ddl/inventoryClean.js: -------------------------------------------------------------------------------- 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 | db.getCollection('products').deleteMany({}) 17 | 18 | db.getCollection('orders').deleteMany({}) 19 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-cdc-sqlserver-e2e/src/test/resources/container-license-acceptance.txt: -------------------------------------------------------------------------------- 1 | mcr.microsoft.com/mssql/server:2019-latest -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-elasticsearch-e2e/src/test/resources/elasticsearch/st_index_nest_data.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "John Doe", 3 | "address": [ 4 | { 5 | "street": "123 Main St", 6 | "city": "New York", 7 | "zipcode": "10001" 8 | }, 9 | { 10 | "street": "456 Elm St", 11 | "city": "Los Angeles", 12 | "zipcode": "90001" 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-elasticsearch-e2e/src/test/resources/elasticsearch/st_index_nest_mapping.json: -------------------------------------------------------------------------------- 1 | { 2 | "mappings": { 3 | "properties": { 4 | "name": { 5 | "type": "text" 6 | }, 7 | "address": { 8 | "type": "nested", 9 | "properties": { 10 | "street": { 11 | "type": "text" 12 | }, 13 | "city": { 14 | "type": "keyword" 15 | }, 16 | "zipcode": { 17 | "type": "keyword" 18 | } 19 | } 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-ftp-e2e/src/test/resources/excel/e2e.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-ftp-e2e/src/test/resources/excel/e2e.xlsx -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-ftp-e2e/src/test/resources/text/e2e-txt.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-ftp-e2e/src/test/resources/text/e2e-txt.zip -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/binary/cat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/binary/cat.png -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/csv/break_line.csv: -------------------------------------------------------------------------------- 1 | 20,"harry 2 | potter" 3 | 21,"tom" -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/csv/csv_with_header1.csv: -------------------------------------------------------------------------------- 1 | name,id,is_female 2 | tom,20,true -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/csv/csv_with_header2.csv: -------------------------------------------------------------------------------- 1 | name,is_female,id 2 | tommy,false,30 -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/excel/e2e.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/excel/e2e.xls -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/excel/e2e.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/excel/e2e.xlsx -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/json/e2e_gbk.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/json/e2e_gbk.json -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/orc/e2e.orc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/orc/e2e.orc -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/orc/orc_for_cast.orc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/orc/orc_for_cast.orc -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/parquet/e2e.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/parquet/e2e.parquet -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/text/e2e_gbk.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/text/e2e_gbk.txt -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-local-e2e/src/test/resources/text/e2e_null_format.txt: -------------------------------------------------------------------------------- 1 | 1,a,a,1 2 | 2,a,a,1 3 | 3,a,a,1 -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-oss-e2e/src/test/resources/excel/e2e.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-oss-e2e/src/test/resources/excel/e2e.xlsx -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-oss-e2e/src/test/resources/json/e2e.json.lzo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-oss-e2e/src/test/resources/json/e2e.json.lzo -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-oss-e2e/src/test/resources/orc/e2e.orc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-oss-e2e/src/test/resources/orc/e2e.orc -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-oss-e2e/src/test/resources/parquet/e2e.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-oss-e2e/src/test/resources/parquet/e2e.parquet -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-oss-e2e/src/test/resources/text/e2e-text.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-oss-e2e/src/test/resources/text/e2e-text.zip -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-oss-e2e/src/test/resources/text/e2e.txt.lzo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-oss-e2e/src/test/resources/text/e2e.txt.lzo -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/resources/excel/e2e.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/resources/excel/e2e.xlsx -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/resources/json/e2e.json.lzo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/resources/json/e2e.json.lzo -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/resources/orc/e2e.orc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/resources/orc/e2e.orc -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/resources/parquet/e2e.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/resources/parquet/e2e.parquet -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/resources/text/e2e-text.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/resources/text/e2e-text.zip -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/resources/text/e2e.txt.lzo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-s3-e2e/src/test/resources/text/e2e.txt.lzo -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-sftp-e2e/src/test/resources/excel/e2e.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-sftp-e2e/src/test/resources/excel/e2e.xlsx -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-sftp-e2e/src/test/resources/text/e2e-text.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-file-sftp-e2e/src/test/resources/text/e2e-text.zip -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-1/src/test/resources/sql/oracle_init.sql: -------------------------------------------------------------------------------- 1 | -- 2 | -- Licensed to the Apache Software Foundation (ASF) under one or more 3 | -- contributor license agreements. See the NOTICE file distributed with 4 | -- this work for additional information regarding copyright ownership. 5 | -- The ASF licenses this file to You under the Apache License, Version 2.0 6 | -- (the "License"); you may not use this file except in compliance with 7 | -- 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 | 18 | ALTER SESSION SET CONTAINER = TESTUSER; 19 | 20 | CREATE USER TESTUSER IDENTIFIED BY testPassword; 21 | 22 | GRANT DBA TO TESTUSER; -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-2/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | junit.jupiter.execution.parallel.mode.default = same_thread 19 | junit.jupiter.execution.parallel.mode.classes.default = same_thread 20 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-6/src/test/resources/sql/oracle_init.sql: -------------------------------------------------------------------------------- 1 | -- 2 | -- Licensed to the Apache Software Foundation (ASF) under one or more 3 | -- contributor license agreements. See the NOTICE file distributed with 4 | -- this work for additional information regarding copyright ownership. 5 | -- The ASF licenses this file to You under the Apache License, Version 2.0 6 | -- (the "License"); you may not use this file except in compliance with 7 | -- 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 | 18 | ALTER SESSION SET CONTAINER = TESTUSER; 19 | 20 | CREATE USER TESTUSER IDENTIFIED BY testPassword; 21 | 22 | GRANT DBA TO TESTUSER; -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-7/src/test/resources/password/password.txt: -------------------------------------------------------------------------------- 1 | Seatunnel 2 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/sink/inmemory/InMemoryCommitInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.e2e.sink.inmemory; 19 | 20 | import java.io.Serializable; 21 | 22 | public class InMemoryCommitInfo implements Serializable {} 23 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/sink/inmemory/InMemoryConnection.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.e2e.sink.inmemory; 19 | 20 | public class InMemoryConnection {} 21 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/sink/inmemory/InMemoryState.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.e2e.sink.inmemory; 19 | 20 | public class InMemoryState {} 21 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/resources/connector-package-service-test-server1-resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | junit.jupiter.execution.parallel.mode.default = same_thread 19 | junit.jupiter.execution.parallel.mode.classes.default = same_thread 20 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/resources/connector-package-service-test-server1-resources/jvm_options: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | # JVM Heap 19 | -Xms2g 20 | -Xmx2g 21 | 22 | # JVM Dump 23 | -XX:+HeapDumpOnOutOfMemoryError 24 | -XX:HeapDumpPath=/tmp/seatunnel/dump/zeta-server -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/resources/connector-package-service-test-server2-resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | junit.jupiter.execution.parallel.mode.default = same_thread 19 | junit.jupiter.execution.parallel.mode.classes.default = same_thread 20 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/resources/connector-package-service-test-server2-resources/jvm_options: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | # JVM Heap 19 | -Xms2g 20 | -Xmx2g 21 | 22 | # JVM Dump 23 | -XX:+HeapDumpOnOutOfMemoryError 24 | -XX:HeapDumpPath=/tmp/seatunnel/dump/zeta-server -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/resources/connector-package-service-test-server3-resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | junit.jupiter.execution.parallel.mode.default = same_thread 19 | junit.jupiter.execution.parallel.mode.classes.default = same_thread 20 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/resources/connector-package-service-test-server3-resources/jvm_options: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | # JVM Heap 19 | -Xms2g 20 | -Xmx2g 21 | 22 | # JVM Dump 23 | -XX:+HeapDumpOnOutOfMemoryError 24 | -XX:HeapDumpPath=/tmp/seatunnel/dump/zeta-server -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/resources/junit-platform.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | junit.jupiter.execution.parallel.mode.default = same_thread 19 | junit.jupiter.execution.parallel.mode.classes.default = same_thread 20 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/resources/jvm_client_options: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | # JVM Heap 19 | -Xms1g 20 | -Xmx1g 21 | 22 | # JVM Dump 23 | -XX:+HeapDumpOnOutOfMemoryError 24 | -XX:HeapDumpPath=/tmp/seatunnel/dump/zeta-client 25 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-engine-e2e/connector-seatunnel-e2e-base/src/test/resources/upload-file/fake_to_console.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "job.mode": "batch" 4 | }, 5 | "source": [ 6 | { 7 | "plugin_name": "FakeSource", 8 | "plugin_output": "fake", 9 | "row.num": 100, 10 | "schema": { 11 | "fields": { 12 | "name": "string", 13 | "age": "int", 14 | "card": "int" 15 | } 16 | } 17 | } 18 | ], 19 | "transform": [ 20 | ], 21 | "sink": [ 22 | { 23 | "plugin_name": "Console", 24 | "plugin_input": ["fake"] 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-transforms-v2-e2e/seatunnel-transforms-v2-e2e-part-1/src/test/resources/filter_row_to_next_transform.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "jobMode": "batch", 4 | "parallelism": 1 5 | }, 6 | "source": [ 7 | { 8 | "plugin_name": "FakeSource", 9 | "plugin_output": "fake", 10 | "row.num": 5, 11 | "schema": { 12 | "fields": { 13 | "name": "string", 14 | "age": "int", 15 | "card": "int" 16 | } 17 | } 18 | } 19 | ], 20 | "transform": [ 21 | { 22 | "plugin_name": "FilterRowKind", 23 | "plugin_input": "fake", 24 | "plugin_output": "fake1", 25 | "exclude_kinds": ["INSERT"] 26 | }, 27 | { 28 | "plugin_name": "Copy", 29 | "plugin_input": "fake1", 30 | "plugin_output": "fake2", 31 | "fields": { 32 | "name1": "name", 33 | "age1": "age", 34 | "card1": "card" 35 | } 36 | } 37 | ], 38 | "sink": [ 39 | { 40 | "plugin_name": "Console", 41 | "plugin_input": "fake2" 42 | } 43 | ] 44 | } 45 | -------------------------------------------------------------------------------- /seatunnel-e2e/seatunnel-transforms-v2-e2e/seatunnel-transforms-v2-e2e-part-2/src/test/resources/dynamic_compile/conf/mockserver-config.json: -------------------------------------------------------------------------------- 1 | 2 | // https://www.mock-server.com/mock_server/getting_started.html#request_matchers 3 | [ 4 | { 5 | "httpRequest": { 6 | "method": "GET", 7 | "path": "/v1/compile" 8 | }, 9 | "httpResponse": { 10 | "body": { 11 | "compile": "seatunnel-compile" 12 | }, 13 | "headers": { 14 | "Content-Type": "application/json" 15 | } 16 | } 17 | } 18 | ] -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-client/src/test/resources/hazelcast-client.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | hazelcast-client: 19 | cluster-name: seatunnel 20 | 21 | network: 22 | cluster-members: 23 | - localhost:5801 24 | - localhost:5802 25 | - localhost:5803 26 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/config/server/QueueType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.engine.common.config.server; 19 | 20 | public enum QueueType { 21 | DISRUPTOR, 22 | BLOCKINGQUEUE 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/config/server/ScheduleStrategy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.engine.common.config.server; 19 | 20 | public enum ScheduleStrategy { 21 | WAIT, 22 | REJECT 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/config/server/ThreadShareMode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.engine.common.config.server; 19 | 20 | public enum ThreadShareMode { 21 | ALL, 22 | OFF, 23 | PART 24 | } 25 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/runtime/DeployType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.engine.common.runtime; 19 | 20 | public enum DeployType { 21 | STANDALONE, 22 | YARN, 23 | KUBERNETES 24 | } 25 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/runtime/ExecutionMode.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.engine.common.runtime; 19 | 20 | public enum ExecutionMode { 21 | LOCAL, 22 | CLUSTER 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-common/src/main/resources-filtered/zeta.version.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | project.version=${project.version} 19 | git.commit.id=${git.commit.id} 20 | git.commit.id.abbrev=${git.commit.id.abbrev} 21 | git.commit.time=${git.commit.time} 22 | git.build.time=${git.build.time} -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-common/src/main/resources/META-INF/services/com.hazelcast.DataSerializerHook: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | org.apache.seatunnel.engine.common.serializeable.ConfigDataSerializerHook 19 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-core/src/main/java/org/apache/seatunnel/engine/core/dag/actions/Config.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.engine.core.dag.actions; 19 | 20 | import java.io.Serializable; 21 | 22 | public interface Config extends Serializable {} 23 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-core/src/main/java/org/apache/seatunnel/engine/core/job/StatusUpdate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.engine.core.job; 19 | 20 | public enum StatusUpdate { 21 | STOP, 22 | CANCEL; 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-core/src/main/resources/META-INF/services/com.hazelcast.DataSerializerHook: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | org.apache.seatunnel.engine.core.serializable.JobDataSerializerHook 19 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/serializable/TypeId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.engine.server.serializable; 19 | 20 | public class TypeId { 21 | static final int RECORD = 1; 22 | } 23 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-server/src/main/resources/META-INF/services/com.hazelcast.SerializerHook: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | org.apache.seatunnel.engine.server.serializable.RecordSerializerHook 19 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-server/src/main/resources/META-INF/services/com.hazelcast.client.impl.protocol.MessageTaskFactoryProvider: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | org.apache.seatunnel.engine.server.protocol.task.SeaTunnelMessageTaskFactoryProvider 19 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-server/src/main/resources/hazelcast-client.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | hazelcast-client: 19 | cluster-name: seatunnel 20 | 21 | network: 22 | cluster-members: 23 | - localhost:5801 24 | - localhost:5802 25 | - localhost:5803 26 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-server/src/test/resources/https/client_keystore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-engine/seatunnel-engine-server/src/test/resources/https/client_keystore.jks -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-server/src/test/resources/https/client_truststore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-engine/seatunnel-engine-server/src/test/resources/https/client_truststore.jks -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-server/src/test/resources/https/server_keystore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-engine/seatunnel-engine-server/src/test/resources/https/server_keystore.jks -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-server/src/test/resources/https/server_truststore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-engine/seatunnel-engine-server/src/test/resources/https/server_truststore.jks -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-server/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | mock-maker-inline -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/.env.production: -------------------------------------------------------------------------------- 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 | NODE_ENV=production 17 | 18 | # the context path of api service 19 | VITE_APP_API_BASE='' 20 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | .DS_Store 12 | dist 13 | dist-ssr 14 | coverage 15 | *.local 16 | 17 | /cypress/videos/ 18 | /cypress/screenshots/ 19 | 20 | # Editor directories and files 21 | .vscode/* 22 | !.vscode/extensions.json 23 | .idea 24 | *.suo 25 | *.ntvs* 26 | *.njsproj 27 | *.sln 28 | *.sw? 29 | 30 | *.tsbuildinfo 31 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/prettierrc", 3 | "semi": false, 4 | "tabWidth": 2, 5 | "singleQuote": true, 6 | "printWidth": 100, 7 | "trailingComma": "none" 8 | } -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/cypress.config.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | import { defineConfig } from 'cypress' 19 | 20 | export default defineConfig({ 21 | e2e: { 22 | specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', 23 | baseUrl: 'http://localhost:4173' 24 | } 25 | }) 26 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/cypress/e2e/example.cy.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | // https://on.cypress.io/api 19 | 20 | describe('My First Test', () => { 21 | it('visits the app root url', () => { 22 | cy.visit('/') 23 | cy.contains('h1', 'You did it!') 24 | }) 25 | }) 26 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/cypress/e2e/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vue/tsconfig/tsconfig.dom.json", 3 | "include": ["./**/*", "../support/**/*"], 4 | "compilerOptions": { 5 | "isolatedModules": false, 6 | "types": ["cypress"] 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/cypress/fixtures/example.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Using fixtures to represent data", 3 | "email": "hello@cypress.io", 4 | "body": "Fixtures are a great way to mock data for responses to routes" 5 | } 6 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/env.d.ts: -------------------------------------------------------------------------------- 1 | /// <reference types="vite/client" /> 2 | /* 3 | * Licensed to the Apache Software Foundation (ASF) under one or more 4 | * contributor license agreements. See the NOTICE file distributed with 5 | * this work for additional information regarding copyright ownership. 6 | * The ASF licenses this file to You under the Apache License, Version 2.0 7 | * (the "License"); you may not use this file except in compliance with 8 | * 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 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/postcss.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | export default { 19 | plugins: { 20 | tailwindcss: {}, 21 | autoprefixer: {} 22 | } 23 | } -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-engine/seatunnel-engine-ui/public/favicon.ico -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-engine/seatunnel-engine-ui/src/assets/logo.png -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/assets/main.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | @use './style.scss'; 19 | @tailwind base; 20 | @tailwind components; 21 | @tailwind utilities; 22 | @tailwind screens; 23 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/assets/style.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | .n-layout { 19 | background-color: #f7f8fa; 20 | } 21 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/assets/tailwind.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | @tailwind base; 19 | @tailwind components; 20 | @tailwind utilities; 21 | @tailwind screens; 22 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/locales/en_US/common.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | export default { 19 | date: 'd', 20 | hour: 'h', 21 | min: 'm', 22 | second: 's', 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/locales/en_US/detail.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | export default { 19 | id: 'ID', 20 | createTime: 'Create Time', 21 | duration: 'Duration', 22 | } 23 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/locales/en_US/jobs.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | export default { 19 | runningJobs: 'Running Jobs', 20 | finishedJobs: 'Finished Jobs' 21 | } 22 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/locales/en_US/managers.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | export default { 19 | managers: 'Managers' 20 | } 21 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/locales/zh_CN/common.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | export default { 19 | date: '天', 20 | hour: '时', 21 | min: '分', 22 | second: '秒', 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/locales/zh_CN/detail.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | export default { 19 | id: 'ID', 20 | createTime: '开始时间', 21 | duration: '运行时间', 22 | } 23 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/locales/zh_CN/jobs.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | export default { 19 | runningJobs: '运行中', 20 | finishedJobs: '已结束' 21 | } 22 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/locales/zh_CN/managers.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | export default { 19 | managers: '管理者' 20 | } 21 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/locales/zh_CN/menu.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | export default { 19 | overview: '概览', 20 | jobs: '任务', 21 | managers: '管理', 22 | synchronization_instance: '同步任务实例', 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/service/job-log/types.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | export interface JobLog { 19 | node: string 20 | logLink: string 21 | logName: string 22 | } 23 | -------------------------------------------------------------------------------- /seatunnel-engine/seatunnel-engine-ui/src/views/jobs/detail.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | .n-data-table .n-data-table-tr.focused-row { 19 | &, 20 | &:hover { 21 | td.n-data-table-td { 22 | background-color: #e6f7ff; 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /seatunnel-examples/seatunnel-spark-connector-v2-example/src/README.md: -------------------------------------------------------------------------------- 1 | ### **Example** 2 |  -------------------------------------------------------------------------------- /seatunnel-examples/seatunnel-spark-connector-v2-example/src/img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/seatunnel/3836c97a62079f1e8d7ca7a9f32c02175030bb3a/seatunnel-examples/seatunnel-spark-connector-v2-example/src/img.png -------------------------------------------------------------------------------- /seatunnel-formats/seatunnel-format-csv/src/test/resources/testdata.csv: -------------------------------------------------------------------------------- 1 | city,order_no,amount 2 | New York,ORDER001,1000 3 | "San Francisco,CA","ORDER,002",2000 4 | Los Angeles,ORDER003,3000 5 | "Miami, FL",,5000 6 | Seattle,"ORDER,006,USA",6000 7 | Boston,ORDER007,7000 -------------------------------------------------------------------------------- /seatunnel-formats/seatunnel-format-json/src/test/resources/debezium-oracle.txt: -------------------------------------------------------------------------------- 1 | {"before":null,"after":{"F1":1,"F2":{"scale":0,"value":"AQ=="},"F3":1,"F4":1,"F5":1,"F6":1,"F7":{"scale":0,"value":"AQ=="},"F8":1,"F9":{"scale":0,"value":"AQ=="},"F10":null,"F11":"1","F12":"1","F13":"1","F14":"1","F16":"1","F18":"1","F19":null,"F20":"1","F21":"a","F22":"a","F23":null,"F25":null,"F27":1734449012000,"F28":1734449014000000,"F29":1734449015000000,"F30":"2024-12-17T15:23:37.618Z","F31":"2024-12-17T15:23:38.79Z","F32":"2024-12-17T15:23:40.28Z","F33":"2024-12-17T15:23:42.119Z"},"source":{"version":"1.6.4.Final","connector":"oracle","name":"oracle_logminer","ts_ms":1734509307601,"snapshot":"false","db":"ORCL","sequence":null,"schema":"QA_SOURCE","table":"ALL_TYPES1","txId":null,"scn":"0","commit_scn":"0","lcr_position":null},"op":"r","ts_ms":1734509307604,"transaction":null} -------------------------------------------------------------------------------- /seatunnel-formats/seatunnel-format-json/src/test/resources/debezium-postgresql.txt: -------------------------------------------------------------------------------- 1 | {"before":null,"after":{"id":1,"f1":true,"f2":[],"f3":null,"f5":1,"f6":1,"f7":[],"f8":1,"f9":1,"f10":1,"f11":[],"f12":1,"f13":1,"f14":[],"f15":1,"f16":[],"f17":1,"f18":[],"f19":1,"f20":1,"f21":1,"f22":1,"f23":1,"f24":1,"f25":"1","f26":"1","f27":[],"f28":"1","f29":"1","f30":null,"f31":"1","f32":"1","f33":null,"f34":"1","f35":"1","f36":null,"f37":"1","f38":null,"f41":"1","f42":"1","f43":"1","f44":20074,"f45":64834000000,"f46":64838000,"f47":"09:00:00","f48":"09:00:00+08:00","f49":64845000000,"f50":64847000,"f51":1734544849000000,"f52":1734458451000,"f53":"2024-12-17T18:00:52.458Z","f54":"2024-12-17T18:00:54.398Z","f55":1734458456000000,"f56":1734458457000,"f57":"2024-12-17T18:00:58.786Z","f58":true},"source":{"version":"1.6.4.Final","connector":"postgresql","name":"postgres_cdc_source","ts_ms":1734430557496,"snapshot":"false","db":"qa_source","sequence":"[null,\"-9223372036854775808\"]","schema":"public","table":"all_types_1","txId":null,"lsn":-9223372036854776000,"xmin":null},"op":"r","ts_ms":1734430557514,"transaction":null} -------------------------------------------------------------------------------- /seatunnel-formats/seatunnel-format-json/src/test/resources/debezium-sqlserver.txt: -------------------------------------------------------------------------------- 1 | {"before":null,"after":{"id":1,"f1":true,"f2":1,"f3":1,"f4":1,"f5":1,"f6":1,"f7":1,"f8":1,"f9":1,"f10":1,"f11":1,"f12":1,"f13":1,"f14":1,"f15":1,"f16":"1","f17":"1","f18":"1","f19":"1","f20":"1","f21":"1","f22":"1","f23":"1","f24":"1","f25":"1","f26":"1","f27":"1","f28":"1","f29":"AQ==","f30":"AQ==","f31":"AQ==","f32":"AQ==","f33":"AQ==","f34":"AQ==","f35":20073,"f36":75723000000000,"f37":75724000,"f38":1734382925000,"f39":1734382927000000000,"f40":1734382928000,"f41":"2024-12-16T21:02:09.799Z","f42":"2024-12-16T21:02:11.349Z","f43":1734382920000},"source":{"version":"1.6.4.Final","connector":"sqlserver","name":"sqlserver_transaction_log_source","ts_ms":1734503565494,"snapshot":"false","db":"qa_source","sequence":null,"schema":"dbo","table":"full_types_1","change_lsn":null,"commit_lsn":"00","event_serial_no":null},"op":"r","ts_ms":1734503565499,"transaction":null} -------------------------------------------------------------------------------- /seatunnel-transforms-v2/src/main/java/org/apache/seatunnel/transform/dynamiccompile/CompileLanguage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.transform.dynamiccompile; 19 | 20 | public enum CompileLanguage { 21 | GROOVY, 22 | JAVA 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-transforms-v2/src/main/java/org/apache/seatunnel/transform/dynamiccompile/CompilePattern.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.transform.dynamiccompile; 19 | 20 | public enum CompilePattern { 21 | SOURCE_CODE, 22 | ABSOLUTE_PATH 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-transforms-v2/src/main/java/org/apache/seatunnel/transform/rename/ConvertCase.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.transform.rename; 19 | 20 | public enum ConvertCase { 21 | LOWER, 22 | UPPER 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-transforms-v2/src/main/java/org/apache/seatunnel/transform/rowkind/RowKindExtractorTransformType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * 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 | 18 | package org.apache.seatunnel.transform.rowkind; 19 | 20 | public enum RowKindExtractorTransformType { 21 | SHORT, 22 | FULL 23 | } 24 | -------------------------------------------------------------------------------- /seatunnel-translation/seatunnel-translation-spark/seatunnel-translation-spark-2.4/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # 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 | 18 | org.apache.seatunnel.translation.spark.source.SeaTunnelSourceSupport 19 | -------------------------------------------------------------------------------- /tools/spotless_check/pre-commit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one or more 4 | # contributor license agreements. See the NOTICE file distributed with 5 | # this work for additional information regarding copyright ownership. 6 | # The ASF licenses this file to You under the Apache License, Version 2.0 7 | # (the "License"); you may not use this file except in compliance with 8 | # 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 | # A hook script to automatically fix code style and formatting errors with spotless 20 | if ./mvnw spotless:check; then 21 | exit 0 22 | fi 23 | ./mvnw spotless:apply 24 | exit 1 25 | --------------------------------------------------------------------------------