Node Flink SQL Streaming di Data Studio memungkinkan Anda menentukan logika pemrosesan untuk tugas real-time menggunakan pernyataan SQL standar. Flink SQL Streaming mudah digunakan, mendukung SQL yang kaya, serta menyediakan manajemen state yang andal dan toleransi kesalahan yang kuat. Node ini kompatibel dengan event time maupun processing time, serta menawarkan kemampuan ekstensi yang fleksibel. Node ini juga terintegrasi dengan sistem seperti Kafka dan Hadoop Distributed File System (HDFS), serta menyediakan log detail dan alat pemantauan kinerja. Untuk memulai pemrosesan data real-time, tambahkan tugas Flink SQL Streaming ke proyek DataWorks Anda dan tulis pernyataan SQL yang diperlukan. Topik ini menjelaskan cara mengembangkan tugas node Flink SQL Streaming di DataWorks dan menggunakan DataWorks untuk melakukan pemrosesan data real-time dengan Flink.
Prasyarat
Anda telah menyambungkan resource komputasi Realtime Compute for Apache Flink di Management Center. Untuk informasi selengkapnya, lihat Attach a computing resource.
Anda telah membuat node Flink SQL Streaming. Untuk informasi selengkapnya, lihat Create a node for a scheduled workflow.
Langkah 1: Kembangkan node Flink SQL Streaming
Pada halaman pengeditan node Flink SQL Streaming, Anda dapat mengembangkan tugas tersebut.
Kembangkan kode SQL
Di area pengeditan SQL, Anda dapat mengembangkan kode tugas dan menggunakan format ${variable_name} untuk mendefinisikan variabel. Nilai variabel tersebut kemudian dapat ditentukan di bagian Script Parameters pada panel Real-time Configuration di sisi kanan halaman pengeditan node. Pendekatan ini memungkinkan Anda meneruskan parameter secara dinamis ke dalam kode dalam skenario penjadwalan, seperti pada contoh berikut.
--Buat tabel sumber datagen_source.
CREATE TEMPORARY TABLE datagen_source(
name VARCHAR
) WITH (
'connector' = 'datagen'
);
--Buat tabel sink blackhole_sink.
CREATE TEMPORARY TABLE blackhole_sink(
name VARCHAR
) WITH (
'connector' = 'blackhole'
);
--Masukkan data dari tabel sumber ke tabel sink.
INSERT INTO blackhole_sink
SELECT
name
FROM datagen_source WHERE LENGTH(name) > ${name_length};Pada contoh ini, nilai parameter name_length adalah 5. Pengaturan ini akan memfilter data untuk nama dengan panjang lima karakter atau kurang.
Langkah 2: Konfigurasikan node Flink SQL Streaming
Anda dapat mengonfigurasi tugas node Flink SQL Streaming sesuai kebutuhan berdasarkan deskripsi parameter berikut.
Konfigurasikan resource Flink
Di sisi kanan halaman pengeditan, konfigurasikan parameter berikut di bagian Flink Resource Information pada panel Real-time Configuration berdasarkan Resource Allocation. Untuk informasi selengkapnya, lihat Configure job resources.
Parameter | Deskripsi |
Flink Cluster | Nama resource komputasi Flink yang sepenuhnya dikelola yang telah Anda sambungkan di Management Center. |
Flink Engine Version | Pilih versi engine sesuai kebutuhan. |
Resource Group | Pilih Serverless resource group yang dapat terhubung ke jaringan Flink. |
Resource Mode mendukung dua mode berikut. Untuk informasi selengkapnya, lihat Configure Job Resources.
Konfigurasikan parameter terkait berdasarkan mode alokasi resource yang Anda pilih. Pemahaman lebih mendalam tentang arsitektur Flink dapat membantu Anda mengonfigurasi parameter secara lebih efektif. Untuk informasi selengkapnya tentang arsitektur Flink, lihat Flink Architecture | Apache Flink. | |
Basic Mode | |
JobManager CPU | Praktik terbaik Flink menyarankan bahwa JobManager memerlukan minimal 0,5 core CPU dan 2 GiB memori agar berjalan stabil. Konfigurasi yang direkomendasikan adalah 1 core CPU dan 4 GiB memori. Maksimum adalah 16 core CPU. Sesuaikan konfigurasi berdasarkan ukuran kluster dan kompleksitas pekerjaan. |
JobManager memory | Konfigurasi memori JobManager memengaruhi kemampuannya dalam menangani penjadwalan dan mengelola tugas. Konfigurasi antara 2 GiB hingga 64 GiB direkomendasikan untuk memastikan operasi yang stabil dan efisien. Sesuaikan ukuran berdasarkan ukuran kluster dan kebutuhan pekerjaan. |
TaskManager CPU | Konfigurasi resource CPU TaskManager memengaruhi kemampuan pemrosesan tugasnya. Praktik terbaik Flink menyarankan konfigurasi minimum 0,5 core CPU dan 2 GiB memori. Konfigurasi yang direkomendasikan adalah 1 core CPU dan 4 GiB memori. Maksimum adalah 16 core CPU. Sesuaikan konfigurasi berdasarkan kebutuhan aktual Anda. |
TaskManager Memory | Konfigurasi memori TaskManager menentukan volume data yang dapat diproses dan kinerjanya. Untuk memastikan eksekusi pekerjaan yang stabil dan pemrosesan yang efisien, ukuran memori harus minimal 2 GiB. Maksimum adalah 64 GiB. |
Concurrency | Parameter ini menentukan jumlah tugas yang dapat dieksekusi secara paralel dalam pekerjaan Flink. Concurrency yang lebih tinggi dapat meningkatkan kecepatan pemrosesan dan pemanfaatan resource. Atur parameter ini secara tepat berdasarkan resource kluster dan karakteristik pekerjaan Anda. |
Slots per TaskManager | Jumlah slot per TaskManager menentukan berapa banyak tugas yang dapat dieksekusi secara paralel. Anda dapat menyesuaikan konfigurasi slot untuk mengoptimalkan pemanfaatan resource dan kemampuan pemrosesan paralel pekerjaan. |
Expert Mode | |
JobManager CPU | Praktik terbaik Flink menyarankan bahwa JobManager memerlukan minimal 0,25 core CPU dan 1 GiB memori agar berjalan stabil. Maksimum adalah 16 core CPU. Sesuaikan konfigurasi berdasarkan ukuran kluster dan kompleksitas pekerjaan. |
JobManager Memory | Konfigurasi memori JobManager memengaruhi kemampuannya dalam menangani penjadwalan dan mengelola tugas. Konfigurasi antara 1 GiB hingga 64 GiB direkomendasikan untuk memastikan operasi yang stabil dan efisien. Sesuaikan ukuran berdasarkan ukuran kluster dan kebutuhan pekerjaan. |
Slots per TaskManager | Jumlah slot per TaskManager menentukan berapa banyak tugas yang dapat dieksekusi secara paralel. Anda dapat menyesuaikan konfigurasi slot untuk mengoptimalkan pemanfaatan resource dan kemampuan pemrosesan paralel pekerjaan. |
Multi-SSG Mode | Secara default, semua operator ditempatkan dalam satu SSG. Anda tidak dapat mengubah konfigurasi resource setiap operator secara terpisah. Untuk mengonfigurasi resource untuk masing-masing operator, aktifkan Multi-SSG Mode. Hal ini memberikan setiap operator sebuah Slot independen, sehingga Anda dapat langsung mengonfigurasi resource-nya pada Slot yang sesuai. |
(Opsional) Konfigurasikan parameter skrip
Untuk menggunakan parameter secara dinamis dalam kode, klik Add Parameter di bagian Script Parameters pada panel Real-time Configuration di bilah navigasi sebelah kanan, lalu edit Parameter Name dan Parameter Value.
(Opsional) Konfigurasikan parameter runtime Flink
Pada bilah navigasi kanan, di panel Real-time Configuration, konfigurasikan parameter berikut di bagian Flink Running Parameters. Untuk informasi selengkapnya, lihat Configure job deployment information.
Parameter | Deskripsi |
System Checkpoint Interval | Parameter ini menentukan interval waktu di mana pekerjaan Flink secara berkala melakukan checkpoint sistem. Interval yang lebih pendek dapat mengurangi waktu pemulihan kesalahan tetapi meningkatkan beban sistem. Jika Anda tidak mengisi parameter ini, checkpoint sistem akan dinonaktifkan. |
Minimum Interval Between System Checkpoints | Parameter ini menetapkan waktu minimum yang harus ditunggu Flink antara dua checkpoint berturut-turut. Hal ini mencegah checkpoint yang terlalu sering sehingga memengaruhi kinerja sistem. Parameter ini memastikan adanya interval waktu minimum antara dua checkpoint ketika konkurensi maksimum checkpoint sistem adalah 1. |
State Data TTL | Parameter ini menentukan waktu maksimum data state dalam pekerjaan Flink dapat disimpan tanpa diakses atau diperbarui. Nilai default adalah 36 jam. Artinya, informasi state pekerjaan akan kedaluwarsa secara otomatis dan di-purge setelah 36 jam. Hal ini mengoptimalkan penyimpanan state dan penggunaan resource. Penting Nilai default di sini didasarkan pada praktik terbaik cloud dan berbeda dari nilai default open source. Nilai default open source adalah 0, yang berarti informasi state tidak pernah kedaluwarsa. |
Other Configurations | Mendukung konfigurasi parameter runtime Flink lainnya. Anda dapat mengonfigurasi parameter runtime Flink lainnya di sini, seperti Catatan Untuk informasi selengkapnya tentang pengaturan parameter, lihat Configure job deployment information. |
Setelah mengonfigurasi tugas, klik Save.
Langkah 3: Jalankan node Flink SQL Streaming
Publikasikan node Flink SQL Streaming.
Anda harus mempublikasikan tugas ke Operation Center sebelum tugas tersebut dapat dieksekusi. Ikuti petunjuk di layar untuk mempublikasikan node Flink SQL Streaming. Untuk informasi selengkapnya, lihat Publish a node or workflow.
CatatanOperasi publikasi juga menyinkronkan tugas ke ruang Flink vvp. Anda dapat melihat tugas yang dipublikasikan dari DataWorks di Operation Center Flink vvp di bawah Job O&M.
Jalankan node Flink SQL Streaming.
Setelah tugas dipublikasikan, klik Go To O&M di bawah Publish To Production Environment. Di Operation Center, buka , temukan tugas yang ingin Anda jalankan, lalu klik tombol Start di kolom Actions. Anda kemudian dapat melihat status berjalannya tugas tersebut.