Debugging mensimulasikan eksekusi pekerjaan untuk memverifikasi logika bisnis pernyataan SQL Anda tanpa menulis data ke sink produksi. Tidak ada data yang mencapai sistem downstream selama sesi debugging, terlepas dari jenis tabel sink yang digunakan.
Gunakan debugging untuk:
-
Menguji pernyataan SELECT atau INSERT dengan data upstream langsung atau data uji yang Anda sediakan.
-
Memvalidasi pekerjaan yang berisi beberapa pernyataan SELECT atau INSERT.
-
Memverifikasi kueri UPSERT, termasuk pernyataan dengan operasi pembaruan seperti
count(*).
Batasan
-
Hanya pekerjaan SQL yang didukung.
-
Pernyataan CREATE TABLE AS SELECT (CTAS) dan CREATE DATABASE AS (CDAS) tidak didukung.
-
Flink berhenti sementara setelah membaca 1.000 record secara default.
-
Setiap sesi debugging dibatasi hingga 3 menit.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Ruang kerja Realtime Compute for Apache Flink dalam status Running
-
Draf SQL dengan pernyataan SQL valid di halaman ETL
-
Izin yang cukup untuk membuat session cluster dan menjalankan tugas debugging
Langkah 1: Buat session cluster
Debugging dijalankan pada session cluster. Session cluster dirancang hanya untuk pengembangan dan pengujian. Jangan menggunakannya di lingkungan produksi.
-
Di Konsol Flink, buka ruang kerja Anda.
-
Klik Create Session Cluster.
-
Konfigurasikan parameter yang dijelaskan pada bagian berikut, lalu klik Create Session Cluster.
Pengaturan dasar
|
Parameter |
Description |
|
Name |
Nama session cluster. |
|
Deployment Target |
Antrian sumber daya tempat session cluster dijalankan. Untuk informasi lebih lanjut, lihat Manage queues. |
|
State |
Status yang diinginkan setelah pembuatan. RUNNING: Kluster segera dimulai. STOPPED: Kluster dibuat tetapi tidak dijalankan. |
|
Scheduled Session Management |
Matikan kluster secara otomatis jika tidak ada pekerjaan yang berjalan selama periode tertentu. Mencegah pemborosan sumber daya akibat kluster menganggur. |
|
Labels |
Tag untuk memfilter pekerjaan di halaman Overview. |
Pengaturan engine dan restart
|
Parameter |
Description |
|
Engine Version |
Versi engine VVR. Pilih versi Recommended atau Stable. Untuk detailnya, lihat Engine versions dan Lifecycle policies. |
|
Flink Restart Policy |
Perilaku restart saat suatu task gagal.
Jika tidak dikonfigurasi, strategi restart default akan diterapkan: JobManager tidak melakukan restart saat task gagal jika checkpointing dimatikan, tetapi akan melakukan restart jika checkpointing diaktifkan. |
|
Other Configuration |
Entri konfigurasi Flink tambahan (misalnya, |
Pengaturan sumber daya
|
Parameter |
Description |
|
Number of TaskManagers |
Secara default, nilai ini sama dengan parallelism. |
|
JobManager CPU Cores |
Default: 1. |
|
JobManager Memory |
Minimum: 1 GiB. Direkomendasikan: 4 GiB. |
|
TaskManager CPU Cores |
Default: 2. |
|
TaskManager Memory |
Minimum: 1 GiB. Direkomendasikan: 8 GiB. |
Rekomendasi ukuran slot:
|
Workload |
vCPU per slot |
Memory per slot |
|
Small jobs (parallelism of 1) |
1 |
2 GiB |
|
Complex jobs |
1 |
4 GiB |
Mulailah dengan konfigurasi default 2 slot per TaskManager.
Jika satu TaskManager memiliki terlalu sedikit sumber daya, stabilitas pekerjaan menurun dan overhead TaskManager tidak dapat dibagi di antara slot. Jika satu TaskManager memiliki terlalu banyak sumber daya, kegagalan pada TaskManager tersebut akan memengaruhi banyak pekerjaan sekaligus.
Pengaturan log
|
Parameter |
Description |
|
Root Log Level |
Tingkat log berdasarkan tingkat keparahan menaik: TRACE, DEBUG, INFO, WARN, ERROR. |
|
Log Levels |
Nama kelas dan tingkat log. |
|
Logging Profile |
Templat sistem atau templat kustom. |
Untuk opsi terkait integrasi Flink dengan framework orkestrasi sumber daya seperti Kubernetes dan YARN, lihat Resource orchestration frameworks.
Setelah membuat session cluster, Anda dapat memilihnya di halaman ETL saat memulai sesi debugging.
Langkah 2: Debug draf SQL
-
Di halaman ETL, tulis atau buka kode SQL untuk pekerjaan Anda. Untuk informasi lebih lanjut, lihat Job development overview.
-
Klik Debug. Pilih session cluster, lalu klik Next.
-
Konfigurasikan sumber data uji:
-
Live data: Untuk menggunakan data upstream langsung, klik Confirm tanpa melakukan perubahan.
-
Test data: Untuk menggunakan data uji, klik Download mock data template untuk mendapatkan templat CSV yang sesuai dengan skema tabel sumber Anda. Isi templat tersebut, unggah, lalu pilih Use mock data.
Option
Description
Download mock data template
Mengunduh templat CSV yang sesuai dengan skema tabel sumber.
Upload mock data
Unggah file CSV berisi data uji. File harus menyertakan baris header (misalnya,
id(INT)). Ukuran maksimum file: 1 MB atau 1.000 record.Data Preview
Setelah mengunggah data uji, klik ikon perluas (+) di samping nama tabel sumber untuk melihat pratinjau data.
Code preview
Menampilkan pratinjau pernyataan DDL yang telah dimodifikasi. Debugging secara otomatis memodifikasi pernyataan DDL untuk tabel sumber dan sink, tetapi tidak mengubah kode pekerjaan aktual Anda.
-
-
Klik OK. Hasil debug muncul di bawah editor SQL.
Pemecahan masalah
|
Issue |
Cause |
Solution |
|
Debug button is grayed out |
No session cluster is running |
Create and start a session cluster in . |
|
Debugging session times out |
Each session is limited to 3 minutes |
Simplify the query or reduce the input data volume. |
|
Debug results are empty |
Source table has no data or test data is invalid |
Check the data preview. If using test data, verify the CSV format and header row. |
|
Session cluster heartbeat timeout |
Too many jobs running on the cluster |
Reduce the number of concurrent jobs or increase the heartbeat interval and timeout. |
|
Unexpected debug output |
DDL auto-modification not visible |
Check the Debug code preview to see the modified DDL statements. |
Langkah selanjutnya
-
Untuk menerapkan pekerjaan setelah pengembangan atau debugging, lihat Deploy a job.
-
Setelah menerapkan pekerjaan, lihat Start a deployment.
-
Untuk panduan lengkap alur kerja Flink SQL, lihat Quick start for Flink SQL jobs.