Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Streaming konsumsi ke tampilan yang terwujud
Topik ini menjelaskan cara menggunakan tampilan terwujud untuk akses cepat ke data streaming.
Penyerapan streaming menyediakan penyerapan data berkecepatan tinggi dengan latensi rendah dari Amazon Kinesis Data Streams
Bagaimana data mengalir dari layanan streaming ke Redshift
Ini membantu untuk memahami bagaimana penyerapan streaming bekerja dan objek database yang digunakan dalam proses tersebut. Data mengalir langsung dari penyedia aliran data ke cluster yang disediakan Amazon Redshift atau ke grup kerja Amazon Redshift Serverless. Tidak ada area pendaratan sementara, seperti bucket Amazon S3. Cluster atau workgroup yang disediakan adalah konsumen aliran. Dalam database Redshift, data yang dibaca dari aliran mendarat dalam tampilan yang terwujud. Data diproses saat tiba. Misalnya, nilai JSON dapat dikonsumsi dan dipetakan ke kolom data tampilan yang terwujud, menggunakan SQL. Saat tampilan terwujud disegarkan, Redshift mengkonsumsi data dari pecahan data Kinesis yang dialokasikan atau partisi Kafka hingga tampilan diperbarui dengan aliran.
Kasus penggunaan untuk konsumsi streaming Amazon Redshift melibatkan data yang dihasilkan terus menerus dan harus diproses dalam waktu singkat, atau latensi, sejak asalnya. Ini biasa disebut anal itik hampir real-time. Sumber dapat mencakup perangkat TI, perangkat telemetri sistem, dan data aliran klik dari situs web atau aplikasi yang sibuk.
Praktik terbaik penguraian data untuk meningkatkan kinerja
Saat Anda mengonfigurasi konsumsi streaming, ada opsi dalam cara Anda dapat mengurai data yang masuk. Praktik dapat mencakup melakukan logika bisnis atau pemformatan saat data tiba. Kami merekomendasikan praktik terbaik berikut untuk menghindari kesalahan atau kehilangan data. Ini berasal dari pengujian internal dan membantu pelanggan mengatasi masalah konfigurasi dan penguraian.
Mengekstrak nilai dari data streaming — Jika Anda menggunakan fungsi JSON_EXTRACT_PATH_TEXT dalam definisi tampilan terwujud Anda untuk mengurai atau menghancurkan JSON yang dialirkan, hal itu dapat berdampak signifikan pada kinerja dan latensi. Untuk menjelaskan, untuk setiap kolom yang diekstraksi menggunakan JSON_EXTRACT_PATH_TEXT, JSON yang masuk diurai ulang. Setelah ini, konversi tipe data, pemfilteran, dan perhitungan logika bisnis terjadi. Ini berarti, misalnya, bahwa jika Anda mengekstrak 10 kolom dari data JSON, setiap catatan JSON diurai 10 kali, yang mencakup logika tambahan. Ini menghasilkan latensi konsumsi yang lebih tinggi. Pendekatan alternatif yang kami sarankan adalah menggunakan fungsi JSON_PARSE untuk mengonversi catatan JSON ke tipe data SUPER Redshift. Setelah data streaming mendarat di tampilan terwujud, gunakan PartiQL untuk mengekstrak string individu dari representasi SUPER dari data JSON. Untuk informasi selengkapnya, lihat Mengku eri data semi-terstruktur.
Selain itu, perhatikan bahwa JSON_EXTRACT_PATH_TEXT memiliki ukuran data maksimum 16MB. Jadi, jika ada catatan JSON yang lebih besar dari 16MB, memprosesnya dengan JSON_EXTRACT_PATH_TEXT menghasilkan kesalahan.
Memetakan Amazon Kinesis Data Streams aliran atau topik Amazon MSK ke beberapa tampilan yang terwujud — Kami tidak menyarankan untuk membuat beberapa tampilan terwujud untuk menyerap data dari satu aliran atau topik. Ini karena setiap tampilan yang terwujud menciptakan konsumen untuk setiap pecahan dalam aliran atau partisi Aliran Data Kinesis dalam topik Kafka. Hal ini dapat mengakibatkan pembatasan atau melebihi throughput aliran atau topik. Ini juga dapat menghasilkan biaya yang lebih tinggi, karena Anda menelan data yang sama beberapa kali. Saat mengonfigurasi penyerapan streaming, sebaiknya buat satu tampilan terwujud untuk setiap aliran atau topik.
Jika kasus penggunaan mengharuskan Anda menyerap data dari satu aliran KDS atau topik MSK ke dalam beberapa tampilan yang terwujud, lihat blog AWS Big Data, khususnya Praktik terbaik untuk menerapkan analitik hampir real-time menggunakan Amazon Redshift Streaming Ingestion dengan Amazon M
SK , sebelum Anda melakukannya.
Perilaku penyerapan streaming dan tipe data
Tabel berikut menjelaskan detail perilaku teknis dan batas ukuran untuk berbagai jenis data. Sebaiknya Anda terbiasa dengan ini sebelum mengonfigurasi tampilan terwujud untuk konsumsi streaming.
| Fitur atau perilaku | Deskripsi |
|---|---|
| Batas panjang topik Kafka | Tidak mungkin menggunakan topik Kafka dengan nama lebih dari 128 karakter (tidak termasuk tanda kutip). Untuk informasi selengkapnya, lihat Nama dan pengidentifikasi. |
| Penyegaran inkremental dan JOIN pada tampilan terwujud | Pandangan yang terwujud harus dapat dipertahankan secara bertahap. Komputasi ulang penuh tidak dimungkinkan untuk Kinesis atau Amazon MSK karena mereka tidak menyimpan riwayat aliran atau topik selama 24 jam atau 7 hari, secara default. Anda dapat mengatur periode penyimpanan data yang lebih lama di Kinesis atau Amazon MSK. Namun, ini dapat menghasilkan lebih banyak perawatan dan biaya. Selain itu, JOIN saat ini tidak didukung pada tampilan terwujud yang dibuat di aliran Kinesis, atau pada topik Amazon MSK. Setelah membuat tampilan terwujud pada aliran atau topik Anda, Anda dapat membuat tampilan terwujud lain untuk menggabungkan tampilan terwujud streaming Anda ke tampilan, tabel, atau tampilan terwujud lainnya. Untuk informasi selengkapnya, lihat REFRESH MATERIALIZED VIEW. |
| Penguraian rekaman | Konsumsi streaming Amazon Redshift tidak mendukung penguraian catatan yang telah dikumpulkan oleh Kinesis Producer Library (KPL Key Concepts - Aggregation). Catatan agregat dicerna, tetapi disimpan sebagai data buffer protokol biner. (Lihat Protokol buffer |
| Nilai duplikat dalam header Kafka | Klien konsumen streaming Amazon Redshift untuk topik Kafka yang bersumber dari Amazon MSK, Confluent, atau Apache Kafka tidak mendukung nilai duplikat di header topik Kafka. |
| Dekompresi |
|
| Ukuran rekaman maksimum | Ukuran maksimum rekaman apa pun yang dapat diambil Amazon Redshift dari layanan streaming adalah 16.777.216 byte (16 MiB), ukuran maksimum yang didukung oleh tipe data VARBYTE di Amazon Redshift. Streaming tampilan terwujud yang dibuat pada topik Amazon MSK atau aliran data Kinesis mengatur ukuran kolom data VARBYTE menjadi 16 MiB dan dapat menggunakan catatan hingga ukuran tersebut. Namun, ketika mengkonsumsi dari aliran data Kinesis, ukuran rekaman maksimum yang didukung Kinesis saat ini adalah 10.485.760 byte (10 MiB). Dukungan untuk batas ukuran rekaman Kinesis 10 MiB memerlukan patch 203 atau yang lebih baru. Tampilan terwujud yang dibuat pada aliran data Kinesis pada patch sebelumnya memiliki kolom data VARBYTE yang disetel ke 1.048.576 byte (1 MiB) dan terus mencerna catatan hanya hingga 1 MiB. Untuk menelan catatan yang lebih besar, buat kembali tampilan yang terwujud pada patch 203 atau yang lebih baru. Untuk informasi selengkapnya tentang batas ukuran Kinesis, lihat Ku ota dan batas dan Men angani catatan besar di Panduan Pengembang Amazon Kinesis Data Streams. |
| Catatan kesalahan | Dalam setiap kasus di mana catatan tidak dapat dicerna ke Redshift karena ukuran data melebihi maksimum, catatan itu dilewati. Penyegaran tampilan terwujud masih berhasil, dalam hal ini, dan segmen dari setiap catatan kesalahan ditulis ke tabel SYS_STREAM_SCAN_ERROR sistem. Kesalahan yang dihasilkan dari logika bisnis, seperti kesalahan dalam perhitungan atau kesalahan yang dihasilkan dari konversi tipe, tidak dilewati. Uji logika dengan hati-hati sebelum Anda menambahkannya ke definisi tampilan yang terwujud. |
| Konektivitas Multi-VPC pribadi Amazon MSK | Konektivitas pribadi Amazon MSK Multi-VPC saat ini tidak didukung untuk konsumsi streaming Redshift. Atau, Anda dapat menggunakan peering VPC untuk menghubungkan VPC atau AWS Transit Gateway untuk menghubungkan VPC dan jaringan lokal melalui hub pusat. Salah satu dari ini dapat mengaktifkan Redshift untuk berkomunikasi dengan cluster Amazon MSK atau dengan Amazon MSK Serverless di VPC lain. |
| Penggunaan dan aktivasi penyegaran otomatis | Kueri penyegaran otomatis untuk tampilan atau tampilan yang terwujud diperlakukan sebagai beban kerja pengguna lainnya. Penyegaran otomatis memuat data dari aliran saat tiba. Penyegaran otomatis dapat diaktifkan secara eksplisit untuk tampilan terwujud yang dibuat untuk konsumsi streaming. Untuk melakukan ini, tentukan |
| Penyerapan streaming dan Amazon Redshift Tanpa Server | Petunjuk penyiapan dan konfigurasi yang berlaku untuk penyerapan streaming Amazon Redshift pada cluster yang disediakan juga berlaku untuk penyerapan streaming di Amazon Redshift Serverless. Penting untuk menentukan tingkat RPU yang diperlukan untuk mendukung penyerapan streaming dengan penyegaran otomatis dan beban kerja lainnya. Untuk informasi selengkapnya, lihat Pen agihan untuk Amazon Redshift Server less. |
| Node Amazon Redshift di zona ketersediaan yang berbeda dari cluster Amazon MSK | Saat Anda mengonfigurasi penyerapan streaming, Amazon Redshift mencoba menyambung ke cluster Amazon MSK di zona ketersediaan yang sama, jika kesadaran rak diaktifkan untuk Amazon MSK. Jika semua node berada di zona ketersediaan yang berbeda dari cluster Amazon Redshift, Anda dapat dikenakan biaya transfer data zona lintas-ketersediaan. Untuk menghindari hal ini, simpan setidaknya satu node cluster broker Amazon MSK di AZ yang sama dengan cluster atau grup kerja yang disediakan Redshift Anda. |
| Segarkan lokasi awal | Setelah membuat tampilan yang terwujud, penyegaran awalnya dimulai |
| Format data | Format data yang didukung terbatas pada format yang dapat dikonversi |
| Menambahkan catatan ke tabel | Anda dapat menjalankan
|
| Menjalankan TRUNCATE atau DELETE | Anda dapat menghapus catatan dari tampilan terwujud yang digunakan untuk penyerapan streaming, menggunakan cara berikut:
|
| Non-lowercase pengidentifikasi | Saat membuat tampilan terwujud streaming di Amazon Managed Streaming untuk topik Apache Kafka atau Aliran Data Kinesis yang berisi pengidentifikasi non-huruf kecil, penyegaran otomatis mungkin gagal. Untuk mengatasi masalah ini, lakukan salah satu hal berikut:
catatanPengaturan Untuk informasi selengkapnya tentang pengidentifikasi peka huruf besar/kecil, lihatenable_case_sensitive_identifier. |
| Idempotensi |
Amazon Redshift menjamin bahwa setiap rekaman diproses tepat sekali saat menelan data dari sumber streaming. Jaminan ini berlaku untuk dua jenis sumber: Amazon Kinesis (menggunakan pengidentifikasi aliran, pecahan, dan nomor urut) dan Apache Kafka (menggunakan pengidentifikasi topik, partisi, dan offset), termasuk Amazon Managed Streaming untuk Apache Kafka (Amazon MSK) dan Confluent Cloud. |