Anda dapat menggunakan fitur debugging pekerjaan untuk mensimulasikan eksekusi pekerjaan, memeriksa hasil output, dan memverifikasi logika bisnis pernyataan SELECT atau INSERT. Fitur ini meningkatkan efisiensi pengembangan dan mengurangi risiko kualitas data. Topik ini menjelaskan cara melakukan debugging pada pekerjaan Flink SQL.
Informasi latar belakang
Anda dapat menggunakan fitur debugging pekerjaan di Konsol pengembangan Flink untuk memverifikasi logika pekerjaan secara lokal. Proses ini tidak menulis data ke sink downstream lingkungan produksi, terlepas dari jenis tabel sink yang digunakan. Saat melakukan debugging pekerjaan, Anda dapat menggunakan data upstream langsung atau menentukan data uji. Anda dapat mendebug pekerjaan kompleks yang berisi beberapa pernyataan SELECT atau INSERT. Fitur ini juga mendukung kueri UPSERT, yang memungkinkan Anda menjalankan pernyataan yang mencakup operasi pembaruan, seperti count(*).
Batasan
Fitur debugging pekerjaan memerlukan kluster session.
Debugging hanya didukung untuk pekerjaan SQL.
Debugging tidak didukung untuk pernyataan CREATE TABLE AS SELECT (CTAS) dan CREATE DATABASE AS (CDAS).
Secara default, Flink secara otomatis berhenti setelah membaca maksimal 1.000 record.
Setiap sesi debugging dalam kluster session dibatasi maksimal tiga menit. Batasan ini memastikan stabilitas kluster dan membantu mengelola siklus hidup kluster.
Catatan penggunaan
Membuat kluster session mengonsumsi resource kluster. Jumlah resource yang dikonsumsi bergantung pada konfigurasi resource yang Anda pilih saat pembuatan.
Jangan gunakan kluster session di lingkungan produksi. Kluster session ditujukan untuk pengembangan dan pengujian. Menggunakan kluster session untuk mendebug pekerjaan dapat meningkatkan pemanfaatan resource JobManager (JM). Namun, jika Anda menggunakan kluster session di lingkungan produksi, mekanisme reuse JM dapat berdampak negatif terhadap stabilitas pekerjaan. Rinciannya sebagai berikut:
Single point of failure (SPOF) pada JobManager memengaruhi semua pekerjaan dalam kluster.
SPOF pada TaskManager memengaruhi pekerjaan yang memiliki task yang berjalan di atasnya.
Dalam TaskManager yang sama, jika tidak ada isolasi proses antar task, task tersebut dapat saling mengganggu.
Jika kluster session menggunakan konfigurasi default, perhatikan rekomendasi berikut:
Untuk pekerjaan kecil dengan tingkat paralelisme tunggal, jumlah total pekerjaan dalam kluster sebaiknya tidak melebihi 100.
Untuk pekerjaan kompleks, tingkat paralelisme maksimum untuk satu pekerjaan sebaiknya tidak melebihi 512. Untuk satu kluster, jangan menjalankan lebih dari 32 pekerjaan berukuran menengah dengan tingkat paralelisme 64. Jika tidak, masalah seperti heartbeat timeout dapat terjadi dan memengaruhi stabilitas kluster. Dalam kasus ini, tingkatkan interval heartbeat dan timeout.
Untuk menjalankan lebih banyak task secara konkuren, tingkatkan konfigurasi resource kluster session.
Prosedur
Langkah 1: Buat kluster session
Buka halaman Session Management.
Login ke Konsol Real-time Computing Platform.
Pada kolom Actions ruang kerja target, klik Console.
Di panel navigasi sebelah kiri, pilih .
Klik Create Session Cluster.
Masukkan informasi konfigurasi.
Tabel berikut menjelaskan parameter-parameter tersebut.
Modul
Konfigurasi
Deskripsi
Basic configurations
Name
Nama kluster session.
Deployment target
Pilih antrian sumber daya target. Untuk informasi selengkapnya tentang cara membuat antrian sumber daya, lihat Manage resource queues.
State
Tetapkan status yang diinginkan untuk kluster:
RUNNING: Kluster tetap berjalan setelah dikonfigurasi.
STOPPED: Kluster berhenti setelah dikonfigurasi. Semua pekerjaan yang diterapkan di kluster session juga berhenti.
Scheduled session management
Untuk mencegah pemborosan resource akibat kluster session yang berjalan lama, Anda dapat mengonfigurasi kluster agar mati secara otomatis jika tidak ada pekerjaan yang berjalan selama periode tertentu.
Tag Name
Anda dapat menambahkan tag ke pekerjaan. Hal ini membantu Anda menemukan pekerjaan dengan cepat di halaman Overview.
Tag value
Tidak ada.
Configuration
Engine version
Untuk informasi selengkapnya tentang versi engine, lihat Engine versions dan Lifecycle policy. Kami menyarankan Anda menggunakan versi yang direkomendasikan atau stabil. Daftar berikut menjelaskan label versi:
Recommended: Versi minor terbaru dari versi utama terbaru.
Stable: Versi minor terbaru dari versi utama yang masih dalam masa layanan. Bug dari versi sebelumnya telah diperbaiki pada versi ini.
Normal: Versi minor lain yang masih dalam masa layanan.
EOS: Versi yang telah melewati tanggal akhir layanan.
Flink restart strategy
Parameter ini dapat memiliki nilai berikut:
Failure Rate: Mulai ulang berdasarkan laju kegagalan.
Jika Anda memilih opsi ini, Anda juga harus menentukan Failure Rate Interval, Max Failures Per Interval, dan Delay Between Restarts.
Fixed Delay: Restart pada interval tetap.
Jika Anda memilih opsi ini, Anda juga harus menentukan Restart Attempts dan Delay Between Restarts.
No Restarts: Pekerjaan tidak akan restart jika suatu task gagal.
PentingJika Anda tidak mengonfigurasi parameter ini, strategi restart Apache Flink default akan digunakan. Jika suatu task gagal dan checkpointing dinonaktifkan, proses JobManager tidak akan restart. Jika checkpointing diaktifkan, proses JobManager akan restart.
Other configurations
Tetapkan konfigurasi Flink tambahan di sini. Misalnya,
taskmanager.numberOfTaskSlots: 1.Resource configurations
Number of TaskManagers
Secara default, nilai ini sama dengan tingkat paralelisme.
JobManager CPU cores
Nilai default adalah 1.
JobManager memory
Nilai minimum adalah 1 GiB. Nilai yang disarankan adalah 4 GiB. Kami menyarankan Anda menggunakan satuan GiB atau MiB. Contohnya, 1024 MiB atau 1,5 GiB.
TaskManager CPU cores
Nilai default adalah 2.
TaskManager memory
Nilai minimum adalah 1 GiB. Nilai yang disarankan adalah 8 GiB. Kami menyarankan Anda menggunakan satuan GiB atau MiB. Contohnya, 1024 MiB atau 1,5 GiB.
Konfigurasi TaskManager yang disarankan mencakup jumlah slot per TaskManager (taskmanager.numberOfTaskSlots) dan ukuran resource TaskManager. Rinciannya sebagai berikut:
Untuk pekerjaan kecil dengan tingkat paralelisme tunggal, rasio CPU-memori 1:4 per slot direkomendasikan. Gunakan minimal 1 core dan 2 GiB memori.
Untuk pekerjaan kompleks, gunakan minimal 1 core dan 4 GiB memori per slot. Dengan konfigurasi resource default, Anda dapat mengonfigurasi dua slot untuk setiap TaskManager.
Resource TaskManager sebaiknya tidak terlalu kecil atau terlalu besar. Kami menyarankan menggunakan konfigurasi resource default dan mengatur jumlah slot menjadi 2.
PentingJika satu TaskManager memiliki resource yang tidak mencukupi, stabilitas pekerjaan yang berjalan di atasnya dapat terpengaruh. Selain itu, karena jumlah slot kecil, overhead TaskManager tidak dapat dibagi secara efektif, sehingga mengurangi pemanfaatan resource.
Jika satu TaskManager memiliki resource berlebihan, banyak pekerjaan akan berjalan di atasnya. Jika TaskManager mengalami single point of failure, dampaknya akan luas.
Log configurations
Root log level
Tingkat log berikut disusun berdasarkan tingkat keparahan dari terendah ke tertinggi:
TRACE: Informasi yang lebih detail halus daripada DEBUG.
DEBUG: Informasi mengenai status sistem saat berjalan.
INFO: Informasi penting atau menarik.
WARN: Informasi mengenai potensi error sistem.
ERROR: Informasi mengenai error sistem dan exception.
Class log level
Masukkan nama log dan tingkatnya.
Log template
Anda dapat memilih templat sistem atau templat kustom.
CatatanUntuk informasi selengkapnya tentang opsi yang terkait integrasi Flink dengan framework orkestrasi sumber daya seperti Kubernetes dan Yarn, lihat Resource Orchestration Frameworks.
Klik Create Session Cluster.
Setelah kluster session dibuat, Anda dapat memilihnya di halaman debugging pekerjaan atau halaman deployment.
Langkah 2: Mendebug pekerjaan
Tulis kode SQL untuk pekerjaan tersebut. Untuk informasi selengkapnya, lihat Job development map.
Di halaman ETL, klik Debug, pilih debug cluster, lalu klik Next.
Konfigurasikan data uji.
Jika ingin menggunakan data langsung, klik OK.
Jika ingin menggunakan data uji, klik Download Data Template, isi templat dengan data uji, lalu unggah file data tersebut.

Topik ini menjelaskan fitur-fitur di halaman ini.
Parameter
Deskripsi
Download data template
Untuk mempermudah pengeditan, Anda dapat mengunduh templat data yang telah disesuaikan dengan struktur data tabel sumber.
Upload test data
Untuk melakukan debugging menggunakan data uji lokal, unduh templat data, edit data secara lokal, unggah file tersebut, lalu pilih Use Test Data.
File data uji memiliki batasan berikut:
Hanya format CSV yang didukung untuk file yang diunggah.
File CSV harus berisi header tabel, seperti id(INT).
Ukuran file data uji CSV maksimal 1 MB atau berisi maksimal 1.000 record.
Data preview
Setelah Anda mengunggah data uji, klik ikon
di sebelah kiri nama tabel sumber untuk melihat pratinjau dan mengunduh data uji tersebut.Debug code preview
Fitur debugging secara otomatis mengubah kode DDL untuk tabel sumber dan sink, tetapi tidak mengubah kode aktual dalam pekerjaan Anda. Anda dapat melihat pratinjau detail kodenya di bawah ini.
Setelah mengonfigurasi data uji, klik OK.
Setelah Anda mengklik OK, hasil debug akan ditampilkan di bawah editor SQL.

Dokumen terkait
Untuk menerapkan pekerjaan secara online setelah Anda mengembangkan atau mendebugnya, lihat Deploy a job.
Setelah menerapkan pekerjaan, lihat Start a job.
Untuk contoh lengkap alur operasional pekerjaan Flink SQL, lihat Quick start for Flink SQL jobs.