全部产品
Search
文档中心

:Kelola Tugas ETL

更新时间:Nov 09, 2025

Anda dapat membuat dan menjalankan tugas ekstraksi, transformasi, dan pemuatan (ETL) untuk membersihkan, mentransformasi, dan mengekspor data di instance ApsaraMQ for Kafka. Topik ini menjelaskan cara membuat tugas ETL di konsol ApsaraMQ for Kafka untuk mengirimkan data yang telah diproses dari topik sumber ke topik tujuan.

Prasyarat

Sebelum menjalankan tugas ETL, pastikan operasi berikut telah dilakukan:

  • Buat topik sumber dan topik tujuan pada instance ApsaraMQ for Kafka. Untuk informasi lebih lanjut, lihat Langkah 1: Buat topik.

    Catatan

    Jika Anda ingin secara manual membuat topik bantu yang diperlukan oleh tugas ETL, Anda juga harus membuat topik yang digunakan untuk menyimpan informasi tentang tugas ETL. Untuk informasi tentang parameter yang dikonfigurasi untuk membuat topik, lihat Langkah 3 di bagian "Buat tugas ETL" dari topik ini.

  • Aktifkan Function Compute. Untuk informasi lebih lanjut, lihat Aktifkan Function Compute.

  • Peroleh izin yang diperlukan jika Anda adalah Pengguna Resource Access Management (RAM). Untuk informasi lebih lanjut, lihat Berikan izin kepada pengguna RAM.

    Kode berikut memberikan contoh kebijakan yang menentukan izin:

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "kafka:CreateETLTask",
                    "kafka:ListETLTask",
                    "kafka:DeleteETLTask"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }

Informasi latar belakang

  • ETL adalah proses di mana data diekstraksi, ditransformasi, dan dimuat ke dalam tujuan. Anda dapat menulis fungsi untuk mengimplementasikan logika tugas ETL. ApsaraMQ for Kafka memanggil fungsi tersebut untuk memproses data di topik sumber dan mengirimkan data ke topik tujuan.

  • Selama pemrosesan data, Function Compute secara otomatis membuat layanan dan fungsi yang sesuai. Nama layanan yang dibuat berada dalam format _FC-kafka-nama tugas ETL.

  • Topik sumber dan topik tujuan pada instance ApsaraMQ for Kafka harus berada di wilayah yang sama.

  • Function Compute memungkinkan Anda untuk menanyakan log panggilan fungsi untuk menyelesaikan masalah. Untuk informasi lebih lanjut, lihat Konfigurasikan fitur logging.

  • Fitur tugas ETL dari ApsaraMQ for Kafka sedang dalam pratinjau publik. Fitur ini independen dari instance ApsaraMQ for Kafka. ApsaraMQ for Kafka tidak membebankan biaya untuk fitur ini. Jika tugas ETL yang Anda buat bergantung pada layanan lain, lihat aturan penagihan layanan terkait.

Aktifkan ETL

Penting

Tugas ETL dibuat di modul Integrasi Ekosistem Konektor dari konsol ApsaraMQ for Kafka. Modul ini menyediakan kemampuan penyaringan dan transformasi data. Untuk informasi lebih lanjut, lihat Ikhtisar.

Pertama kali Anda menggunakan fitur tugas ETL, Anda harus memberikan otorisasi kepada ApsaraMQ for Kafka untuk mengakses layanan terkait. Setelah Anda mengonfirmasi otorisasi, sistem secara otomatis membuat peran terkait layanan AliyunServiceRoleForAlikafkaETL. ApsaraMQ for Kafka dapat mengasumsikan peran tersebut untuk mengakses layanan yang digunakan selama pemrosesan tugas ETL. Untuk informasi lebih lanjut, lihat Peran terkait layanan.

  1. Masuk ke Konsol ApsaraMQ for Kafka. Di bagian Resource Distribution halaman Overview, pilih wilayah tempat instance ApsaraMQ for Kafka yang ingin Anda kelola berada.

  2. Di panel navigasi di sebelah kiri, pilih Ecosystem Integration > ETL Tasks.

  3. Di halaman ETL Tasks, klik Create Task.

  4. Di pesan Service Authorization yang muncul, klik OK.

Buat tugas ETL

Bagian ini menjelaskan cara membuat dan menerapkan tugas ETL untuk mengekstrak data dari topik sumber, memproses data, dan kemudian memuat data yang telah diproses ke topik tujuan.

  1. Di halaman ETL Tasks, klik Create Task.

  2. Di langkah Configure Basic Information, masukkan nama tugas dan klik Next.

  3. Di langkah Configure Source and Destination, tentukan sumber data, topik tujuan, dan informasi konsumsi. Lalu, klik Next.

    Parameter

    Deskripsi

    Contoh

    Instance

    Instance tempat topik sumber dan topik tujuan berada.

    • alikafka_pre-cn-7pp2bz47****

    • alikafka_post-cn-2r42bvbm****

    Topic

    Topik sumber dan topik tujuan.

    Catatan

    Topik sumber dan topik tujuan harus berbeda.

    • topic****

    • test****

    Consumer Offset

    Offset dari mana Anda ingin pesan dikonsumsi. Parameter ini hanya ditampilkan setelah Anda klik Advanced Settings. Nilai valid:

    • Earliest Offset: Konsumsi pesan dari offset paling awal.

    • Latest Offset: Konsumsi pesan dari offset terbaru.

    Latest Offset

    Failure Handling Policy

    Menentukan apakah akan mengirim pesan berikutnya jika sebuah pesan gagal dikirim. Parameter ini hanya ditampilkan setelah Anda klik Advanced Settings. Nilai valid:

    • Continue Subscription: Kirim pesan berikutnya jika sebuah pesan gagal dikirim.

    • Stop Subscription: Jangan kirim pesan berikutnya jika sebuah pesan gagal dikirim.

    Continue Subscription

    Resource Creation Method

    Metode yang digunakan untuk membuat topik bantu yang diperlukan oleh tugas ETL. Parameter ini hanya ditampilkan setelah Anda klik Advanced Settings. Nilai valid:

    • Auto

    • Manual

    Auto

    Consumer Group

    kelompok konsumen yang digunakan oleh tugas ETL. Parameter ini hanya ditampilkan jika Anda mengatur parameter Resource Creation Method ke Manual. Kami menyarankan Anda menggunakan etl-cluster sebagai awalan dari nama kelompok konsumen.

    etl-cluster-kafka

    Task Offset Topic

    Topik yang digunakan untuk menyimpan offset konsumen. Parameter ini hanya ditampilkan jika Anda mengatur parameter Manual ke Resource Creation Method.

    • Topik: nama topik. Kami merekomendasikan agar Anda menggunakan etl-offset sebagai awalan nama topik.

    • Partisi: jumlah partisi dalam topik. Parameter ini harus diatur ke nilai lebih dari 1.

    • Mesin Penyimpanan: mesin penyimpanan yang digunakan oleh topik. Parameter ini harus diatur ke Penyimpanan Lokal.

      Catatan

      Anda hanya dapat mengatur parameter Mesin Penyimpanan ke Penyimpanan Lokal jika Anda membuat topik pada instance Edisi Profesional.

    • cleanup.policy: kebijakan pembersihan log yang digunakan oleh topik. Parameter ini harus diatur ke Compact.

    etl-offset-kafka

    Task Configuration Topic

    Topik yang digunakan untuk menyimpan konfigurasi tugas. Parameter ini hanya ditampilkan jika Anda mengatur parameter Manual ke Resource Creation Method.

    • Topik: nama topik. Kami merekomendasikan agar Anda menggunakan etl-config sebagai awalan nama topik.

    • Partisi: jumlah partisi dalam topik. Parameter ini harus diatur ke 1.

    • Mesin Penyimpanan: mesin penyimpanan yang digunakan oleh topik. Parameter ini harus diatur ke Penyimpanan Lokal.

      Catatan

      Anda hanya dapat mengatur parameter Mesin Penyimpanan ke Penyimpanan Lokal jika Anda membuat topik pada instance Edisi Profesional.

    • cleanup.policy: kebijakan pembersihan log yang digunakan oleh topik. Parameter ini harus diatur ke Compact.

    etl-config-kafka

    Task Status Topic

    Topik yang digunakan untuk menyimpan status tugas. Parameter ini hanya ditampilkan jika Anda mengatur parameter Manual ke Resource Creation Method.

    • Topik: nama topik. Kami merekomendasikan agar Anda menggunakan etl-status sebagai awalan nama topik.

    • Partisi: jumlah partisi dalam topik. Kami merekomendasikan agar Anda mengatur parameter ini ke 6.

    • Mesin Penyimpanan: mesin penyimpanan yang digunakan oleh topik. Parameter ini harus diatur ke Penyimpanan Lokal.

      Catatan

      Anda hanya dapat mengatur parameter Mesin Penyimpanan ke Penyimpanan Lokal jika Anda membuat topik pada instance Edisi Profesional.

    • cleanup.policy: kebijakan pembersihan log yang digunakan oleh topik. Parameter ini harus diatur ke Compact.

    etl-status-kafka

    Dead-letter Queue Topic

    Topik yang digunakan untuk menyimpan data kesalahan kerangka kerja ETL. Parameter ini hanya ditampilkan jika Anda mengatur parameter Manual ke Resource Creation Method. Untuk menghemat sumber daya topik, topik ini bisa sama dengan Topik Data Kesalahan.

    • Topik: nama topik. Kami merekomendasikan agar Anda menggunakan etl-error sebagai awalan nama topik.

    • Partisi: jumlah partisi dalam topik. Kami merekomendasikan agar Anda mengatur parameter ini ke 6.

    • Mesin Penyimpanan: mesin penyimpanan yang digunakan oleh topik. Parameter ini dapat diatur ke Penyimpanan Lokal atau Penyimpanan Cloud.

      Catatan

      Anda hanya dapat mengatur parameter Mesin Penyimpanan ke Penyimpanan Lokal jika Anda membuat topik pada instance Edisi Profesional.

    etl-error-kafka

    Error Data Topic

    Topik yang digunakan untuk menyimpan data kesalahan sink. Parameter ini hanya ditampilkan jika Anda mengatur parameter Manual ke Resource Creation Method. Untuk menghemat sumber daya topik, topik ini bisa sama dengan Topik Antrian Surat Mati.

    • Topik: nama topik. Kami merekomendasikan agar Anda menggunakan etl-error sebagai awalan nama topik.

    • Partisi: jumlah partisi dalam topik. Kami merekomendasikan agar Anda mengatur parameter ini ke 6.

    • Mesin Penyimpanan: mesin penyimpanan yang digunakan oleh topik. Parameter ini dapat diatur ke Penyimpanan Lokal atau Penyimpanan Cloud.

      Catatan

      Anda hanya dapat mengatur parameter Mesin Penyimpanan ke Penyimpanan Lokal jika Anda membuat topik pada instance Edisi Profesional.

    etl-error-kafka

  4. Di langkah Configure Function, konfigurasikan parameter dan klik Create.

    Sebelum Anda klik Create, Anda dapat klik Test untuk menguji apakah fungsi bekerja seperti yang diharapkan.

    Parameter

    Deskripsi

    Contoh

    Programming Language

    Bahasa yang digunakan untuk menulis fungsi. Atur parameter ini ke Python 3.

    Python3

    Template

    Template fungsi yang disediakan oleh sistem. Setelah Anda memilih template fungsi, sistem secara otomatis mengisi bidang Kode dengan kode dari template fungsi.

    Tambahkan Awalan/Akhiran

    Code

    Kode yang digunakan untuk memproses pesan. ApsaraMQ for Kafka menyediakan template fungsi yang dapat Anda gunakan untuk membersihkan dan mentransformasi data. Anda dapat memodifikasi kode dari template fungsi yang dipilih berdasarkan kebutuhan bisnis Anda.

    Catatan
    • Anda dapat mengimpor modul Python sesuai dengan kebutuhan Anda.

    • Pesan dalam kode berada dalam format kamus. Anda hanya perlu memodifikasi kunci dan nilainya.

    • Kembalikan pesan yang telah diproses. Jika fungsi digunakan untuk menyaring pesan, kembalikan None.

    def deal_message(message):
        for keyItem in message.keys():
            if (keyItem == 'key'):
                message[keyItem] = message[keyItem] + "KeySurfix"
                continue
            if (keyItem == 'value'):
                message[keyItem] = message[keyItem] + "ValueSurfix"
                continue
        return message

    Message Key

    Kunci pesan yang akan diproses di topik sumber. Klik Test Code untuk menampilkan parameter.

    demo

    Message Content

    Nilai pesan yang akan diproses di topik sumber.

    {"key": "test"}

    Setelah tugas ETL dibuat, Anda dapat melihat tugas tersebut di halaman ETL Tasks. Sistem secara otomatis menerapkan tugas tersebut.

Kirim pesan uji

Setelah tugas ETL diterapkan, Anda dapat mengirim pesan uji ke topik ApsaraMQ for Kafka sumber untuk menguji apakah data dapat diproses oleh fungsi yang dikonfigurasi dan dikirim ke topik tujuan.

  1. Di halaman ETL Tasks, temukan tugas ETL yang Anda buat dan klik Test di kolom Actions.

  2. Di panel Send Message, masukkan informasi pesan uji dan klik OK untuk mengirim pesan uji.

    • Di bidang Message Key, masukkan kunci pesan uji. Contoh: demo.

    • Di bidang Message Content, masukkan isi pesan uji. Contoh: {"key": "test"}.

    • Konfigurasikan parameter Send to Specified Partition untuk menentukan apakah akan mengirim pesan uji ke partisi tertentu.

      • Jika Anda ingin mengirim pesan uji ke partisi tertentu, klik Partition ID dan masukkan ID partisi di bidang Yes. Contoh: 0. Untuk informasi tentang cara menanyakan ID partisi, lihat Lihat status partisi.

      • Jika Anda tidak ingin mengirim pesan uji ke partisi tertentu, klik No.

Lihat log fungsi

Setelah Anda mengekstrak dan memproses data di ApsaraMQ for Kafka, Anda dapat melihat log fungsi untuk memverifikasi apakah topik tujuan menerima data yang telah diproses. Untuk informasi lebih lanjut, lihat Konfigurasikan fitur logging.

Gambar 1. Lihat log fungsi函数日志查询

Lihat detail tugas ETL

Setelah Anda membuat tugas ETL, Anda dapat melihat detailnya di konsol ApsaraMQ for Kafka.

Di halaman ETL Tasks, temukan tugas ETL yang Anda buat dan klik Details di kolom Actions.

Di halaman Task Details, lihat detail tugas ETL.

Hapus tugas ETL

Jika Anda tidak lagi memerlukan tugas ETL, Anda dapat menghapus tugas tersebut di konsol ApsaraMQ for Kafka.

  1. Di halaman ETL Tasks, temukan tugas ETL yang ingin Anda hapus dan klik Delete di kolom Actions.

  2. Di pesan Notes yang muncul, klik OK.