Alibaba Cloud Realtime Compute for Apache Flink adalah platform berperforma tinggi tingkat perusahaan yang dikembangkan oleh Alibaba Cloud berdasarkan Apache Flink untuk memproses big data secara real-time. Hologres terintegrasi dengan mulus dengan Realtime Compute for Apache Flink. Anda dapat menggunakan Realtime Compute for Apache Flink untuk menulis data ke Hologres dan menanyakan data tersebut secara real-time, membantu Anda membangun gudang data real-time untuk perusahaan Anda.
Deskripsi
Realtime Compute for Apache Flink tidak menyimpan data. Semua data yang diproses berasal dari sistem penyimpanan eksternal. Realtime Compute for Apache Flink mendukung jenis-jenis penyimpanan data berikut:
Tabel Sumber
Tabel sumber berisi data yang diimpor ke Realtime Compute for Apache Flink. Jika Anda menggunakan tabel sumber Hologres, data Hologres diimpor dalam mode batch, bukan mode streaming. Hologres memindai seluruh tabel dan mentransfer data yang diperlukan ke Realtime Compute for Apache Flink sekaligus untuk pemrosesan data.
Tabel Dimensi
Tabel dimensi cocok untuk skenario kueri titik di mana data ditanyakan berdasarkan kunci utama. Jika Anda menggunakan tabel dimensi Hologres, disarankan menggunakan mode penyimpanan berorientasi baris untuk tabel dimensi. Semua bidang yang dikonfigurasikan sebagai kunci utama harus digunakan untuk operasi JOIN.
Tabel Hasil
Tabel hasil digunakan untuk menerima dan menyimpan data hasil yang diproses oleh Realtime Compute for Apache Flink serta menyediakan antarmuka baca/tulis untuk konsumsi data hilir.
Realtime Compute for Apache Flink terintegrasi dengan Hologres untuk menyediakan fitur-fitur lanjutan tingkat perusahaan berikut:
Konsumsi Log Biner Hologres
Anda dapat mengonsumsi log perubahan tabel Hologres menggunakan berbagai mode konsumsi dalam Antrian Pesan.
Katalog Flink
Katalog Hologres didukung dalam Realtime Compute for Apache Flink. Anda dapat membaca metadata Hologres di konsol Flink yang sepenuhnya dikelola tanpa perlu mendaftarkan tabel Hologres. Katalog Hologres meningkatkan efisiensi pengembangan dan memastikan akurasi skema.
Evolusi Skema
Evolusi skema didukung dalam Flink yang sepenuhnya dikelola. Saat Realtime Compute for Apache Flink membaca data berformat JSON, ia secara otomatis mengurai tipe data dan membuat kolom di tabel yang sesuai. Evolusi skema dinamis didukung.
Tabel berikut menjelaskan jenis layanan Flink yang didukung oleh Hologres beserta fitur dari setiap jenis layanan tersebut.
Jenis Layanan
Tipe Penyimpanan Data
Fitur Lanjutan Tingkat Perusahaan
Deskripsi
Tabel Sumber
Tabel Hasil
Tabel Dimensi
Konsumsi Log Biner Hologres
Katalog Flink
Evolusi Skema
Semi-managed Flink
Penyimpanan berorientasi baris dan kolom didukung. Disarankan menggunakan penyimpanan berorientasi baris atau penyimpanan baris-kolom hibrida untuk tabel sumber log biner.
Penyimpanan berorientasi baris dan kolom didukung.
Disarankan menggunakan penyimpanan berorientasi baris atau penyimpanan baris-kolom hibrida.
Didukung.
Didukung.
Didukung.
Menggunakan platform pengembangan EMR Studio.
Blink dalam mode eksklusif (tidak dilanjutkan)
Penyimpanan berorientasi baris dan kolom didukung. Disarankan menggunakan penyimpanan berorientasi baris atau penyimpanan baris-kolom hibrida untuk tabel sumber log biner.
Penyimpanan berorientasi baris dan kolom didukung.
Disarankan menggunakan penyimpanan berorientasi baris atau penyimpanan baris-kolom hibrida.
Hologres V0.8 hanya mendukung penyimpanan berorientasi baris. Hologres V0.9 dan versi lebih baru mendukung penyimpanan berorientasi baris dan kolom. Disarankan menggunakan penyimpanan berorientasi baris.
Tidak didukung.
Tidak didukung.
Menggunakan platform pengembangan Bayes.
Disarankan menggunakan Flink yang sepenuhnya dikelola dari Realtime Compute for Apache Flink.
Apache Flink V1.10
Tidak didukung.
Penyimpanan berorientasi baris dan kolom didukung.
Tidak didukung.
Tidak didukung.
Tidak didukung.
Tidak didukung.
-
Apache Flink V1.11 dan seterusnya
Tidak didukung.
Penyimpanan berorientasi baris dan kolom didukung.
Disarankan menggunakan penyimpanan berorientasi baris.
Tidak didukung.
Tidak didukung.
Tidak didukung.
Kode Hologres dapat diakses publik di Apache Flink V1.11 dan seterusnya. Untuk informasi lebih lanjut, lihat alibabacloud-hologres-connectors.
Apache Flink V1.13 dan seterusnya
Tabel sumber batch didukung.
Penyimpanan berorientasi baris dan kolom didukung.
Disarankan menggunakan penyimpanan berorientasi baris.
Tidak didukung.
Tidak didukung.
Tidak didukung.
Kode Hologres dapat diakses publik di Apache Flink V1.11 dan seterusnya. Untuk informasi lebih lanjut, lihat alibabacloud-hologres-connectors.
Catatan Rilis Konektor Hologres
Versi Flink | Realtime Compute for Apache Flink (Versi VVR) | Versi Hologres | Informasi Pembaruan | Referensi |
1.17 | 8.0.9~8.0.10 | 2.1.x 2.2.x 3.0.x |
| |
1.17 | 8.0.8 | 2.1.x 2.2.x | Tabel hasil:
| |
1.17 | 8.0.7 | 2.1.x | Tabel dimensi:
Semua jenis tabel:
| |
1.17 | 8.0.6 | 2.1.x | Tabel sumber:
Semua jenis tabel:
| |
1.17 | 8.0.5 | 2.0.x 2.1.x | Tabel sumber:
Tabel hasil:
Semua jenis tabel:
| |
1.17 | 8.0.4 | 2.0.x 2.1.x | Tabel sumber:
Semua jenis tabel:
| |
1.17 | 8.0.3 | 2.0.x 2.1.x | Semua jenis tabel:
| |
1.15 | 6.0.7 |
|
| |
1.15 | 6.0.6 | 1.3.x | Tabel sumber:
| |
1.15 | 6.0.5 | 1.3.x |
| |
1.15 | 6.0.3~6.0.4 | 1.3.x | Tabel sumber:
Tabel hasil: Data dapat ditulis ke tabel hasil dalam mode salinan tetap. Mode ini didukung di Hologres V1.3. Mode streaming digunakan dalam mode salinan tetap. Dalam mode JDBC, data diproses dalam batch. Oleh karena itu, penulisan dalam mode salinan tetap memiliki throughput lebih tinggi, latensi lebih rendah, dan konsumsi memori klien lebih sedikit daripada penulisan dalam mode JDBC. Katalog Hologres:
Parameter sdkMode: Beberapa mode tersedia untuk jenis tabel berbeda di Hologres. Parameter sdkMode digunakan untuk menentukan mode untuk tabel di Hologres. | |
1.13 | 4.0.18 | 1.1 dan seterusnya | Masalah berikut telah diperbaiki: Kinerja penulisan terpengaruh negatif jika metrik terkait tabel sink dilaporkan. | |
1.13 dan 1.15 | 4.0.15 dan 6.0.2 | 1.1 dan seterusnya | Tabel sumber:
Tabel dimensi: Pengaturan durasi timeout untuk permintaan asinkron didukung oleh tabel dimensi Hologres. Durasi timeout ditentukan oleh parameter asyncTimeoutMs. Tabel hasil:
| |
1.13 | 4.0.13 | 1.1 dan seterusnya |
| |
1.13 | 4.0.11 | 0.10 dan seterusnya | Pernyataan CREATE TABLE AS dan CREATE DATABASE AS didukung. | |
1.13 | 4.0.8 | 0.10 dan seterusnya | Katalog Hologres didukung oleh tabel hasil, tabel sumber, dan tabel dimensi. | |
1.13 | 3.0.0 | 0.9 dan seterusnya | Konsumsi data Hologres secara real-time didukung. |
Masalah Diketahui dan Versi Perbaikan Konektor Hologres
Catatan tentang Masalah dan Perbaikan
Versi yang terpengaruh ditentukan dengan jelas. Yang tidak termasuk dalam cakupan versi yang terpengaruh tidak memiliki cacat yang sesuai.
Jika N/A ditentukan dalam kolom Versi Terpengaruh, masalah tersebut mungkin merupakan cacat mesin Hologres, bukan masalah konektor.
Tingkat Cacat
P0: Kami sarankan Anda segera memperbarui instans Hologres Anda. Jika masalah P0 terpicu, operasi online terpengaruh. Sebagai contoh, akurasi kueri data dan tingkat keberhasilan penulisan data terpengaruh.
P1: Untuk mencegah masalah terkait, kami sarankan Anda memperbarui instans Hologres Anda.
P2: Anda dapat memperbarui instans Hologres Anda berdasarkan kebutuhan bisnis Anda. Masalah P2 bersifat insidental dan dapat diperbaiki dengan menggunakan solusi siap pakai atau dengan me-restart instans Hologres Anda.
Tingkat Keparahan | Masalah | Versi Terpengaruh | Versi Diperbaiki | Solusi |
P1 | Pesan kesalahan "Binlog Convert Failed" dilaporkan atau pembacaan data dari beberapa shard berhenti pada titik waktu tertentu selama konsumsi log biner dalam mode JDBC. Ketika gateway instans Hologres menerima pesan timeout backend, gateway mengirimkan informasi pengecualian ke klien. Dalam proses ini, terjadi kesalahan. Akibatnya, pembacaan data macet, atau penguraian data gagal. | N/A | N/A | Dalam banyak kasus, kesalahan ini lebih mungkin dilaporkan ketika tekanan balik pekerjaan terjadi. Jika pembacaan data macet, lanjutkan pekerjaan dari checkpoint terbaru. Untuk sepenuhnya menyelesaikan masalah ini, Anda harus memperbarui instans Hologres Anda ke V2.2.21 atau lebih baru. |
P2 | Ketika penerapan draft lambat atau habis waktu, Thread Dump diperiksa untuk menemukan bahwa proses penerapan macet di GetTableSchema. | N/A | N/A | Beberapa situasi mungkin ada. Anda dapat melakukan langkah-langkah berikut secara berurutan untuk memecahkan masalah:
|
P0 | Jika Anda menulis data tipe TEXT, JSON, atau JSONB ke Hologres dalam mode FixedFE dan karakter tidak valid terkandung dalam sumber data, pengecualian tak terduga mungkin dilemparkan. Akibatnya, node FE terhubung restart, dan koneksi FE terputus. Mode FixedFE sesuai dengan mode jdbc_fixed dalam konektor Hologres. | N/A | N/A | Jika validitas string hulu tidak dapat dijamin, kami sarankan Anda menulis data ke Hologres dalam mode JDBC dan mengatur parameter
Anda juga dapat memperbarui instans Hologres Anda ke Hologres V3.0 atau lebih baru untuk menggunakan mode jdbc_fixed. |
P1 | Ketika tabel dimensi JDBC digabungkan dengan beberapa tabel, tugas Flink mungkin mengalami penggunaan memori berlebih atau situasi Out Of Memory (OOM). | N/A | N/A | Anda menggunakan Untuk menyelesaikan masalah ini, Anda harus memperbarui instans Hologres Anda ke Hologres V2.0 atau lebih baru. |
P1 | Pengecualian | 8.0.4 | 8.0.9 | Di Flink 8.0.9 dan seterusnya, ID tabel tidak lagi dicek secara paksa. Hanya log tingkat peringatan yang dihasilkan. Ini memungkinkan pekerjaan dilanjutkan dari status terbaru. Namun, kami masih tidak menyarankan Anda membangun ulang tabel ketika pekerjaan yang mengonsumsi log biner sedang berjalan. Operasi pembangunan ulang tabel dapat menyebabkan log biner sebelumnya hilang sepenuhnya. |
P2 | Tekanan balik terjadi ketika pekerjaan sedang berjalan. Dengan memeriksa Thread Dump, ditemukan bahwa kumpulan eksekusi macet di metode close atau start. Alasannya adalah bahwa ketika beberapa klien menggunakan kembali kumpulan koneksi yang sama, deadlock mungkin terjadi dan kumpulan koneksi tidak dapat ditutup dengan benar. | 8.0.5 | 8.0.9 | Kami sarankan Anda memperbarui versi instans Hologres Anda. |
P2 | Anda mengonsumsi data penuh dan inkremental dalam tabel sumber setelah melakukan operasi | 8.0.6 dan sebelumnya | 8.0.7 | Kami sarankan Anda memperbarui versi instans Hologres Anda atau menentukan waktu mulai untuk konsumsi inkremental. |
P1 | Jika tabel dimensi berisi sejumlah besar bidang, waktu penerapan draft habis. | 8.0.6 | 8.0.7 | Kami sarankan Anda memperbarui versi instans Hologres Anda. |
P0 | Jika parameter Catatan Masalah ini tidak ada untuk tabel sumber yang berisi data penuh dan inkremental serta tabel sumber log biner. | 8.0.5 dan sebelumnya | 8.0.6 | Kami sarankan Anda memperbarui versi instans Hologres Anda. |
P0 | Jika Anda menulis data tipe JSON atau JSONB ke Hologres dalam mode FixedFE dan data tersebut tidak valid, node FE terhubung restart dan koneksi FE terputus. Mode FixedFE sesuai dengan mode | 8.0.5 dan sebelumnya | N/A | Jika data sumber tipe JSON atau JSONB mungkin tidak valid, kami sarankan Anda menggunakan mode JDBC untuk menulis data ke Hologres. |
P1 | Jika tabel dimensi JDBC digabungkan dengan beberapa tabel, pengecualian internal seperti kegagalan koneksi tidak dapat dilaporkan. Dalam hal ini, node yang digabungkan secara asinkron memiliki tekanan balik, dan data tidak lagi mengalir. Masalah ini terjadi dengan probabilitas kecil. | 6.0.7 dan sebelumnya | 8.0.3 | Kami sarankan Anda memperbarui versi instans Anda. Anda juga dapat me-restart penerapan. |
P1 | Kebocoran memori mungkin terjadi ketika Anda mengonsumsi log biner Hologres dalam mode JDBC. Jika kebocoran memori terjadi, laju konsumsi mungkin tinggi ketika pekerjaan dimulai dan kemudian terus menurun. | 6.0.7 dan sebelumnya | 6.0.7 | Kami sarankan Anda memperbarui versi instans Anda. Untuk penerapan DataStream, Anda perlu menggunakan dependensi versi 1.15-vvr-6.0.7-1. |
P0 | Pengecualian yang ditangkap oleh operasi flush terjadwal dalam mode JDBC hanya dilaporkan ketika catatan data berikutnya ditulis. Operasi flush terjadwal dikontrol oleh parameter jdbcWriteFlushInterval. Jika jumlah data yang ditulis kecil, operasi checkpoint mungkin berhasil selama periode ketika pengecualian ditangkap tetapi belum dilaporkan. Dalam hal ini, jika kegagalan penulisan data terjadi, penerapan mulai menulis ulang data dari checkpoint. Akibatnya, data mungkin hilang. | 6.0.6 dan sebelumnya | 6.0.7 | Masalah ini kemungkinan besar terjadi ketika jumlah data kecil. Kami sarankan Anda memperbarui versi instans Anda atau mengubah nilai parameter jdbcWriteFlushInterval menjadi lebih besar dari interval checkpoint. |
P2 | Jika Anda tidak menentukan nama slot ketika Anda mengonsumsi log biner dalam mode JDBC, sistem secara otomatis membuat slot dan menggunakan nama default. Jika nama tabel berisi karakter khusus atau nama skema, nama slot yang dibuat secara otomatis tidak valid, dan slot tidak dapat digunakan. Akibatnya, kesalahan sintaks dilaporkan. | 6.0.6 | 6.0.7 | Kami sarankan Anda memperbarui versi instans Anda. Untuk penerapan DataStream, Anda perlu menggunakan dependensi versi 1.15-vvr-6.0.7-1. |
P1 | Jika instans Hologres atau database berbeda dalam penerapan menggunakan | 6.0.6 dan sebelumnya | 6.0.7 | Tentukan nilai berbeda untuk parameter |
P1 | Jika tabel dimensi berisi string | 6.0.6 | 6.0.7 | Kami sarankan Anda memperbarui versi instans Hologres Anda. |
P0 | Secara default, dorongan filter diaktifkan untuk tabel sumber Hologres. Jika penerapan menggunakan tabel dimensi Hologres dan pernyataan bahasa manipulasi data (DML) yang digunakan untuk menulis data berisi kondisi filter pada bidang non-kunci utama dalam tabel dimensi, dorongan filter salah dilakukan pada tabel dimensi. Ini dapat menyebabkan penggabungan tabel dimensi tidak valid. | 6.0.3~6.0.5 | 6.0.6 | Kami sarankan Anda memperbarui versi instans Hologres Anda. |
P0 | Jika nilai parameter | 6.0.2 dan sebelumnya | 6.0.3 | Atur |
P1 | Pengecualian NPE dilaporkan jika bidang | 6.0.2 | 6.0.3 | Jangan gunakan bidang yang ditentukan, atau perbarui versi instans Hologres Anda. |
P1 | Pelaporan metrik secara negatif memengaruhi kinerja penulisan tabel hasil. Hasil pemecahan masalah menunjukkan bahwa | 4.0.15~4.0.17 | 4.0.18 | Gunakan versi yang tidak terpengaruh oleh masalah ini. |
P2 | String yang mengandung karakter khusus gagal diproses saat Anda membaca beberapa baris data bertipe string atau array string dari tabel sumber sekaligus. | 4.0.14 dan sebelumnya | 4.0.15 | Hapus data kotor di tabel sumber atau tingkatkan versi instance Hologres Anda. |
P2 | Jika Anda mendeklarasikan field log biner unik seperti | 4.0.13 | 4.0.14 | Jangan gunakan fitur sinkronisasi data penuh dan inkremental, atau tingkatkan versi instance Hologres Anda. |