apache/seatunnel

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

Open

#8.388 aberto em 26 de dez. de 2024

Ver no GitHub
 (21 comments) (2 reactions) (0 assignees)Java (1.432 forks)batch import
FAQgood first issuehelp wanted

Métricas do repositório

Stars
 (6.897 stars)
Métricas de merge de PR
 (Mesclagem média 13d 21h) (143 fundiu PRs em 30d)

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! 🚀

Guia do colaborador