CDC Connectors for Apache Flink®
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
yuxiqian c2e301222c
[docs] Update download links to up-to-date cdc version (#3766)
* [docs] Update download links to up-to-date cdc version

Signed-off-by: yuxiqian <34335406+yuxiqian@users.noreply.github.com>

* fix: replace params to allow dead link checking to pass

Signed-off-by: yuxiqian <34335406+yuxiqian@users.noreply.github.com>

* fix: just don't check any interpolating urls

Signed-off-by: yuxiqian <34335406+yuxiqian@users.noreply.github.com>

---------

Signed-off-by: yuxiqian <34335406+yuxiqian@users.noreply.github.com>
2 months ago
.github [FLINK-36586][build] Update flink version to 1.19 (#3660) 2 months ago
.idea [FLINK-34180] Migrate doc website from ververica to flink (#3028) 11 months ago
docs [docs] Update download links to up-to-date cdc version (#3766) 2 months ago
flink-cdc-cli [FLINK-36525][transform] Support for AI Model Integration for Data Processing (#3753) 2 months ago
flink-cdc-common [FLINK-36525][transform] Support for AI Model Integration for Data Processing (#3753) 2 months ago
flink-cdc-composer [FLINK-36525][transform] Support for AI Model Integration for Data Processing (#3753) 2 months ago
flink-cdc-connect [FLINK-36315][cdc-connector][base&pg&mongodb]The flink-cdc-base module supports source metric statistics (#3619) 2 months ago
flink-cdc-dist [FLINK-36054][cdc][build] Fix Flink CDC parent pom and release scripts (#3540) 6 months ago
flink-cdc-e2e-tests [FLINK-36586][build] Update flink version to 1.19 (#3660) 2 months ago
flink-cdc-migration-tests [minor][cdc-runtime] Run schema coordinator logic asynchronously to avoid blocking the main thread 5 months ago
flink-cdc-pipeline-model [FLINK-36525][transform] Support for AI Model Integration for Data Processing (#3753) 2 months ago
flink-cdc-pipeline-udf-examples [FLINK-36214][build] Downgrade scala-maven-plugin version to 4.8.0 to keep compatibility with Java 8 (#3594) 3 months ago
flink-cdc-runtime [FLINK-36525][transform] Support for AI Model Integration for Data Processing (#3753) 2 months ago
tools [FLINK-36586][build] Update flink version to 1.19 (#3660) 2 months ago
.asf.yaml [FLINK-34664][cdc] Add .asf.yaml file for project 11 months ago
.dlc.json [docs] Update download links to up-to-date cdc version (#3766) 2 months ago
.gitignore [build] Use flink-shaded-force-shading to force all submodules to generate dependency-reduced-pom.xml 1 year ago
.gitmodules [build][CI] Introduce automated PR governance workflows 7 months ago
Dockerfile [release] Update version to 3.3-SNAPSHOT 6 months ago
LICENSE [hotfix][cdc][docs] Update LICENSE file 11 months ago
NOTICE [FLINK-34183][cdc][license] Update NOTICE files (#3107) 11 months ago
README.md [FLINK-34876][transform] Support UDF functions in transform (#3465) 6 months ago
pom.xml [FLINK-36525][transform] Support for AI Model Integration for Data Processing (#3753) 2 months ago

README.md

Flink CDC

Test Release Build License

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.

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.

Flink CDC framework desigin

Getting Started

  1. Prepare a Apache Flink cluster and set up FLINK_HOME environment variable.
  2. Download Flink CDC tar, unzip it and put jars of pipeline connector to Flink lib directory.
  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 :
 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
   user-defined-function:
     - name: addone
       classpath: com.example.functions.AddOneFunctionClass
     - name: format
       classpath: com.example.functions.FormatFunctionClass
  1. Submit pipeline job using flink-cdc.sh script.
 bash bin/flink-cdc.sh /path/mysql-to-doris.yaml
  1. View job execution status through Flink WebUI or downstream database.

Try it out yourself with our more detailed tutorial. You can also see connector overview to view a comprehensive catalog of the connectors currently provided and understand more detailed configurations.

Join the Community

There are many ways to participate in the Apache Flink CDC community. The 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 and tag it with the Flink CDC tag.
Bugs and feature requests can either be discussed on the dev mailing list or on Jira.

Contributing

Welcome to contribute to Flink CDC, please see our Developer Guide and APIs Guide.

License

Apache 2.0 License.

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.
Thanks to all contributors for their enthusiastic contributions.