apache / apache/seatunnel

[Demos-Collection] Collecting Use Case Demos for Apache SeaTunnel

Open
#8,388 24 comments 2 reactions 0 assignees View on GitHub
FAQ good first issue help wanted
Dominant language
Java
Stars
9.7k
Forks
2.4k
Avg merge
3d 9h
Merged PRs (30d)
204

Description

# 🎯 Collecting Use Case Demos for Apache SeaTunnel

Dear Apache SeaTunnel community members,

We are initiating a community effort to collect **real-world use case demos** to enrich our documentation and help more users quickly get started and solve their problems with Apache SeaTunnel! 🚀

## Why are these demos important?

Many users encounter unique scenarios while using SeaTunnel. By collecting and maintaining these demos, we can:
- **Help newcomers**: Showcase the broad range of use cases supported by SeaTunnel.
- **Provide quick-start solutions**: Offer ready-made templates to reduce troubleshooting time.
- **Foster community collaboration**: Enable others to build and improve upon these examples.

## What can you contribute?

### 1. Share your specific use case:
- **Scenario Description**: What problem did you solve?
- **SeaTunnel Version**: The version you were using.
- **Configuration or Code Snippet**: Key configuration or scripts.
- **Outcome**: A brief description of the result.

### 2. Submit a complete demo:
- Organize your configuration files, sample datasets, and documentation into a complete demo.
- Submit a PR to the `demos/` directory in the SeaTunnel repository.

### 3. Share ideas even without a demo:
- If you don't have a complete demo, feel free to share your ideas here. We will help organize and improve them.

## Example:

- **Scenario**: Batch Single Table Synchronization from MySQL to MySQL
- **SeaTunnel Version**: 2.3.8
- **Configuration**:
```
env {
job.name = "mysql_to_elasticsearch"
job.mode = "BATCH"
parallelism = 6
}

source {
Jdbc {
url = "jdbc:mysql://xxx:3306/source_db"
driver = "com.mysql.cj.jdbc.Driver"
user = "test_user"
password = "test_pwd"

table_list = [
{
query = "select * from source_db.t1"
table_path = "source_db.t1"
}
]
result_table_name = "my-source-1"
}
}

sink {
Jdbc {
source_table_name = "my-source-1"
url = "jdbc:mysql://localhost:3306/sink_db"
driver = "com.mysql.cj.jdbc.Driver"
user = "test_user"
password = "test_pwd"

database = "sink_db"
table = "${table_name}_copy"
generate_sink_sql = true
batch_size = 1000

schema_save_mode = "RECREATE_SCHEMA"
data_save_mode = "KEEP_SCHEMA_DROP_DATA"
}
}
```

### 🎯 Calling All Users!
We’re collecting amazing demos for the project to showcase features and improve the experience! 🎉

### 📌 Why Your Contribution Matters!
- Why contribute?Your demo could become part of the official examples, helping more developers get started quickly!
- How to contribute? Submit your demo in the comment section—the more detailed, the better!

🔥 Show off your skills and join us in building a thriving community! 🚀

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the contribution requirements in this issue and the existing demos/ directory. Prepare a complete real-world demo with configuration files, sample data, the SeaTunnel version, scenario description, and outcome, then submit it in a pull request or share the details in the issue comments.

Written by the indexing model from the issue text.

Assessment

Tech stack
mysql
Domain
content, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.