Zhou Xiaochen, responsible for data channel construction at Tongcheng Travel, is a deep contributor to Apache SeaTunnel. Since submitting his first PR to Apache Kylin in 2022, he has contributed to more than ten core modules, including StarRocks, Paimon, Scala dynamic compilation, and SeaTunnel-Web. This article follows the thread of “Selection — Implementation — Co-construction — Outlook” to reveal how Tongcheng Travel turned SeaTunnel from an alternative option into a unified data channel. Through secondary development such as Operator, Sqoop migration tool, Fluss Connector, and Scala compilation, open-source projects truly grew on the soil of the enterprise. It also records how a programmer transformed in the community from “user → contributor → deep contributor.”
Personal Introduction: A “Multitasker” Switching Between Travel and Code
Zhou Xiaochen, currently Head of Data Channels at Tongcheng Travel, GitHub ID “xiaochen-zhou.” Besides dealing with databases such as Paimon and StarRocks daily, he is also a military enthusiast and a die-hard football fan—the tactical simulations on the pitch and architectural designs in the sea of code are, in his eyes, the same art of “deployment and formation.”
It was precisely this obsession with “connection” and “collaboration” that led him to push his first code to Apache Kylin in 2022. From then on, his journey in the open-source world officially began.
Community Contributions at a Glance: Turning “Pitfalls” into “Pathways”
- StarRocks Connector Enhancements
- Support for FE node high availability: #6792
- Support for multi-table reads: #8789
- Fixed data loss issue in StarRocks when setting the QUERY_TABLET_SIZE parameter: #8768
- Paimon Connector Enhancements
- Support for predicate pushdown with Like (#9484) and Between (#8962)
- Support for Time type: #8880
- Fixed precision loss in DECIMAL type conversion: #9480
Support for Scala Dynamic Compilation
On top of Java and Groovy in the community, added support for Scala dynamic compilation for better integration with the big data ecosystem: #9625Transform Plugin Integration with Zhipu AI: #8790
These seemingly scattered PRs ultimately became a “chain of evidence” in Tongcheng Travel’s technology selection process—proving that SeaTunnel is not only “usable” but also “easy to use” and “reliable.”
Why Did Tongcheng Travel Choose SeaTunnel?
Currently, Tongcheng Travel has adopted Apache SeaTunnel in the data channel services of a new business. According to Zhou Xiaochen, the company plans to expand the application of Apache SeaTunnel on a larger scale to gradually achieve unified data channel components.
At present, the company’s existing data channel components include Sqoop and internally developed real-time and batch processing components. In the future, SeaTunnel will serve as the unified solution, integrating and replacing these existing components.
The reason why Apache SeaTunnel was adopted and anchored as the unified solution is that it was carefully selected by the company after comprehensive competitive analysis, proving to be the most suitable product for its business scenarios.
Zhou Xiaochen believes that the company ultimately chose Apache SeaTunnel based mainly on the following considerations:
High Community Activity = Fast Issue Response
Apache SeaTunnel has a very active open-source community, with high participation from both developers and users. Issues can be quickly addressed, and feature requests receive timely feedback and iteration. This vibrant community not only provides continuous technical support but also helps solve real-world problems quickly.Zeta Engine: A “Supercar” Born for Data Synchronization
Apache SeaTunnel’s built-in Zeta engine is designed specifically for efficient data synchronization. Compared with general-purpose data processing frameworks, the Zeta engine performs better and consumes fewer resources in synchronization scenarios.Unified Batch and Streaming Architecture = One DSL to Rule Them All
SeaTunnel’s unified batch-streaming architecture is highly flexible. This design reduces the complexity of switching tools across different scenarios and makes development and maintenance more efficient.
Overall, Apache SeaTunnel aligns very well with the company’s requirements in terms of performance, functionality, and community support, making it the natural choice.
But selection is only the starting point—the real challenge is how to achieve seamless adoption of Apache SeaTunnel in the complex legacy architecture. That’s where secondary development came in.
Secondary Development Based on SeaTunnel
Based on Apache SeaTunnel, Tongcheng Travel’s secondary development mainly focused on the following areas:
1. SeaTunnel-Operator
Currently, company components across departments are gradually migrating to cloud-native architectures. Since the company’s existing cloud platform only supports deployment through Operator, Tongcheng developed SeaTunnel-Operator to better manage and deploy Apache SeaTunnel in cloud-native environments.
2. Sqoop Task Migration Tool
The company’s current data transmission services are fragmented across 3–4 systems, including open-source Sqoop as well as internally developed real-time and batch processing channel components. To enhance consistency and efficiency, the goal is to build a unified data channel based on Apache SeaTunnel, replacing these scattered services.
To achieve this, Tongcheng developed a tool that automatically converts existing scripts (including Sqoop) into Apache SeaTunnel scripts, enabling seamless task migration.
3. Fluss Connector
The department is currently deploying Fluss in some business areas. To better fit business requirements, support for Fluss was added, enabling new business use cases to be “plug-and-play.”
4. Scala Dynamic Compilation
To better support the big data ecosystem, Scala dynamic compilation was added on top of community dynamic compilation, bridging the final gap in big data integration.
In addition, Tongcheng’s secondary development also includes features for dirty data collection and management, which are not detailed here.
When secondary development upgraded SeaTunnel from “usable” to “excellent,” Zhou Xiaochen began thinking: what more could be given back to the community?
Expectations for SeaTunnel: The Next Journey of the Web
Like many Apache SeaTunnel users, Zhou Xiaochen is also very eager to see more powerful features in SeaTunnel-Web.
“Can SeaTunnel-Web be made smoother?” He hopes more contributors with frontend, product, and operations backgrounds can join, making configuration, lineage, monitoring, and alerting as intuitive as “building with LEGO.”
While calling outward, he also looked inward—summarizing his three-year open-source journey into a replicable methodology.
Personal Open-Source Journey: From PR to Community
2022 → 2025, Zhou Xiaochen’s experience writes the best footnote:
In 2022, my very first PR to Apache Kylin was merged. Now, more than three years have passed. Open source is truly fascinating—it allows me to communicate and learn with programmers around the world, all working hard for the same project and the same goal.
As an open-source enthusiast, Zhou Xiaochen has profound insights into open source and community building. Contributors are the smallest yet most active cells in the community—every commit, every code review, every issue reply injects new genes into the project. They are not just technical contributors; through code, documentation, testing, and feedback, they help projects continuously improve. At the same time, contributors are also practitioners of community culture.
From exchanges on GitHub and community chats, Zhou Xiaochen felt that the Apache SeaTunnel community is not only professional and inclusive but also fun and energetic. If you are looking for a place where your code’s value can be amplified 100x, the SeaTunnel community is the best lever.
Whether you are a “JDBC tuning master,” a “Flink kernel parameter hacker,” or a “newbie” submitting your very first PR, there’s always a chair waiting for you here. Right now—Fork, Clone, Push—the next SeaTunnel Committer could be you!
Top comments (0)