Di Data Studio dari DataWorks, node Flink SQL Streaming memungkinkan Anda menggunakan pernyataan SQL standar untuk mendefinisikan logika pemrosesan tugas real-time. Node ini mudah digunakan, mendukung berbagai sintaksis SQL, dan menyediakan manajemen status yang kuat serta toleransi kesalahan. Selain itu, node ini kompatibel dengan waktu kejadian dan waktu pemrosesan serta dapat diperluas secara fleksibel. Node Flink SQL Streaming juga mudah diintegrasikan dengan layanan seperti Kafka dan Hadoop Distributed File System (HDFS), serta menyediakan alat pemantauan kinerja dan log yang terperinci. Anda hanya perlu membuat tugas Flink SQL Streaming dan menulis pernyataan SQL di ruang kerja DataWorks untuk memproses data secara real-time. Topik ini menjelaskan cara mengembangkan tugas Flink SQL Streaming di konsol DataWorks dan memproses data real-time dari Realtime Compute for Apache Flink menggunakan DataWorks.
Prasyarat
Ruang kerja DataWorks telah dibuat dan sumber daya komputasi Realtime Compute for Apache Flink telah dikaitkan dengan ruang kerja DataWorks di Management Center konsol DataWorks.
Sebuah node Flink SQL Streaming telah dibuat.
Langkah 1: Kembangkan tugas berdasarkan node Flink SQL Streaming
Di tab konfigurasi node Flink SQL Streaming, Anda dapat melakukan operasi berikut untuk mengembangkan tugas:
Kembangkan kode SQL
Di editor SQL, kembangkan kode tugas. Anda dapat mendefinisikan variabel dalam format ${Nama Variabel} di dalam kode tugas, dan mengonfigurasi parameter penjadwalan di bagian Script Parameters pada tab Real-time Configurations untuk menetapkan parameter penjadwalan ke variabel sebagai nilai. Saat tugas Flink SQL Streaming dijadwalkan untuk dijalankan, nilai parameter penjadwalan akan diganti secara dinamis di dalam kode tugas. Contoh kode:
-- Buat tabel sumber bernama datagen_source.
CREATE TEMPORARY TABLE datagen_source(
name VARCHAR
) WITH (
'connector' = 'datagen'
);
-- Buat tabel hasil bernama blackhole_sink.
CREATE TEMPORARY TABLE blackhole_sink(
name VARCHAR
) WITH (
'connector' = 'blackhole'
);
-- Masukkan data dari tabel sumber datagen_source ke tabel hasil blackhole_sink.
INSERT INTO blackhole_sink
SELECT
name
FROM datagen_source WHERE LENGTH(name) > ${name_length};Dalam contoh ini, nilai parameter name_length adalah 5. Anda dapat mengonfigurasi parameter ini untuk menyaring data yang memiliki panjang nama kurang dari 5.
Langkah 2: Konfigurasikan tugas Flink SQL Streaming
Anda dapat merujuk pada deskripsi parameter dalam tabel berikut untuk mengonfigurasi tugas Flink SQL Streaming sesuai dengan kebutuhan bisnis Anda.
Konfigurasikan parameter di bagian Informasi Sumber Daya Flink
Di bagian Flink Resource Information pada tab Real-time Configurations, konfigurasikan parameter berdasarkan resource configuration mode. Tabel berikut menjelaskan parameter-parameter tersebut. Untuk informasi lebih lanjut, lihat Konfigurasikan sumber daya untuk penyebaran.
Parameter | Deskripsi |
Flink Cluster | Nama ruang kerja Realtime Compute for Apache Flink yang dikaitkan dengan ruang kerja DataWorks di Management Center. |
Flink Engine Version | Pilih versi mesin berdasarkan kebutuhan bisnis Anda. |
Resource Group | Pilih grup sumber daya serverless yang terhubung ke ruang kerja Realtime Compute for Apache Flink. |
Dua resource configuration modes didukung: mode dasar dan mode ahli. Untuk informasi lebih lanjut, lihat Konfigurasikan sumber daya untuk penyebaran.
Konfigurasikan parameter berdasarkan mode konfigurasi sumber daya yang Anda pilih. Anda dapat mengonfigurasi parameter dengan lebih efisien setelah memahami arsitektur Apache Flink. Untuk informasi lebih lanjut, lihat Arsitektur Flink. | |
Basic Mode | |
Job Manager CPU | Praktik terbaik Realtime Compute for Apache Flink menunjukkan bahwa JobManager memerlukan setidaknya 0,5 core CPU dan 2 GiB memori untuk memastikan penyebaran berjalan stabil. Kami merekomendasikan Anda mengonfigurasi 1 core CPU dan 4 GiB memori untuk setiap JobManager. Anda dapat mengonfigurasi maksimum 16 core CPU. Anda harus mengonfigurasi parameter ini berdasarkan ukuran ruang kerja Realtime Compute for Apache Flink dan kompleksitas penyebaran. |
Job Manager Memory | Konfigurasi memori JobManager memengaruhi kemampuan penjadwalan dan manajemen tugas JobManager. Kami merekomendasikan Anda menentukan nilai antara 2 hingga 64 untuk parameter ini guna memastikan sistem berjalan stabil dan efisien. Unit: GiB. Anda harus mengonfigurasi parameter ini berdasarkan ukuran ruang kerja Realtime Compute for Apache Flink dan persyaratan penyebaran. |
Task Manager CPU | Konfigurasi sumber daya CPU TaskManager memengaruhi kemampuan TaskManager untuk memproses data dalam tugas. Praktik terbaik Realtime Compute for Apache Flink menunjukkan bahwa TaskManager memerlukan setidaknya 0,5 core CPU dan 2 GiB memori untuk memastikan penyebaran berjalan stabil. Kami merekomendasikan Anda mengonfigurasi 1 core CPU dan 4 GiB memori untuk setiap TaskManager. Anda dapat mengonfigurasi maksimum 16 core CPU. Anda harus mengonfigurasi parameter ini berdasarkan kebutuhan bisnis Anda. |
Task Manager Memory | Konfigurasi memori TaskManager menentukan volume data dan kinerja TaskManager untuk memproses data dalam tugas. Untuk memastikan stabilitas dan efisiensi tugas, kami merekomendasikan Anda menentukan nilai antara 2 hingga 64 untuk parameter ini. Unit: GiB. |
Parallelism | Jumlah tugas yang dapat dijalankan secara paralel dalam penyebaran. Paralelisme yang lebih tinggi dapat meningkatkan kecepatan pemrosesan dan pemanfaatan sumber daya. Anda harus mengonfigurasi parameter ini berdasarkan sumber daya ruang kerja dan karakteristik penyebaran. |
Slots For Each TaskManager | Jumlah slot di setiap TaskManager. Parameter ini menentukan jumlah tugas yang dapat dijalankan secara paralel. Anda dapat menyesuaikan konfigurasi slot untuk mengoptimalkan pemanfaatan sumber daya dan pemrosesan paralel penyebaran. |
Expert Mode | |
Job Manager CPU | Praktik terbaik Realtime Compute for Apache Flink menunjukkan bahwa JobManager memerlukan setidaknya 0,25 core CPU dan 1 GiB memori untuk memastikan penyebaran berjalan stabil. Anda dapat mengonfigurasi maksimum 16 core CPU. Anda harus mengonfigurasi parameter ini berdasarkan ukuran ruang kerja Realtime Compute for Apache Flink dan kompleksitas penyebaran. |
Job Manager Memory | Konfigurasi memori JobManager memengaruhi kemampuan penjadwalan dan manajemen tugas JobManager. Kami merekomendasikan Anda menentukan nilai antara 1 hingga 64 untuk parameter ini guna memastikan sistem berjalan stabil dan efisien. Unit: GiB. Anda harus mengonfigurasi parameter ini berdasarkan ukuran ruang kerja Realtime Compute for Apache Flink dan persyaratan penyebaran. |
Slots For Each TaskManager | Jumlah slot di setiap TaskManager. Parameter ini menentukan jumlah tugas yang dapat dijalankan secara paralel. Anda dapat menyesuaikan konfigurasi slot untuk mengoptimalkan pemanfaatan sumber daya dan pemrosesan paralel penyebaran. |
Multi-SSG Mode | Secara default, semua operator ditempatkan dalam satu SSG. Anda tidak dapat memodifikasi konfigurasi sumber daya setiap operator secara terpisah. Jika Anda ingin mengonfigurasi sumber daya untuk operator individual, Anda harus mengaktifkan mode Multiple SSG untuk memastikan setiap operator memiliki slot independen. Dengan cara ini, Anda dapat mengonfigurasi sumber daya untuk setiap operator dalam sebuah slot. |
(Opsional) Konfigurasikan parameter di bagian Parameter Skrip
Di panel navigasi kanan halaman konfigurasi node, klik tab Real-time Configurations. Di bagian Script Parameters pada tab Konfigurasi Real-time, klik Add Parameter dan konfigurasikan Parameter Name dan Parameter Value untuk menggunakan parameter secara dinamis di dalam kode.
(Opsional) Konfigurasikan parameter di bagian Parameter Runtime Flink
Di panel navigasi kanan halaman konfigurasi node, klik tab Real-time Configurations. Di bagian Flink Runtime Parameters pada tab Konfigurasi Real-time, konfigurasikan parameter yang dijelaskan dalam tabel berikut. Untuk informasi lebih lanjut, lihat Konfigurasikan penyebaran.
Parameter | Deskripsi |
Checkpointing Interval | Interval pembuatan checkpoint. Interval yang lebih pendek dapat mengurangi waktu pemulihan kesalahan tetapi meningkatkan overhead sistem. Jika Anda tidak mengonfigurasi parameter ini, fitur checkpointing dinonaktifkan. |
The Minimum Interval Between Two Checkpoints | Interval minimum antara dua checkpoint. Ini dapat mencegah checkpoint yang terlalu sering memengaruhi kinerja sistem. Jika paralelisme maksimum checkpoint adalah 1, parameter ini menentukan interval minimum antara dua checkpoint. |
State Data Expiration Time | Lama waktu maksimum data status dalam penyebaran dapat disimpan tanpa diakses atau diperbarui. Nilai default: 36. Unit: jam. Nilai default menunjukkan bahwa data status penyebaran kedaluwarsa setelah 36 jam. Sistem secara otomatis menghapus data yang kedaluwarsa untuk mengoptimalkan penyimpanan status dan penggunaan sumber daya. Penting Nilai default ditentukan berdasarkan praktik terbaik Alibaba Cloud. Nilai default ini berbeda dari nilai default TTL yang disediakan oleh Apache Flink. Nilai default TTL yang disediakan oleh Apache Flink adalah 0, yang menunjukkan bahwa data status tidak kedaluwarsa. |
Other Configurations | Pengaturan lainnya untuk Realtime Compute for Apache Flink. Contoh: Catatan Untuk informasi lebih lanjut tentang parameter penyebaran lainnya, lihat Buat penyebaran. |
Setelah konfigurasi selesai, klik Save untuk menyimpan tugas.
Langkah 3: Mulai tugas Flink SQL Streaming
Sebarkan tugas Flink SQL Streaming.
Tugas hanya dapat dijalankan setelah diterapkan ke Operation Center. Anda dapat menerapkan tugas Flink SQL Streaming sesuai petunjuk.
CatatanSaat Anda menerapkan tugas Flink SQL Streaming di konsol DataWorks, tugas tersebut juga diterapkan ke platform Ververica Platform (VVP) dari Realtime Compute for Apache Flink. Anda dapat melihat tugas yang diterapkan dari DataWorks di halaman Penyebaran konsol pengembangan Realtime Compute for Apache Flink.
Mulai tugas Flink SQL Streaming.
Setelah Anda menerapkan tugas, Anda dapat mengklik Perform O&M di bawah Prod Online di konsol DataWorks. Di panel navigasi kiri Operation Center, pilih . Di halaman yang muncul, temukan tugas dan klik Start di kolom Actions untuk memulai dan melihat status berjalan tugas.