content/2025/01/21/apache-flink-cdc-3.3.0-release-announcement/index.html (430 lines of code) (raw):
<!DOCTYPE html>
<html lang="en" dir=ZgotmplZ>
<head>
<link rel="stylesheet" href="/bootstrap/css/bootstrap.min.css">
<script src="/bootstrap/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" type="text/css" href="/font-awesome/css/font-awesome.min.css">
<script src="/js/anchor.min.js"></script>
<script src="/js/flink.js"></script>
<link rel="canonical" href="https://flink.apache.org/2025/01/21/apache-flink-cdc-3.3.0-release-announcement/">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="The Apache Flink Community is excited to announce the release of Flink CDC 3.3.0! This release introduces more features in transform and connectors and improve usability and stability of existing features.
Flink CDC release packages are available at Releases Page, and documentations are available at Flink CDC documentation page. Looking forward to any feedback from the community through the Flink mailing lists or JIRA!
Highlights # Connectors # New Pipeline Connectors # Flink CDC 3.">
<meta name="theme-color" content="#FFFFFF"><meta property="og:title" content="Apache Flink CDC 3.3.0 Release Announcement" />
<meta property="og:description" content="The Apache Flink Community is excited to announce the release of Flink CDC 3.3.0! This release introduces more features in transform and connectors and improve usability and stability of existing features.
Flink CDC release packages are available at Releases Page, and documentations are available at Flink CDC documentation page. Looking forward to any feedback from the community through the Flink mailing lists or JIRA!
Highlights # Connectors # New Pipeline Connectors # Flink CDC 3." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://flink.apache.org/2025/01/21/apache-flink-cdc-3.3.0-release-announcement/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2025-01-21T08:00:00+00:00" />
<meta property="article:modified_time" content="2025-01-21T08:00:00+00:00" />
<title>Apache Flink CDC 3.3.0 Release Announcement | Apache Flink</title>
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/book.min.22eceb4d17baa9cdc0f57345edd6f215a40474022dfee39b63befb5fb3c596b5.css" integrity="sha256-IuzrTRe6qc3A9XNF7dbyFaQEdAIt/uObY777X7PFlrU=">
<script defer src="/en.search.min.6950414fdb865fa2a65062656ee52f8a1d13a0578a8866521a5e3501cdc3b475.js" integrity="sha256-aVBBT9uGX6KmUGJlbuUvih0ToFeKiGZSGl41Ac3DtHU="></script>
<!--
Made with Book Theme
https://github.com/alex-shpak/hugo-book
-->
<meta name="generator" content="Hugo 0.124.1">
<script>
var _paq = window._paq = window._paq || [];
_paq.push(['disableCookies']);
_paq.push(["setDomains", ["*.flink.apache.org","*.nightlies.apache.org/flink"]]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
</head>
<body dir=ZgotmplZ>
<header>
<nav class="navbar navbar-expand-xl">
<div class="container-fluid">
<a class="navbar-brand" href="/">
<img src="/img/logo/png/100/flink_squirrel_100_color.png" alt="Apache Flink" height="47" width="47" class="d-inline-block align-text-middle">
<span>Apache Flink</span>
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<i class="fa fa-bars navbar-toggler-icon"></i>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">About</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="/what-is-flink/flink-architecture/">Architecture</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/flink-applications/">Applications</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/flink-operations/">Operations</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/use-cases/">Use Cases</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/powered-by/">Powered By</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/roadmap/">Roadmap</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/community/">Community & Project Info</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/security/">Security</a>
</li>
<li>
<a class="dropdown-item" href="/what-is-flink/special-thanks/">Special Thanks</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Getting Started</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/try-flink/local_installation/">With Flink<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/docs/try-flink-kubernetes-operator/quick-start/">With Flink Kubernetes Operator<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable/docs/get-started/introduction/">With Flink CDC<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/docs/try-flink-ml/quick-start/">With Flink ML<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/getting-started/project-setup.html">With Flink Stateful Functions<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/docs/learn-flink/overview/">Training Course<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Documentation</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-stable/">Flink 2.0 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-lts/">Flink 1.20 (LTS)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-docs-master/">Flink Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-stable/">Kubernetes Operator 1.11 (latest)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main">Kubernetes Operator Main (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-stable">CDC 3.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-cdc-docs-master">CDC Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-stable/">ML 2.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-ml-docs-master">ML Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-stable/">Stateful Functions 3.3 (stable)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
<li>
<a class="dropdown-item" href="https://nightlies.apache.org/flink/flink-statefun-docs-master">Stateful Functions Master (snapshot)<i class="link fa fa-external-link title" aria-hidden="true"></i>
</a>
</li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">How to Contribute</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="/how-to-contribute/overview/">Overview</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/contribute-code/">Contribute Code</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/reviewing-prs/">Review Pull Requests</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/code-style-and-quality-preamble/">Code Style and Quality Guide</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/contribute-documentation/">Contribute Documentation</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/documentation-style-guide/">Documentation Style Guide</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/improve-website/">Contribute to the Website</a>
</li>
<li>
<a class="dropdown-item" href="/how-to-contribute/getting-help/">Getting Help</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="/posts/">Flink Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/downloads/">Downloads</a>
</li>
</ul>
<div class="book-search">
<div class="book-search-spinner hidden">
<i class="fa fa-refresh fa-spin"></i>
</div>
<form class="search-bar d-flex" onsubmit="return false;"su>
<input type="text" id="book-search-input" placeholder="Search" aria-label="Search" maxlength="64" data-hotkeys="s/">
<i class="fa fa-search search"></i>
<i class="fa fa-circle-o-notch fa-spin spinner"></i>
</form>
<div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul>
</div>
</div>
</div>
</nav>
<div class="navbar-clearfix"></div>
</header>
<main class="flex">
<section class="container book-page">
<article class="markdown">
<h1>
<a href="/2025/01/21/apache-flink-cdc-3.3.0-release-announcement/">Apache Flink CDC 3.3.0 Release Announcement</a>
</h1>
January 21, 2025 -
Hang Ruan
<p><p>The Apache Flink Community is excited to announce the release of Flink CDC 3.3.0!
This release introduces more features in transform and connectors and improve
usability and stability of existing features.</p>
<p>Flink CDC release packages are available at <a href="https://flink.apache.org/downloads.html#flink-cdc">Releases Page</a>,
and documentations are available at <a href="https://nightlies.apache.org/flink/flink-cdc-docs-release-3.3">Flink CDC documentation</a> page.
Looking forward to any feedback from the community through the Flink <a href="https://flink.apache.org/community.html#mailing-lists">mailing lists</a> or <a href="https://issues.apache.org/jira/browse/flink">JIRA</a>!</p>
<h1 id="highlights">
Highlights
<a class="anchor" href="#highlights">#</a>
</h1>
<h2 id="connectors">
Connectors
<a class="anchor" href="#connectors">#</a>
</h2>
<h3 id="new-pipeline-connectors">
New Pipeline Connectors
<a class="anchor" href="#new-pipeline-connectors">#</a>
</h3>
<p>Flink CDC 3.3.0 introduces 2 new pipeline connectors:</p>
<ul>
<li>OceanBase sink</li>
<li>MaxCompute sink</li>
</ul>
<h3 id="mysql">
MySQL
<a class="anchor" href="#mysql">#</a>
</h3>
<ul>
<li>Support parsing <a href="https://github.com/github/gh-ost">gh-ost</a> and <a href="https://docs.percona.com/percona-toolkit/pt-online-schema-change.html">pt-osc</a> generated schema changes.</li>
<li>Parse array-typed key index binlog created between 8.0.17 and 8.0.18 rightly.</li>
<li>Support passing op_ts to meta field in Event.</li>
<li>Support parsing the comments of table and column.</li>
<li>Fixed deadlock after adding new tables.</li>
<li>Fixed a bug that works with FLOAT type with precision.</li>
</ul>
<h3 id="apache-paimon">
Apache Paimon
<a class="anchor" href="#apache-paimon">#</a>
</h3>
<ul>
<li>Apply default value options when apply add column change.</li>
<li>Reuse sequence number when schema evolution happened.</li>
<li>Fixed commit conflict problem in PaimonSink.</li>
<li>Remove Catalog.ColumnAlreadyExistException when apply applyAddColumnEventWithPosition in paimon.</li>
<li>Bump Paimon version to 0.9.0.</li>
</ul>
<h3 id="postgres">
Postgres
<a class="anchor" href="#postgres">#</a>
</h3>
<ul>
<li>Support metadata ‘op_type’ virtual column for Postgres CDC Connector.</li>
<li>Improve PostgresDialect.discoverDataCollections to reduce the start time of Postgres CDC.</li>
</ul>
<h3 id="flink-cdc-base">
Flink CDC Base
<a class="anchor" href="#flink-cdc-base">#</a>
</h3>
<ul>
<li>CDC framework split snapshot chunks asynchronously.</li>
<li>Improve the ROW data deserialization performance of DebeziumEventDeserializationScheme.</li>
<li>Allow applying Truncate & Drop table to Doris/Paimon/Starrocks connectors.</li>
<li>The flink-cdc-base module supports source metric statistics.</li>
<li>Use fixed format for SnapshotSplit’s splitId in all connectors.</li>
<li>Merge result of data type BIGINT and DOUBLE is DOUBLE instead of STRING.</li>
</ul>
<h2 id="upgrade-flink-compatibility-to-119">
Upgrade Flink compatibility to 1.19+
<a class="anchor" href="#upgrade-flink-compatibility-to-119">#</a>
</h2>
<p>Flink latest version have been updated to 1.20. Flink CDC version 3.3.0 will support Flink 1.19+
and drop supports for Flink 1.17.* and 1.18.* .</p>
<h2 id="cdcup-quickly-start-a-testing-job">
Cdcup: quickly start a testing job
<a class="anchor" href="#cdcup-quickly-start-a-testing-job">#</a>
</h2>
<p>Flink CDC 3.3.0 comes with a <code>cdc-up</code> utility script to set up a data integration PoC pipeline and required
environment easily. Follow the latest <a href="https://github.com/apache/flink-cdc#quickstart-guide">quickstart steps</a> to get started.</p>
<h2 id="transform">
Transform
<a class="anchor" href="#transform">#</a>
</h2>
<ul>
<li>Support <code>timestampdiff</code>, <code>timestampadd</code>, <code>unix_timestamp</code> function.</li>
<li>Support to add metadata columns for data in the meta fields of DataChangeEvent at transform.</li>
<li>Support to convert delete events as insert events.</li>
<li>Add “OpType” metadata column in transform.</li>
<li>Support for AI Model Integration for Data Processing.</li>
<li>Improve get source field value by column name in PreTransformProcessor.</li>
<li>Deduce primary key column types to be NOT NULL.</li>
</ul>
<h1 id="list-of-contributors">
List of Contributors
<a class="anchor" href="#list-of-contributors">#</a>
</h1>
<p>We would like to express gratitude to all the contributors working on this release:</p>
<p>ConradJam, Hang Ruan, Hongshun Wang, Jason Zhang, Junbo wang, Jzjsnow, Kunni, Leonard Xu, MOBIN, North Lin, Olivier, Petrichor, Robin Moffatt, Runkang He, Sergei Morozov, Seung-Min Lee, Shawn Huang, Thorne, Timi, Umesh Dangat, Wink, Xin Gong, hiliuxg, liuxiaodong, moses, ouyangwulin, stayrascal, wenmo, wudi, yuanoOo, yuxiqian, MOBIN-F, helloliuxg, jzjsnow, molin.lxd, wuzhiping, zhangchaoming.zcm</p>
</p>
</article>
<div class="edit-this-page">
<p>
<a href="https://cwiki.apache.org/confluence/display/FLINK/Flink+Translation+Specifications">Want to contribute translation?</a>
</p>
<p>
<a href="//github.com/apache/flink-web/edit/asf-site/docs/content/posts/2025-01-21-release-cdc-3.3.0.md">
Edit This Page<i class="fa fa-edit fa-fw"></i>
</a>
</p>
</div>
</section>
<aside class="book-toc">
<nav id="TableOfContents"><h3>On This Page <a href="javascript:void(0)" class="toc" onclick="collapseToc()"><i class="fa fa-times" aria-hidden="true"></i></a></h3>
<ul>
<li><a href="#highlights">Highlights</a>
<ul>
<li><a href="#connectors">Connectors</a>
<ul>
<li><a href="#new-pipeline-connectors">New Pipeline Connectors</a></li>
<li><a href="#mysql">MySQL</a></li>
<li><a href="#apache-paimon">Apache Paimon</a></li>
<li><a href="#postgres">Postgres</a></li>
<li><a href="#flink-cdc-base">Flink CDC Base</a></li>
</ul>
</li>
<li><a href="#upgrade-flink-compatibility-to-119">Upgrade Flink compatibility to 1.19+</a></li>
<li><a href="#cdcup-quickly-start-a-testing-job">Cdcup: quickly start a testing job</a></li>
<li><a href="#transform">Transform</a></li>
</ul>
</li>
<li><a href="#list-of-contributors">List of Contributors</a></li>
</ul>
</nav>
</aside>
<aside class="expand-toc hidden">
<a class="toc" onclick="expandToc()" href="javascript:void(0)">
<i class="fa fa-bars" aria-hidden="true"></i>
</a>
</aside>
</main>
<footer>
<div class="separator"></div>
<div class="panels">
<div class="wrapper">
<div class="panel">
<ul>
<li>
<a href="https://flink-packages.org/">flink-packages.org</a>
</li>
<li>
<a href="https://www.apache.org/">Apache Software Foundation</a>
</li>
<li>
<a href="https://www.apache.org/licenses/">License</a>
</li>
<li>
<a href="/zh/">
<i class="fa fa-globe" aria-hidden="true"></i> 中文版
</a>
</li>
</ul>
</div>
<div class="panel">
<ul>
<li>
<a href="/what-is-flink/security">Security</a-->
</li>
<li>
<a href="https://www.apache.org/foundation/sponsorship.html">Donate</a>
</li>
<li>
<a href="https://www.apache.org/foundation/thanks.html">Thanks</a>
</li>
</ul>
</div>
<div class="panel icons">
<div>
<a href="/posts">
<div class="icon flink-blog-icon"></div>
<span>Flink blog</span>
</a>
</div>
<div>
<a href="https://github.com/apache/flink">
<div class="icon flink-github-icon"></div>
<span>Github</span>
</a>
</div>
<div>
<a href="https://twitter.com/apacheflink">
<div class="icon flink-twitter-icon"></div>
<span>Twitter</span>
</a>
</div>
</div>
</div>
</div>
<hr/>
<div class="container disclaimer">
<p>The contents of this website are © 2024 Apache Software Foundation under the terms of the Apache License v2. Apache Flink, Flink, and the Flink logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p>
</div>
</footer>
</body>
</html>