Topik ini menjelaskan cara menghitung data Tablestore menggunakan Realtime Compute for Apache Flink. Tabel data atau tabel seri waktu di Tablestore dapat digunakan sebagai tabel sumber atau tabel hasil pemrosesan data dengan Realtime Compute for Apache Flink.
Prasyarat
Tablestore telah diaktifkan dan sebuah instance telah dibuat. Untuk informasi lebih lanjut, lihat Aktifkan Tablestore dan Buat Instance.
Tabel sumber dan tabel hasil telah dibuat. Sebuah terowongan juga telah dibuat untuk tabel sumber. Untuk informasi lebih lanjut, lihat Operasi pada Tabel Data, Operasi pada Tabel Seri Waktu, dan Buat Terowongan.
Sebuah workspace Realtime Compute for Apache Flink telah dibuat. Untuk informasi lebih lanjut, lihat Aktifkan Realtime Compute for Apache Flink.
PentingWorkspace Realtime Compute for Apache Flink dan instance Tablestore harus berada di wilayah yang sama. Untuk informasi tentang wilayah yang didukung oleh Realtime Compute for Apache Flink, lihat Wilayah.
Pasangan AccessKey telah diperoleh.
PentingUntuk alasan keamanan, kami sarankan Anda menggunakan fitur Tablestore sebagai Pengguna Resource Access Management (RAM). Untuk informasi lebih lanjut, lihat Gunakan Pasangan AccessKey dari Pengguna RAM untuk Mengakses Tablestore.
Kembangkan pekerjaan komputasi real-time
Langkah 1: Buat draf SQL
Pergi ke halaman untuk membuat draf.
Masuk ke Konsol Realtime Compute for Apache Flink.
Temukan workspace yang ingin Anda kelola dan klik Console di kolom Actions.
Di panel navigasi kiri, pilih .
Klik New. Dalam kotak dialog New Draft, pilih Blank Stream Draft, lalu klik Next.
CatatanRealtime Compute for Apache Flink menyediakan berbagai template kode dan mendukung sinkronisasi data. Setiap template cocok untuk skenario tertentu dan menyediakan contoh kode serta instruksi untuk Anda. Anda bisa mengklik template untuk mempelajari fitur dan sintaks terkait Realtime Compute for Apache Flink dan menerapkan logika bisnis Anda. Untuk informasi lebih lanjut, lihat Template Kode dan Template Sinkronisasi Data.
Konfigurasikan parameter untuk draf. Tabel berikut menjelaskan parameter tersebut.
Parameter
Deskripsi
Contoh
Name
Nama draf yang ingin Anda buat.
CatatanNama draf harus unik dalam proyek saat ini.
flink-test
Location
Folder tempat file kode draf disimpan.
Anda juga bisa mengklik ikon
di sebelah kanan folder yang ada untuk membuat subfolder. Draft
Engine Version
Versi mesin Flink yang ingin Anda gunakan untuk draf saat ini. Untuk informasi lebih lanjut tentang versi mesin, lihat Catatan rilis dan Versi mesin.
vvr-8.0.10-flink-1.17
Klik Create.
Langkah 2: Tulis kode untuk draf
Dalam contoh pada langkah ini, kode ditulis untuk menyinkronkan data dari tabel data ke tabel data lain. Untuk informasi tentang pernyataan SQL sampel lainnya, lihat Pernyataan SQL Sampel.
Buat tabel sementara untuk tabel sumber dan tabel hasil.
Untuk informasi lebih lanjut, lihat Lampiran 1: Konektor Tablestore.
-- Buat tabel sementara bernama tablestore_stream untuk tabel sumber. CREATE TEMPORARY TABLE tablestore_stream( `order` VARCHAR, orderid VARCHAR, customerid VARCHAR, customername VARCHAR ) WITH ( 'connector' = 'ots', -- Tentukan tipe konektor tabel sumber. Nilainya adalah ots dan tidak dapat diubah. 'endPoint' = 'https://xxx.cn-hangzhou.vpc.tablestore.aliyuncs.com', -- Tentukan titik akhir virtual private cloud (VPC) dari instance Tablestore. 'instanceName' = 'xxx', -- Tentukan nama instance Tablestore. 'tableName' = 'flink_source_table', -- Tentukan nama tabel sumber. 'tunnelName' = 'flink_source_tunnel', -- Tentukan nama terowongan yang dibuat untuk tabel sumber. 'accessId' = 'xxxxxxxxxxx', -- Tentukan ID AccessKey dari akun Alibaba Cloud atau pengguna RAM. 'accessKey' = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx', -- Tentukan rahasia AccessKey dari akun Alibaba Cloud atau pengguna RAM. 'ignoreDelete' = 'false' -- Tentukan apakah akan mengabaikan data real-time yang dihasilkan oleh operasi hapus. Dalam contoh ini, parameter ini diatur ke false. ); -- Buat tabel sementara bernama tablestore_sink untuk tabel hasil. CREATE TEMPORARY TABLE tablestore_sink( `order` VARCHAR, orderid VARCHAR, customerid VARCHAR, customername VARCHAR, PRIMARY KEY (`order`,orderid) NOT ENFORCED -- Tentukan primary key. ) WITH ( 'connector' = 'ots', -- Tentukan tipe konektor tabel hasil. Nilainya adalah ots dan tidak dapat diubah. 'endPoint'='https://xxx.cn-hangzhou.vpc.tablestore.aliyuncs.com', -- Tentukan titik akhir VPC dari instance Tablestore. 'instanceName' = 'xxx', -- Tentukan nama instance Tablestore. 'tableName' = 'flink_sink_table', -- Tentukan nama tabel hasil. 'accessId' = 'xxxxxxxxxxx', -- Tentukan ID AccessKey dari akun Alibaba Cloud atau pengguna RAM. 'accessKey' = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx', -- Tentukan rahasia AccessKey dari akun Alibaba Cloud atau pengguna RAM. 'valueColumns'='customerid,customername' --Tentukan nama kolom yang ingin Anda sisipkan ke tabel hasil. );Tulis logika draf.
Pernyataan SQL sampel berikut memberikan contoh tentang cara menyisipkan data dari tabel sumber ke tabel hasil:
-- Sisipkan data dari tabel sumber ke tabel hasil. INSERT INTO tablestore_sink SELECT `order`, orderid, customerid, customername FROM tablestore_stream;
Langkah 3: (Opsional) Lihat informasi konfigurasi
Di tab kanan editor SQL, Anda dapat melihat konfigurasi atau mengonfigurasi parameter. Tabel berikut menjelaskan parameter tersebut.
Nama Tab | Deskripsi |
Configurations |
|
Structure |
|
Versions | Anda dapat melihat versi mesin draf. Untuk informasi lebih lanjut tentang operasi yang dapat Anda lakukan di kolom Actions di panel Versi Draf, lihat Kelola versi penyebaran. |
Langkah 4: (Opsional) Lakukan pemeriksaan sintaksis
Periksa semantik SQL draf, konektivitas jaringan, dan informasi metadata tabel yang digunakan oleh draf. Anda juga bisa mengklik SQL Advice di hasil perhitungan untuk melihat informasi tentang risiko SQL dan saran optimasi terkait.
Di sudut kanan atas editor SQL, klik Validate.
Di kotak dialog Validate, klik Confirm.
Langkah 5: (Opsional) Debug draf
Anda dapat menggunakan fitur debugging untuk mensimulasikan penyebaran berjalan, memeriksa output, dan memverifikasi logika bisnis pernyataan SELECT dan INSERT. Fitur ini meningkatkan efisiensi pengembangan dan mengurangi risiko kualitas data yang buruk.
Di sudut kanan atas editor SQL, klik Debug.
Di kotak dialog Debug, pilih kluster yang ingin Anda debug dan klik Next.
Jika tidak ada kluster yang tersedia, buat kluster sesi. Pastikan bahwa kluster sesi menggunakan versi mesin yang sama dengan draf SQL dan bahwa kluster sesi sedang berjalan. Untuk informasi lebih lanjut, lihat Buat Kluster Sesi.
Konfigurasikan data debugging.
Jika Anda menggunakan data online, lewati operasi ini.
Jika Anda menggunakan data debugging, klik Download mock data template, masukkan data debugging di template, lalu klik Unggah data mock untuk mengunggah data debugging. Untuk informasi lebih lanjut, lihat Debug Draf.
Klik Confirm.
Langkah 6: Sebarkan draf
Di sudut kanan atas editor SQL, klik Deploy. Di kotak dialog Deploy draft, konfigurasikan parameter terkait dan klik Confirm.
Kluster sesi cocok untuk lingkungan non-produksi, seperti lingkungan pengembangan dan pengujian. Anda dapat menyebarkan atau men-debug draf di kluster sesi untuk meningkatkan pemanfaatan sumber daya JobManager dan mempercepat startup penyebaran. Namun, kami sarankan agar Anda tidak menyebarkan draf untuk lingkungan produksi di kluster sesi. Jika tidak, masalah stabilitas mungkin terjadi.
Langkah 7: Mulai penyebaran untuk draf dan lihat hasil komputasi
Di panel navigasi kiri, pilih .
Temukan pekerjaan yang ingin Anda mulai, lalu klik Start di kolom Actions.
Di panel Mulai Pekerjaan, pilih Initial Mode dan klik Start. Jika status penyebaran berubah menjadi RUNNING, penyebaran berjalan sesuai harapan. Untuk informasi lebih lanjut tentang parameter yang harus Anda konfigurasikan saat memulai penyebaran, lihat Mulai Penyebaran.
CatatanKami sarankan Anda mengonfigurasi dua inti CPU dan 4 GB memori untuk setiap Pengelola Tugas di Realtime Compute for Apache Flink untuk memaksimalkan kemampuan komputasi setiap Pengelola Tugas. Seorang Pengelola Tugas dapat menulis 10.000 baris per detik.
Jika jumlah partisi di tabel sumber besar, kami sarankan Anda mengatur konkurensi kurang dari 16 di Realtime Compute for Apache Flink. Laju tulis meningkat secara linear dengan konkurensi.
Di halaman Penyebaran, lihat hasil komputasi.
Di panel navigasi kiri, pilih . Di halaman Penyebaran, klik nama penyebaran yang ingin Anda kelola.
Di tab Logs, klik tab Running Task Managers dan klik nilai di kolom Path, ID.
Klik Logs. Di tab Log, lihat informasi log terkait.
(Opsional) Batalkan penyebaran.
Jika Anda memodifikasi kode SQL untuk penyebaran, menambahkan atau menghapus parameter ke atau dari klausa WITH, atau mengubah versi penyebaran, Anda harus menyebarkan draf penyebaran, membatalkan penyebaran, lalu memulai penyebaran agar perubahan berlaku. Jika penyebaran gagal dan tidak dapat menggunakan data status untuk pulih, atau jika Anda ingin memperbarui pengaturan parameter yang tidak berlaku secara dinamis, Anda harus membatalkan dan memulai ulang penyebaran. Untuk informasi lebih lanjut tentang cara membatalkan penyebaran, lihat Batalkan Penyebaran.