This is an automated email from the ASF dual-hosted git repository.

yux pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-cdc.git


The following commit(s) were added to refs/heads/master by this push:
     new ccb5d4cf5 [docs] Polish README.md (#4349)
ccb5d4cf5 is described below

commit ccb5d4cf54a58054b8d509e448a2afbd61c8c959
Author: yuxiqian <[email protected]>
AuthorDate: Fri Mar 27 15:30:59 2026 +0800

    [docs] Polish README.md (#4349)
    
    Co-authored-by: Copilot <[email protected]>
---
 README.md                          | 223 +++++++++++++++++++++----------------
 docs/static/fig/architecture.png   | Bin 236057 -> 307394 bytes
 docs/static/fig/flink-cdc-logo.png | Bin 0 -> 126078 bytes
 docs/static/fig/flinkcdc-logo.png  | Bin 70858 -> 0 bytes
 4 files changed, 124 insertions(+), 99 deletions(-)

diff --git a/README.md b/README.md
index 8b818a923..e0300065f 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
 <p align="center">
-  <a href="https://nightlies.apache.org/flink/flink-cdc-docs-stable/";><img 
src="docs/static/fig/flinkcdc-logo.png" alt="Flink CDC" style="width: 
375px;"></a>
+  <a href="https://nightlies.apache.org/flink/flink-cdc-docs-stable/";><img 
src="docs/static/fig/flink-cdc-logo.png" alt="Flink CDC" style="width: 
375px;"></a>
 </p>
 <p align="center">
 <a href="https://github.com/apache/flink-cdc/"; target="_blank">
@@ -15,132 +15,157 @@
     <img 
src="https://img.shields.io/github/actions/workflow/status/apache/flink-cdc/flink_cdc_ci_nightly.yml?branch=master&label=nightly";
 alt="Nightly Build">
 </a>
 <a href="https://github.com/apache/flink-cdc/tree/master/LICENSE"; 
target="_blank">
-    <img src="https://img.shields.io/static/v1?label=license&message=Apache 
License 2.0&color=white" alt="License">
+    <img 
src="https://img.shields.io/github/license/apache/flink-cdc?color=white"; 
alt="License">
 </a>
 </p>
 
 
-Flink CDC is a distributed data integration tool for real time data and batch 
data. Flink CDC brings the simplicity 
-and elegance of data integration via YAML to describe the data movement and 
transformation in a 
-[Data Pipeline](docs/content/docs/core-concept/data-pipeline.md).
+Flink CDC is a distributed data integration tool for real-time data and batch 
data, built on top of Apache Flink. It prioritizes efficient end-to-end data 
integration and offers enhanced functionalities such as full database 
synchronization, sharding table synchronization, schema evolution and data 
transformation.
 
+![Flink CDC framework design](docs/static/fig/architecture.png)
 
-The Flink CDC prioritizes efficient end-to-end data integration and offers 
enhanced functionalities such as 
-full database synchronization, sharding table synchronization, schema 
evolution and data transformation.
+## API Layers
+
+Flink CDC provides three API layers for different usage scenarios:
+
+### 1. YAML API (Pipeline API)
+
+The YAML API provides a declarative, zero-code approach to define data 
pipelines. Users describe the source, sink, 
[routing](https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/core-concept/route/),
 
[transformation](https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/core-concept/transform/),
 and [schema 
evolution](https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/core-concept/schema-evolution/)
 rules in a YAML file and submit it via the `flink-cdc.sh` CLI.
+
+Please refer to the [Quickstart 
Guide](https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/get-started/introduction/)
 for detailed setup instructions.
+
+```yaml
+source:
+  type: mysql
+  hostname: localhost
+  port: 3306
+  username: root
+  password: 123456
+  tables: app_db.\.*
+
+sink:
+  type: doris
+  fenodes: 127.0.0.1:8030
+  username: root
+  password: ""
+
+# Transform data on-the-fly
+transform:
+  - source-table: app_db.orders
+    projection: id, order_id, UPPER(product_name) as product_name
+    filter: id > 10 AND order_id > 100
+    
+# Route source tables to different sink tables
+route:
+  - source-table: app_db.orders
+    sink-table: ods_db.ods_orders
+  - source-table: app_db.shipments
+    sink-table: ods_db.ods_shipments
+  - source-table: app_db.\.*
+    sink-table: ods_db.others
+
+pipeline:
+  name: Sync MySQL Database to Doris
+  parallelism: 2
+  schema.change.behavior: evolve  # Support schema evolution
+```
 
-![Flink CDC framework design](docs/static/fig/architecture.png)
+**Pipeline connectors:**
 
-### Quickstart Guide
+[Doris](https://mvnrepository.com/artifact/org.apache.flink/flink-cdc-pipeline-connector-doris)
 | 
[Elasticsearch](https://mvnrepository.com/artifact/org.apache.flink/flink-cdc-pipeline-connector-elasticsearch)
 | 
[Fluss](https://mvnrepository.com/artifact/org.apache.flink/flink-cdc-pipeline-connector-fluss)
 | 
[Hudi](https://mvnrepository.com/artifact/org.apache.flink/flink-cdc-pipeline-connector-hudi)
 | 
[Iceberg](https://mvnrepository.com/artifact/org.apache.flink/flink-cdc-pipeline-conne
 [...]
 
-Flink CDC provides a CdcUp CLI utility to start a playground environment and 
run Flink CDC jobs.
-You will need to have a working Docker and Docker compose environment to use 
it.
+See the [connector 
overview](https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/connectors/pipeline-connectors/overview/)
 for a full list and configurations.
 
-1. Run `git clone https://github.com/apache/flink-cdc.git --depth=1` to 
retrieve a copy of Flink CDC source code.
-2. Run `cd tools/cdcup/ && ./cdcup.sh init` to use the CdcUp tool to start a 
playground environment.
-3. Run `./cdcup.sh up` to boot-up docker containers, and wait for them to be 
ready.
-4. Run `./cdcup.sh mysql` to open a MySQL session, and create at least one 
table.
+### 2. SQL API (Table/SQL API)
+
+The SQL API integrates with Flink SQL, allowing users to define CDC sources 
using SQL DDL statements. Deploy the SQL connector JAR to `FLINK_HOME/lib/` and 
use it directly in Flink SQL Client:
 
 ```sql
--- initialize db and table
-CREATE DATABASE cdc_playground;
-USE cdc_playground;
-CREATE TABLE test_table (id INT PRIMARY KEY, name VARCHAR(32));
+CREATE TABLE mysql_binlog (
+  id INT NOT NULL,
+  name STRING,
+  description STRING,
+  weight DECIMAL(10,3),
+  PRIMARY KEY(id) NOT ENFORCED
+) WITH (
+  'connector' = 'mysql-cdc',
+  'hostname' = 'localhost',
+  'port' = '3306',
+  'username' = 'flinkuser',
+  'password' = 'flinkpw',
+  'database-name' = 'inventory',
+  'table-name' = 'products'
+);
+
+SELECT id, UPPER(name), description, weight FROM mysql_binlog;
+```
 
--- insert test data
-INSERT INTO test_table VALUES (1, 'alice'), (2, 'bob'), (3, 'cicada'), (4, 
'derrida');
+**Available SQL connectors** (dependencies bundled):
 
--- verify if it has been successfully inserted
-SELECT * FROM test_table;
+[MySQL](https://mvnrepository.com/artifact/org.apache.flink/flink-sql-connector-mysql-cdc)
 | 
[PostgreSQL](https://mvnrepository.com/artifact/org.apache.flink/flink-sql-connector-postgres-cdc)
 | 
[Oracle](https://mvnrepository.com/artifact/org.apache.flink/flink-sql-connector-oracle-cdc)
 | [SQL 
Server](https://mvnrepository.com/artifact/org.apache.flink/flink-sql-connector-sqlserver-cdc)
 | 
[MongoDB](https://mvnrepository.com/artifact/org.apache.flink/flink-sql-connector-mongodb-cdc)
 | [Oce [...]
+
+See the [source connector 
overview](https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/connectors/flink-sources/overview/)
 for a full list and configurations.
+
+### 3. DataStream API
+
+The DataStream API provides programmatic access for building custom Flink 
streaming applications. Add the corresponding connector as a Maven dependency:
+
+```xml
+<dependency>
+  <groupId>org.apache.flink</groupId>
+  <artifactId>flink-connector-mysql-cdc</artifactId>
+  <version>${flink-cdc.version}</version>
+</dependency>
 ```
 
-5. Run `./cdcup.sh pipeline pipeline-definition.yaml` to submit the pipeline 
job. You may also edit the pipeline definition file for further configurations.
-6. Run `./cdcup.sh flink` to access the Flink Web UI.
-
-### Getting Started
-
-1. Prepare a [Apache 
Flink](https://nightlies.apache.org/flink/flink-docs-master/docs/try-flink/local_installation/#starting-and-stopping-a-local-cluster)
 cluster and set up `FLINK_HOME` environment variable.
-2. [Download](https://github.com/apache/flink-cdc/releases) Flink CDC tar, 
unzip it and put jars of pipeline connector to Flink `lib` directory.
-
-> If you're using macOS or Linux, you may use `brew install apache-flink-cdc` 
to install Flink CDC and compatible connectors quickly.
-
-3. Create a **YAML** file to describe the data source and data sink, the 
following example synchronizes all tables under MySQL app_db database to Doris :
-  ```yaml
-   source:
-     type: mysql
-     hostname: localhost
-     port: 3306
-     username: root
-     password: 123456
-     tables: app_db.\.*
-
-   sink:
-     type: doris
-     fenodes: 127.0.0.1:8030
-     username: root
-     password: ""
-
-   transform:
-     - source-table: adb.web_order01
-       projection: \*, format('%S', product_name) as product_name
-       filter: addone(id) > 10 AND order_id > 100
-       description: project fields and filter
-     - source-table: adb.web_order02
-       projection: \*, format('%S', product_name) as product_name
-       filter: addone(id) > 20 AND order_id > 200
-       description: project fields and filter
-
-   route:
-     - source-table: app_db.orders
-       sink-table: ods_db.ods_orders
-     - source-table: app_db.shipments
-       sink-table: ods_db.ods_shipments
-     - source-table: app_db.products
-       sink-table: ods_db.ods_products
-
-   pipeline:
-     name: Sync MySQL Database to Doris
-     parallelism: 2
-     route-mode: ALL_MATCH
-     user-defined-function:
-       - name: addone
-         classpath: com.example.functions.AddOneFunctionClass
-       - name: format
-         classpath: com.example.functions.FormatFunctionClass
-  ```
-4. Submit pipeline job using `flink-cdc.sh` script.
- ```shell
-  bash bin/flink-cdc.sh /path/mysql-to-doris.yaml
- ```
-5. View job execution status through Flink WebUI or downstream database.
-
-Try it out yourself with our more detailed 
[tutorial](docs/content/docs/get-started/quickstart/mysql-to-doris.md). 
-You can also see [connector 
overview](docs/content/docs/connectors/pipeline-connectors/overview.md) to view 
a comprehensive catalog of the
-connectors currently provided and understand more detailed configurations.
-
-### Join the Community
+**Available source connectors:**
 
-There are many ways to participate in the Apache Flink CDC community. The
-[mailing 
lists](https://flink.apache.org/what-is-flink/community/#mailing-lists) are the 
primary place where all Flink
-committers are present. For user support and questions use the user mailing 
list. If you've found a problem of Flink CDC,
-please create a [Flink 
jira](https://issues.apache.org/jira/projects/FLINK/summary) and tag it with 
the `Flink CDC` tag.   
-Bugs and feature requests can either be discussed on the dev mailing list or 
on Jira.
+[MySQL](https://mvnrepository.com/artifact/org.apache.flink/flink-connector-mysql-cdc)
 | 
[PostgreSQL](https://mvnrepository.com/artifact/org.apache.flink/flink-connector-postgres-cdc)
 | 
[Oracle](https://mvnrepository.com/artifact/org.apache.flink/flink-connector-oracle-cdc)
 | [SQL 
Server](https://mvnrepository.com/artifact/org.apache.flink/flink-connector-sqlserver-cdc)
 | 
[MongoDB](https://mvnrepository.com/artifact/org.apache.flink/flink-connector-mongodb-cdc)
 | [OceanBase](https://mvnr [...]
 
+All artifacts use group ID `org.apache.flink`. See the [DataStream API 
packaging 
guide](https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/connectors/flink-sources/datastream-api-package-guidance/)
 for a complete `pom.xml` example.
 
+## Flink Version Compatibility
 
-### Contributing
+| Flink CDC | Supported Flink Versions     | Notes                             
                              |
+|-----------|------------------------------|-----------------------------------------------------------------|
+| 3.6       | 1.20, 2.2                    |                                   
                              |
+| 3.5       | 1.19, 1.20                   |                                   
                              |
+| 3.4       | 1.19, 1.20                   |                                   
                              |
+| 3.3       | 1.19, 1.20                   |                                   
                              |
+| 3.2       | 1.17, 1.18, 1.19             |                                   
                              |
+| 3.1       | 1.16, 1.17, 1.18, 1.19       | Only Flink CDC 3.1.1 supports 
Flink 1.19                        |
+| 3.0       | 1.14, 1.15, 1.16, 1.17, 1.18 | Pipeline API requires Flink 1.17 
and above                      |
+| 2.4       | 1.13, 1.14, 1.15, 1.16, 1.17 | Flink CDC 1.x and 2.x does not 
support Pipeline API, same below |
+| 2.3       | 1.13, 1.14, 1.15, 1.16       |                                   
                              |
+| 2.2       | 1.13, 1.14                   |                                   
                              |
+| 2.1       | 1.13                         |                                   
                              |
+| 2.0       | 1.13                         |                                   
                              |
+| 1.4       | 1.13                         |                                   
                              |
+| 1.3       | 1.12                         |                                   
                              |
+| 1.2       | 1.12                         |                                   
                              |
+| 1.1       | 1.11                         |                                   
                              |
+| 1.0       | 1.11                         |                                   
                              |
 
-Welcome to contribute to Flink CDC, please see our [Developer 
Guide](docs/content/docs/developer-guide/contribute-to-flink-cdc.md)
-and [APIs 
Guide](docs/content/docs/developer-guide/understand-flink-cdc-api.md).
+See the [Pipeline connector 
overview](https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/connectors/pipeline-connectors/overview/)
 and [source connector 
overview](https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/connectors/flink-sources/overview/)
 for details.
 
+## Join the Community
 
+There are many ways to participate in the Apache Flink CDC community. The
+[mailing 
lists](https://flink.apache.org/what-is-flink/community/#mailing-lists) are the 
primary place where all Flink
+committers are present. For user support and questions use the user mailing 
list. If you've found a problem of Flink CDC,
+please create a [Flink 
JIRA](https://issues.apache.org/jira/projects/FLINK/summary) and tag it with 
the `Flink CDC` tag.
+Bugs and feature requests can either be discussed on the dev mailing list or 
on Jira.
 
-### License
+## Contributing
 
-[Apache 2.0 License](LICENSE).
+Welcome to contribute to Flink CDC, please see our [Developer 
Guide](https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/developer-guide/contribute-to-flink-cdc/)
+and [APIs 
Guide](https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/developer-guide/understand-flink-cdc-api/).
 
+## License
 
+[Apache 2.0 License](LICENSE).
 
-### Special Thanks
+## Special Thanks
 
 The Flink CDC community welcomes everyone who is willing to contribute, 
whether it's through submitting bug reports,
 enhancing the documentation, or submitting code contributions for bug fixes, 
test additions, or new feature development.     
diff --git a/docs/static/fig/architecture.png b/docs/static/fig/architecture.png
index 196772b66..b5d7f2432 100644
Binary files a/docs/static/fig/architecture.png and 
b/docs/static/fig/architecture.png differ
diff --git a/docs/static/fig/flink-cdc-logo.png 
b/docs/static/fig/flink-cdc-logo.png
new file mode 100644
index 000000000..7ed18f6c5
Binary files /dev/null and b/docs/static/fig/flink-cdc-logo.png differ
diff --git a/docs/static/fig/flinkcdc-logo.png 
b/docs/static/fig/flinkcdc-logo.png
deleted file mode 100644
index e85954706..000000000
Binary files a/docs/static/fig/flinkcdc-logo.png and /dev/null differ

Reply via email to