apache/seatunnel

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

Open

#8388 aperta il 26 dic 2024

Vedi su GitHub
 (21 commenti) (2 reazioni) (0 assegnatari)Java (1432 fork)batch import
FAQgood first issuehelp wanted

Metriche repository

Star
 (6897 star)
Metriche merge PR
 (Merge medio 13g 21h) (143 PR mergiate in 30 g)

Descrizione

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

Guida contributor