Node Flink SQL Streaming di DataWorks memungkinkan Anda menggunakan SQL standar untuk menentukan logika pemrosesan real-time. Node ini mudah digunakan, mendukung berbagai fitur SQL, serta menyediakan manajemen state dan toleransi kesalahan yang andal. Node ini kompatibel dengan event time maupun processing time dan dapat diskalakan secara fleksibel. Selain itu, node ini terintegrasi dengan sistem seperti Kafka dan HDFS, serta menyediakan log detail dan alat pemantauan kinerja. Untuk memulai, tambahkan tugas Flink SQL Streaming ke proyek DataWorks Anda dan tulis pernyataan SQL. Topik ini menjelaskan cara mengembangkan dan menggunakan node Flink SQL Streaming di DataWorks untuk memproses data real-time.
Prasyarat
Anda telah mengaitkan sumber daya komputasi untuk Realtime Compute for Apache Flink di Management Center. Untuk informasi selengkapnya, lihat Bind a compute engine.
Anda telah membuat node Flink SQL Streaming. Untuk informasi selengkapnya, lihat Create a node for a scheduling workflow.
Anda telah memberikan izin OpenAPI yang diperlukan kepada RAM user atau RAM role yang digunakan DataWorks untuk memanggil API Realtime Compute for Apache Flink. Izin ini memungkinkan DataWorks mengirimkan dan menerapkan tugas node ke kluster Flink. Untuk informasi selengkapnya, lihat Grant permissions.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": ["stream:CreateDeployment", "stream:UpdateDeployment", "stream:GetDeployment", "stream:DeleteDeployment"], "Resource": ["*"] } ] }
Limitations
Node ini tidak dapat digunakan dalam alur kerja; harus dikembangkan dan dijalankan sebagai node mandiri.
Hanya kelompok sumber daya serverless yang didukung. Kelompok sumber daya penjadwalan khusus lama tidak didukung.
Langkah 1: Kembangkan node Flink SQL Streaming
Pada halaman pengeditan node Flink SQL Streaming, kembangkan tugas node seperti dijelaskan di bawah ini.
Kembangkan kode SQL
Di editor SQL, Anda dapat menentukan variabel menggunakan format ${variable_name}. Tetapkan nilai untuk variabel tersebut di bagian Script Parameters pada panel Real-Time configuration untuk pass parameter secara dinamis dalam skenario penjadwalan. Contohnya:
--Create the source table datagen_source.
CREATE TEMPORARY TABLE datagen_source(
name VARCHAR
) WITH (
'connector' = 'datagen'
);
--Create the result table blackhole_sink.
CREATE TEMPORARY TABLE blackhole_sink(
name VARCHAR
) WITH (
'connector' = 'blackhole'
);
--Insert data from the source table into the result table.
INSERT INTO blackhole_sink
SELECT
name
FROM datagen_source WHERE LENGTH(name) > ${name_length};Dalam contoh ini, nilai parameter name_length adalah 5. Parameter ini menyaring data agar hanya memproses catatan dengan panjang nama lebih dari 5 karakter.
Langkah 2: Konfigurasikan node Flink SQL Streaming
Konfigurasikan tugas node Flink SQL Streaming dengan parameter berikut.
Konfigurasikan sumber daya Flink
Pada bagian Flink resource information di panel Real-Time configuration, konfigurasikan parameter berikut berdasarkan Resource Mode yang dipilih. Untuk informasi selengkapnya, lihat Configure deployment resources.
Parameter | Deskripsi |
Flink cluster | Nama sumber daya komputasi Flink yang sepenuhnya dikelola yang telah dikaitkan di Management Center. |
Flink engine version | Pilih versi mesin Flink sesuai kebutuhan Anda. |
Resource Group | Pilih serverless resource group yang dapat terhubung ke jaringan Flink. |
Resource Mode mendukung dua mode berikut. Untuk informasi selengkapnya, lihat Configure deployment resources.
Konfigurasikan parameter berdasarkan mode yang Anda pilih. Pemahaman lebih mendalam tentang arsitektur Flink dapat membantu Anda mengonfigurasi parameter ini secara lebih efektif. Untuk detailnya, lihat Flink Architecture | Apache Flink. | |
Basic mode | |
Job Manager CPU | Berdasarkan praktik terbaik Flink, Job Manager memerlukan minimal 0,5 core CPU dan memori 2 GiB untuk operasi yang stabil. Kami merekomendasikan 1 core CPU dan memori 4 GiB, dengan maksimum 16 core CPU. Sesuaikan konfigurasi berdasarkan ukuran kluster dan kompleksitas penerapan. |
Job Manager Memory | Memori Job Manager memengaruhi kemampuannya dalam menjadwalkan dan mengelola tugas. Rentang 2 GiB hingga 64 GiB direkomendasikan untuk memastikan operasi yang stabil dan efisien. Sesuaikan ukuran berdasarkan ukuran kluster dan kebutuhan penerapan. |
Task Manager CPU | Sumber daya CPU Task Manager memengaruhi kemampuan pemrosesan tugasnya. Berdasarkan praktik terbaik Flink, kami merekomendasikan minimal 0,5 core CPU dan memori 2 GiB, dengan pengaturan umum 1 core CPU dan memori 4 GiB. Maksimumnya adalah 16 core CPU. Sesuaikan konfigurasi sesuai kebutuhan aktual Anda. |
Task Manager Memory | Memori Task Manager menentukan volume data yang dapat diproses dan kinerjanya. Untuk memastikan eksekusi yang stabil dan pemrosesan efisien, ukuran memori harus minimal 2 GiB dan dapat diatur hingga maksimum 64 GiB. |
Concurrency | Jumlah tugas paralel dalam penerapan Flink. Parallelisme yang lebih tinggi dapat meningkatkan kecepatan pemrosesan dan pemanfaatan sumber daya. Tetapkan nilai yang wajar berdasarkan sumber daya kluster dan karakteristik penerapan. |
Number of slots per TaskManager | Jumlah slot per TaskManager menentukan berapa banyak tugas yang dapat dijalankan secara konkuren. Anda dapat menyesuaikan pengaturan ini untuk mengoptimalkan pemanfaatan sumber daya dan kemampuan pemrosesan paralel penerapan. |
Expert mode | |
Job Manager CPU | Berdasarkan praktik terbaik Flink, Job Manager memerlukan minimal 0,5 core CPU dan memori 2 GiB untuk operasi yang stabil. Maksimumnya adalah 16 core CPU. Sesuaikan konfigurasi berdasarkan ukuran kluster dan kompleksitas penerapan. |
Job Manager Memory | Memori Job Manager memengaruhi kemampuannya dalam menjadwalkan dan mengelola tugas. Rentang 2 GiB hingga 64 GiB direkomendasikan untuk memastikan operasi yang stabil dan efisien. Sesuaikan ukuran berdasarkan ukuran kluster dan kebutuhan penerapan. |
Number of slots per TaskManager | Jumlah slot per TaskManager menentukan berapa banyak tugas yang dapat dijalankan secara konkuren. Anda dapat menyesuaikan pengaturan ini untuk mengoptimalkan pemanfaatan sumber daya dan kemampuan pemrosesan paralel penerapan. |
Multiple SSG mode | Secara default, semua operator berada dalam satu slot sharing group (SSG), sehingga mencegah konfigurasi sumber daya individual. Untuk mengatur sumber daya untuk operator tertentu, Anda harus mengaktifkan Multiple SSG mode. Ini akan memberikan setiap operator slot independennya sendiri, sehingga Anda dapat mengonfigurasi sumber dayanya secara langsung. |
(Opsional) Konfigurasikan parameter skrip
Pada bagian Script Parameters di panel Real-Time configuration, klik Add parameters, lalu masukkan Parameter name dan Parameter Value. Hal ini memungkinkan Anda menggunakan parameter tersebut secara dinamis dalam kode Anda.
(Opsional) Konfigurasikan parameter runtime Flink
Pada bagian Flink running parameters di panel Real-Time configuration, konfigurasikan parameter berikut. Untuk informasi selengkapnya, lihat Configure deployment information.
Parameter | Deskripsi |
System Checkpoint Interval | Interval pembuatan checkpoint oleh penerapan Flink. Interval yang lebih pendek mengurangi waktu pemulihan setelah kegagalan tetapi meningkatkan beban sistem. Jika Anda mengosongkan parameter ini, checkpointing dinonaktifkan. |
Minimum time interval between two system checkpoints | Waktu minimum yang harus berlalu antara dua checkpoint. Pengaturan ini mencegah checkpoint yang terlalu sering memengaruhi kinerja sistem. Ini memastikan adanya jeda minimum antara selesainya satu checkpoint dan dimulainya checkpoint berikutnya, terutama ketika parallelisme checkpoint bernilai 1. |
State TTL | Waktu hidup (TTL) untuk data state dalam penerapan Flink. Ini menentukan durasi maksimum state dapat disimpan tanpa diakses atau diperbarui. Nilai default-nya adalah 36 jam, setelah itu state kedaluwarsa dan dihapus. Hal ini membantu mengoptimalkan penggunaan penyimpanan dan sumber daya. Penting Nilai default ini berdasarkan praktik terbaik cloud dan berbeda dari nilai default open-source yaitu 0, yang berarti informasi state tidak pernah kedaluwarsa. |
Others | Mendukung parameter runtime Flink lainnya. Contohnya: Catatan Untuk informasi selengkapnya tentang konfigurasi parameter, lihat Configure deployment information. |
Setelah Anda mengonfigurasi node, klik Save.
Langkah 3: (Opsional) Debug node Flink SQL Streaming
Sebelum menerbitkan node ke lingkungan produksi, Anda dapat menggunakan fitur debug untuk menguji kode Anda dengan data tiruan yang diunggah. Hal ini memungkinkan Anda memverifikasi logika SQL dan aliran data tanpa perlu menerbitkan tugas ke Operation Center.
Fitur debug tersedia untuk pengguna yang masuk daftar allowlist. Untuk menggunakan fitur ini, kirimkan tiket agar fitur diaktifkan.
Konfigurasikan sumber daya Flink
Pada bagian Flink resource information di panel Run Configuration, konfigurasikan parameter berikut.
Parameter | Deskripsi |
Flink Debug Cluster | Flink Session Cluster yang digunakan untuk menjalankan tugas debug. Parameter ini wajib diisi. Daftar drop-down menampilkan session cluster yang ada di bawah sumber daya komputasi saat ini beserta statusnya. Hanya kluster dengan status Running yang dapat dipilih. Jika tidak ada kluster yang tersedia, klik Create Cluster untuk membuka konsol Realtime Compute for Apache Flink dan membuat Session Cluster baru. |
Flink Engine Version | Versi mesin Flink dari Session Cluster yang dipilih. Nilai ini diisi otomatis oleh sistem dan tidak dapat diedit secara manual. |
Timeout | Waktu eksekusi maksimum untuk satu tugas debug, dalam menit. Default-nya adalah 30 menit. Tugas akan dihentikan secara otomatis jika melebihi batas ini. |
Jika Anda mengganti sumber daya komputasi untuk node saat ini, Flink Debug Cluster yang dipilih dan data debug yang diunggah akan dihapus. Anda harus memilih kluster baru dan mengunggah ulang data tersebut.
Siapkan data debug
Pada bagian Debug Data di panel Run Configuration, siapkan data tiruan untuk tabel sumber yang dirujuk dalam kode Anda.
Klik Generate Template. Sistem akan mengurai tabel sumber yang dirujuk dalam SQL saat ini dan menampilkannya. Data yang sebelumnya diunggah tidak dihapus.
Pada kolom Actions untuk suatu tabel, klik Download Template untuk mengunduh templat CSV yang sesuai dengan skema tabel sumber.
Di komputer lokal Anda, isi templat tersebut dengan data debug sesuai urutan bidang dan simpan sebagai file CSV.
Pada kolom Actions untuk tabel tersebut, klik Upload dan pilih file CSV yang telah Anda siapkan. Setelah unggahan berhasil, Status berubah menjadi Enabled.
(Opsional) Setelah mengunggah, Anda dapat mengklik Preview untuk melihat data di panel bawah. Untuk memodifikasi data, unggah ulang file CSV untuk menimpa data yang ada.
Untuk mengecualikan sementara data tiruan tabel sumber dari eksekusi debug, klik Disable. Statusnya berubah menjadi Disabled. Untuk memasukkannya kembali, klik Enable. Hanya data dengan status Enabled yang digunakan dalam eksekusi debug.
Anda harus memilih Flink Debug Cluster sebelum mengunggah data tiruan. Jika tidak, Anda akan diminta untuk select a compute resource first.
Data debug harus dalam format CSV, dan setiap file tidak boleh melebihi 1 MB. Baris pertama file CSV harus berisi nama bidang. Disarankan menggunakan encoding UTF-8.
Jalankan tugas debug
Setelah menyiapkan data debug, klik ikon Run di bilah alat editor atau tekan F8. Sistem akan mengirimkan kode, data tiruan, dan informasi sumber daya Flink ke Session Cluster yang dipilih untuk dieksekusi.
Jika kode Anda menggunakan parameter dalam format ${variable_name}, pastikan Anda telah menetapkan nilainya di bagian Script Parameters. Selama debugging, sistem akan mengganti placeholder tersebut dengan nilai yang ditentukan sebelum mengirimkan kode.
Lihat hasil debug
Setelah tugas debug dijalankan, panel hasil di bagian bawah halaman menampilkan informasi berikut untuk membantu Anda mengidentifikasi masalah dengan cepat:
Code: Kode SQL yang dikirimkan ke mesin Flink untuk eksekusi ini, dengan semua variabel telah diganti dengan nilainya.
Logs: Log eksekusi dan pesan error apa pun dari tugas debug.
Query Result: Data keluaran dari tugas debug.
Langkah 4: Jalankan node Flink SQL Streaming
Terbitkan node Flink SQL Streaming.
Tugas harus diterbitkan ke Operation Center sebelum dapat dijalankan. Ikuti petunjuk di layar untuk menerbitkan node Flink SQL Streaming. Untuk informasi selengkapnya, lihat Publishing nodes and workflows.
CatatanOperasi ini juga menerbitkan tugas ke Ververica Platform (VVP). Anda dapat melihat tugas yang diterbitkan dari DataWorks di halaman Deployments pada konsol VVP.
Jalankan node Flink SQL Streaming.
Setelah menerbitkan node, klik Go to operation and maintenance (terletak di bawah Publish to Production). Di Node O&M, navigasi ke . Temukan tugas tersebut, lalu klik Start di kolom Actions untuk menjalankan tugas dan memantau statusnya.