全部产品
Search
文档中心

Realtime Compute for Apache Flink:Debug draf

更新时间:Jul 02, 2025

Anda dapat mengaktifkan debugging draf untuk mensimulasikan proses deployment yang sedang berjalan, memeriksa output, dan memverifikasi logika bisnis dari pernyataan SELECT dan INSERT. Fitur ini meningkatkan efisiensi pengembangan dan mengurangi risiko kualitas data yang buruk. Topik ini menjelaskan cara melakukan debugging draf SQL untuk Realtime Compute for Apache Flink.

Informasi latar belakang

Fitur debugging draf memungkinkan Anda memverifikasi kebenaran logika draf di konsol Flink yang sepenuhnya dikelola. Selama proses debugging, data tidak akan ditulis ke tabel hasil terlepas dari jenis tabel hasilnya. Saat menggunakan fitur debugging draf, Anda dapat menggunakan data online upstream atau menentukan data debugging. Anda dapat melakukan debugging draf kompleks yang mencakup beberapa pernyataan SELECT atau INSERT, serta pernyataan UPSERT yang berisi operasi pembaruan, seperti count(*).

Batasan

  • Untuk menggunakan fitur debugging draf, Anda harus membuat kluster sesi.

  • Anda hanya dapat melakukan debugging draf SQL.

  • Anda tidak dapat melakukan debugging draf yang berisi pernyataan CREATE TABLE AS atau CREATE DATABASE AS.

  • Anda tidak dapat melakukan debugging data tabel sumber MySQL CDC untuk kluster sesi Realtime Compute for Apache Flink yang menggunakan VVR 4.0.8 atau versi sebelumnya karena tabel sumber MySQL CDC tidak ditulis dalam mode append-only.

  • Secara default, Realtime Compute for Apache Flink membaca maksimal 1.000 catatan data, setelah itu pembacaan data dihentikan.

Catatan penggunaan

  • Saat membuat kluster sesi, sumber daya kluster digunakan berdasarkan konfigurasi yang dipilih saat pembuatan kluster.

  • Kluster sesi cocok untuk lingkungan pengembangan dan pengujian. Jangan gunakan kluster sesi di lingkungan produksi. Debugging draf di kluster sesi meningkatkan pemanfaatan sumber daya JobManager. Penggunaan kluster sesi di lingkungan produksi dapat memengaruhi stabilitas antar deployment karena mekanisme penggunaan ulang JobManager. Masalah stabilitas berikut mungkin terjadi:

    • Jika JobManager mengalami masalah, semua deployment dari kluster yang berjalan di JobManager tersebut terpengaruh.

    • Jika TaskManager mengalami masalah, deployment dengan tugas berjalan di TaskManager tersebut terpengaruh.

    • Jika proses tidak diisolasi untuk tugas yang berjalan di TaskManager yang sama, tugas-tugas tersebut mungkin saling memengaruhi.

  • Jika kluster sesi menggunakan konfigurasi default, perhatikan hal-hal berikut:

    • Untuk satu deployment kecil, jumlah total deployment dalam sebuah kluster tidak boleh lebih dari 100.

    • Untuk deployment kompleks, batasi paralelisme hingga 512. Dalam satu kluster, batasi jumlah deployment ukuran sedang (masing-masing dengan paralelisme 64) menjadi 32. Jika tidak, masalah seperti timeout detak jantung mungkin terjadi, memengaruhi stabilitas kluster. Dalam kasus ini, Anda harus meningkatkan interval detak jantung dan periode timeout detak jantung.

    • Untuk menjalankan lebih banyak tugas secara paralel, tingkatkan konfigurasi sumber daya kluster sesi.

Prosedur

Langkah 1: Buat kluster sesi

  1. Pergi ke halaman Kluster Sesi.

    1. Masuk ke Konsol Realtime Compute for Apache Flink.

    2. Temukan ruang kerja yang ingin Anda kelola dan klik Console di kolom Actions.

    3. Di panel navigasi di sebelah kiri, pilih O&M > Session Clusters.

  2. Di sudut kiri atas halaman Kluster Sesi, klik Create Session Cluster.

  3. Konfigurasikan parameter.

    Tabel berikut menjelaskan parameter.

    Bagian

    Parameter

    Deskripsi

    Standard

    Name

    Nama kluster sesi yang ingin Anda buat.

    Deployment Target

    Antrian tempat draf dideploy. Untuk informasi lebih lanjut tentang cara membuat antrian, lihat Kelola antrian.

    State

    Status yang diinginkan dari kluster. Nilai valid:

    • RUNNING: Kluster terus berjalan setelah dikonfigurasi.

    • STOPPED: Kluster dihentikan setelah dikonfigurasi, dan deployment yang dideploy di kluster juga dihentikan.

    Label key

    Anda dapat mengonfigurasi label untuk deployment di bagian Label. Ini memungkinkan Anda menemukan deployment di halaman Ikhtisar dengan cara yang efisien.

    Label value

    Tidak tersedia

    Configuration

    Engine Version

    Versi mesin Flink yang digunakan oleh deployment saat ini. Untuk informasi lebih lanjut tentang versi engine, lihat Versi Engine dan Kebijakan siklus hidup. Kami merekomendasikan Anda menggunakan versi yang direkomendasikan atau versi stabil. Versi engine diklasifikasikan ke dalam jenis berikut:

    • Recommended: versi minor terbaru dari versi mayor terbaru.

    • Stable: versi minor terbaru dari versi mayor yang masih dalam periode layanan produk. Cacat pada versi sebelumnya diperbaiki dalam versi ini.

    • Normal: Versi minor lainnya yang masih berada dalam periode layanan produk.

    • Deprecated: versi yang melewati periode layanan produk.

    Flink Restart Policy

    Nilai valid:

    • Failure Rate: JobManager di-restart jika jumlah kegagalan dalam interval tertentu melebihi batas atas.

      Jika Anda memilih opsi ini, Anda perlu mengonfigurasi parameter Failure Rate Interval, Max failures per interval, dan Delay Between Restart Attempts.

    • Fixed Delay: JobManager di-restart pada interval tetap.

      Jika Anda memilih opsi ini, Anda harus mengonfigurasi parameter Number of Restart Attempts dan Delay Between Restart Attempts.

    • No Restarts: JobManager tidak di-restart jika tugas gagal.

    Penting

    Jika Anda membiarkan parameter ini kosong, kebijakan restart default Apache Flink digunakan. Dalam hal ini, jika tugas gagal dan checkpointing dinonaktifkan, JobManager tidak di-restart. Jika Anda mengaktifkan checkpointing, JobManager di-restart.

    Other Configuration

    Konfigurasikan pengaturan Flink lainnya, seperti taskmanager.numberOfTaskSlots: 1.

    Resources

    Number of TaskManagers

    Secara default, nilainya sama dengan paralelisme.

    JobManager CPU Cores

    Nilai default: 1.

    JobManager Memory

    Nilai minimum: 1 GiB. Nilai yang direkomendasikan: 4 GiB. Memori JobManager juga dapat diukur dalam MiB. Misalnya, Anda dapat mengatur parameter ini ke 1024 MiB atau 1,5 GiB.

    TaskManager CPU Cores

    Nilai default: 2.

    TaskManager Memory

    Nilai minimum: 1 GiB. Nilai yang direkomendasikan: 8 GiB. Memori TaskManager juga dapat diukur dalam MiB. Misalnya, Anda dapat mengatur parameter ini ke 1024 MiB atau 1,5 GiB.

    Kami merekomendasikan Anda menentukan jumlah slot untuk setiap TaskManager dan jumlah sumber daya yang tersedia untuk TaskManagers. Jumlah slot ditentukan oleh parameter taskmanager.numberOfTaskSlots. Saat mengonfigurasi parameter ini, perhatikan hal-hal berikut:

    • Untuk satu deployment kecil, kami merekomendasikan Anda mengatur rasio CPU-memori dari satu slot menjadi 1:4 dan mengonfigurasi setidaknya 1 core CPU dan 2 GiB memori untuk setiap slot.

    • Untuk deployment kompleks, kami merekomendasikan Anda mengonfigurasi setidaknya 1 core CPU dan 4 GiB memori untuk setiap slot. Jika Anda menggunakan konfigurasi sumber daya default, Anda dapat mengonfigurasi dua slot untuk setiap TaskManager.

    • Kami merekomendasikan Anda menggunakan konfigurasi sumber daya default untuk setiap TaskManager dan mengatur jumlah slot menjadi 2.

      Penting
      • Sumber daya TaskManager yang tidak mencukupi memengaruhi stabilitas deployment yang berjalan di TaskManager. Selain itu, mengonfigurasi hanya sejumlah kecil slot menyebabkan pemanfaatan sumber daya yang rendah karena overhead TaskManager tidak dapat disebar secara efektif di seluruh tugas.

      • Mengonfigurasi sejumlah besar sumber daya untuk TaskManager berarti sejumlah besar deployment berjalan di TaskManager. Jika TaskManager mengalami masalah, semua deployment akan terpengaruh.

    Logging

    Root Log Level

    Level log berikut didukung dan terdaftar dalam urutan penting yang meningkat.

    1. TRACE: mencatat informasi lebih rinci daripada log DEBUG.

    2. DEBUG: mencatat status sistem.

    3. INFO: mencatat informasi sistem penting.

    4. WARN: mencatat informasi tentang potensi kesalahan.

    5. ERROR: mencatat informasi tentang kesalahan dan pengecualian yang terjadi.

    Log Levels

    Nama dan level log.

    Logging Profile

    Template log. Anda dapat memilih template profil default atau kustom.

    Catatan

    Untuk informasi lebih lanjut tentang opsi terkait integrasi antara Flink dan framework orkestrasi sumber daya seperti Kubernetes dan Yarn, lihat Framework Orkestrasi Sumber Daya.

  1. Klik Create Session Cluster.

    Setelah kluster sesi dibuat, Anda dapat menggunakannya dalam debugging draf atau deployment.

Langkah 2: Debug draf

  1. Di panel navigasi di sebelah kiri, pilih Development > ETL. Pilih draf SQL untuk debugging.

  2. Di sudut kanan atas editor SQL, klik Debug. Kotak dialog Debug muncul. Pilih kluster sesi dari daftar drop-down Session Cluster. Kemudian, klik Next.

  3. Konfigurasikan data debugging.

    • Jika Anda menggunakan data online untuk debugging, klik Confirm.

    • Jika Anda menggunakan data tiruan, klik Download mock data template, masukkan data tiruan Anda di template, dan kemudian klik Upload mock data untuk mengunggah template.使用调试数据

      Tabel berikut menjelaskan parameter dalam langkah ini.

      Parameter

      Deskripsi

      Download mock data template

      Template disesuaikan dengan skema tabel sumber.

      Upload mock data

      Untuk melakukan debugging draf menggunakan data tiruan, Anda dapat mengunduh template data tiruan, mengedit template, dan mengunggah template. Kemudian, pilih Use mock data.

      Batasan penggunaan file data tiruan:

      • Hanya file CSV yang didukung.

      • File CSV harus berisi header tabel, seperti id(INT).

      • File CSV dapat berisi maksimal 1.000 catatan data dan tidak boleh lebih dari 1 MB.

      Data preview

      Setelah Anda mengunggah data tiruan, klik ikon 加号 di sebelah kiri nama tabel sumber untuk melihat pratinjau data dan mengunduh data tiruan.

      Code preview

      Fitur debugging secara otomatis memodifikasi pernyataan DDL tabel sumber dan tabel hasil. Namun, fitur ini tidak mengubah kode draf. Anda dapat melihat detail kode di bagian bawah Pratinjau Kode.

  4. Klik Confirm.

    Setelah Anda klik Confirm, hasil debugging muncul di bagian bawah editor skrip SQL.调试结果

Referensi