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.
Memulai dengan konsumsi streaming dari sumber Apache Kafka
Topik ini menjelaskan cara menggunakan data streaming dari Amazon MSK, Apache Kafka, atau Confluent Cloud menggunakan tampilan yang terwujud.
Tujuan dari penyerapan streaming Amazon Redshift adalah untuk menyederhanakan proses untuk langsung menelan data aliran dari layanan streaming ke Amazon Redshift atau Amazon Redshift Serverless. Ini bekerja dengan Amazon MSK Provisioned dan Amazon MSK Serverless, dengan sumber terbuka Apache Kafka, dan dengan Confluent Cloud. Penyerapan streaming Amazon Redshift menghilangkan kebutuhan untuk menampilkan topik Apache Kafka di Amazon S3 sebelum menelan data aliran ke Redshift.
Pada tingkat teknis, penyerapan streaming menyediakan penyerapan data aliran atau topik dengan latensi rendah dan berkecepatan tinggi ke dalam tampilan terwujud Amazon Redshift. Setelah pengaturan, menggunakan penyegaran tampilan terwujud, Anda dapat mengambil volume data yang besar.
Anda harus memiliki sumber Apache Kafka yang tersedia sebelum mengonfigurasi konsumsi streaming Amazon Redshift. Jika Anda tidak memiliki sumber, buat satu menggunakan petunjuk berikut:
Amazon MSK — Mem ulai Menggunakan Amazon MSK
Apache Kafka — Memulai Cepat Apache Kafka
Confluent Cloud — Mulai C epat untuk Confluent Cloud
Menyiapkan konsumsi streaming dari Kafka
Gunakan prosedur berikut untuk mengatur penyerapan streaming ke Amazon Redshift dari Amazon MSK, atau sumber Apache Kafka yang tidak AWS dikelola (Apache Kafka dan Confluent Cloud).
Siapkan otentikasi
Bagian ini menjelaskan pengaturan otentikasi untuk memungkinkan aplikasi Amazon Redshift Anda mengakses sumber Amazon MSK.
Setelah Anda membuat peran aplikasi, lampirkan salah satu kebijakan berikut untuk mengizinkan akses ke cluster Amazon MSK, Apache Kafka, atau Confluent Cloud. Untuk otentikasi MTL, Anda dapat menyimpan sertifikat yang digunakan Amazon Redshift di ACM atau Secrets Manager, jadi Anda harus memilih kebijakan yang cocok dengan tempat penyimpanan sertifikat.
Perhatikan bahwa sertifikat yang ditandatangani sendiri tidak didukung untuk otentikasi atau data dalam perjalanan saat Anda menggunakan penyerapan streaming langsung ke Amazon Redshift dengan salah satu sumber streaming Apache Kafka yang didukung. Ini termasuk Amazon MSK, Apache Kafka, dan Confluent Cloud. Pertimbangkan untuk menggunakan sertifikat yang dibuat dengan AWS Certificate Manager atau otoritas sertifikat tepercaya publik lainnya.
Otentikasi Amazon Redshift IAM dengan MSK hanya didukung pada Kafka versi 2.7.1 atau lebih tinggi.
OTENTIKASI IAM (hanya Amazon MSK):
OTENTIKASI MTLS: menggunakan sertifikat yang disimpan di AWS Certificate Manager
OTENTIKASI MTLS: menggunakan sertifikat yang disimpan di AWS Secrets Manager
Menyiapkan VPC Anda
Setelah Anda membuat sumber daya otentikasi, periksa VPC Anda dan verifikasi bahwa cluster Amazon Redshift atau grup kerja Amazon Redshift Serverless Anda memiliki rute untuk mengakses sumber Apache Kafka Anda.
catatan
Untuk Amazon MSK, aturan grup keamanan masuk untuk cluster Amazon MSK Anda harus mengizinkan grup keamanan cluster Amazon Redshift atau grup kerja Redshift Serverless Anda. Port yang Anda tentukan bergantung pada metode otentikasi yang dikonfigurasi pada cluster Amazon MSK Anda. Untuk informasi selengkapnya, lihat Informasi port dan Akses dari dalam AWS tetapi di luar VPC.
Selanjutnya, aktifkan perutean VPC yang disempurnakan pada cluster Amazon Redshift atau grup kerja Amazon Redshift Serverless Anda. Untuk informasi selengkapnya, lihat Meng aktifkan routing VPC yang disempurnakan.
Buat Tampilan Terwujud
Di bagian ini, Anda mengatur tampilan terwujud yang digunakan Amazon Redshift untuk mengakses data streaming Apache Kafka Anda.
Dengan asumsi Anda memiliki cluster Apache Kafka yang tersedia, langkah pertama adalah mendefinisikan skema di Redshift dengan CREATE EXTERNAL SCHEMA dan mereferensikan cluster sebagai sumber data. Setelah itu, untuk mengakses data dalam topik, tentukan STREAM dalam tampilan yang terwujud. Anda dapat menyimpan catatan dari topik menggunakan tipe data Amazon Redshift VARBYTE default, atau menentukan skema yang mengonversi data ke format semi-terstruktur. SUPER Saat Anda menanyakan tampilan yang terwujud, catatan yang dikembalikan adalah tampilan titik waktu dari topik.
-
Di Amazon Redshift, buat skema eksternal untuk dipetakan ke cluster Apacke Kafka. Sintaksnya adalah sebagai berikut:
CREATE EXTERNAL SCHEMA MySchema FROM KAFKA [ IAM_ROLE [ default | 'iam-role-arn' ] ] AUTHENTICATION [ none | iam | mtls ] {AUTHENTICATION_ARN 'acm-certificate-arn' | SECRET_ARN 'asm-secret-arn'};Dalam
FROMklausa,KAFKAmenunjukkan bahwa skema memetakan data dari sumber Apache Kafka.AUTHENTICATIONmenunjukkan jenis otentikasi untuk konsumsi streaming. Ada tiga jenis yang tersedia:none — Menentukan bahwa tidak ada otentikasi yang diperlukan. Ini sesuai dengan akses yang tidak diautentikasi di MSK. Ini sesuai dengan otentikasi SSL di Apache Kafka. Metode otentikasi ini tidak didukung untuk Confluent Cloud.
iam — Menentukan otentikasi IAM. Anda hanya dapat menggunakan otentikasi IAM dengan Amazon MSK. Ketika Anda memilih ini, pastikan bahwa peran IAM memiliki izin untuk otentikasi IAM. Untuk informasi selengkapnya tentang menyiapkan kebijakan IAM yang diperlukan, lihatMenyiapkan konsumsi streaming dari Kafka.
mtls — Menentukan bahwa keamanan lapisan transportasi bersama menyediakan komunikasi yang aman dengan memfasilitasi otentikasi antara klien dan server. Dalam hal ini, kliennya adalah Redshift dan servernya adalah Apache Kafka. Untuk informasi selengkapnya tentang mengonfigurasi konsumsi streaming dengan MTL, lihatOtentikasi dengan MTL untuk penyerapan streaming Redshift dari sumber Apache Kafka.
Perhatikan bahwa otentikasi Amazon MSK dengan nama pengguna dan kata sandi tidak didukung untuk konsumsi streaming.
AUTHENTICATION_ARNParameter menentukan ARN sertifikat ACM Mutual Transport Layer Security (MTL) yang Anda gunakan untuk membuat koneksi terenkripsi.SECRET_ARNParameter menentukan arn AWS Secrets Manager rahasia yang berisi sertifikat yang akan digunakan oleh Amazon Redshift untuk MTL.Contoh berikut menunjukkan cara mengatur URI broker untuk cluster Amazon MSK saat Anda membuat skema eksternal:
Menggunakan otentikasi IAM:
CREATE EXTERNAL SCHEMA my_schema FROM KAFKA IAM_ROLE 'arn:aws:iam::012345678901:role/my_role' AUTHENTICATION IAM URI 'b-1.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9098,b-2.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9098'Tidak menggunakan otentikasi:
CREATE EXTERNAL SCHEMA my_schema FROM KAFKA AUTHENTICATION none URI 'b-1.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9092,b-2.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9092'Menggunakan MTL:
CREATE EXTERNAL SCHEMA my_schema FROM KAFKA IAM_ROLE 'arn:aws:iam::012345678901:role/my_role' AUTHENTICATION MTLS URI 'b-1.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9094,b- 2.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9094' {AUTHENTICATION_ARN 'acm-certificate-arn' | SECRET_ARN 'asm-secret-arn'}Untuk informasi selengkapnya tentang membuat skema eksternal, lihat MEMBUAT SKEMA EKSTERNAL.
-
Buat tampilan yang terwujud untuk mengkonsumsi data dari topik. Gunakan perintah SQL seperti contoh berikut.
CREATE MATERIALIZED VIEW MyView AUTO REFRESH YES AS SELECT * FROM MySchema."mytopic";Nama topik Kafka peka huruf besar dan dapat berisi huruf besar dan kecil. Untuk mengambil dari topik dengan nama huruf besar, Anda dapat mengatur konfigurasi
enable_case_sensitive_identifierketruetingkat sesi atau database. Untuk informasi selengkapnya, lihat Nama dan pengidentifikasi dan enable _case_sensitive_identifier.Untuk mengaktifkan penyegaran otomatis, gunakan
AUTO REFRESH YES. Perilaku defaultnya adalah penyegaran manual. -
Kolom metadata meliputi:
Kolom metadata Jenis data Deskripsi kafka_partisi bigint ID partisi rekaman dari topik Kafka kafka_offset bigint Offset rekaman dalam topik Kafka untuk partisi tertentu kafka_tipe_timestamp_ harimau (1) Jenis stempel waktu yang digunakan dalam catatan Kafka:
C - Rekam waktu pembuatan (CREATE_TIME) di sisi klien
L - Rekam waktu penambahan (LOG_APPEND_TIME) di sisi server Kafka
U - Waktu pembuatan rekaman tidak tersedia (NO_TIMESTAMP_TYPE)
cap waktu kafka stempel waktu tanpa zona waktu Nilai stempel waktu untuk catatan kafka_key warbyte Kunci rekor Kafka nilai_kafka warbyte Rekor yang diterima dari Kafka kafka_header super Header rekaman diterima dari Kafka Refresh_time stempel waktu tanpa zona waktu Waktu penyegaran dimulai Penting untuk dicatat jika Anda memiliki logika bisnis dalam definisi tampilan terwujud yang mengakibatkan kesalahan logika bisnis, hal ini dapat mengakibatkan kegagalan penyerapan dalam penyerapan streaming dalam beberapa kasus. Ini mungkin menyebabkan Anda harus melepaskan dan membuat kembali tampilan yang terwujud. Untuk menghindari hal ini, kami sarankan Anda menjaga logika bisnis Anda tetap sederhana dan menjalankan logika tambahan pada data setelah Anda menelannya.
Segarkan tampilan, yang memanggil Amazon Redshift untuk membaca dari topik dan memuat data ke tampilan yang terwujud.
REFRESH MATERIALIZED VIEW MyView;Data kueri dalam tampilan terwujud.
select * from MyView;Tampilan terwujud diperbarui langsung dari topik saat
REFRESHdijalankan. Anda membuat tampilan terwujud yang dipetakan ke sumber data topik Kafka. Anda dapat melakukan pemfilteran dan agregasi pada data sebagai bagian dari definisi tampilan yang terwujud. Tampilan terwujud penyerapan streaming Anda (tampilan terwujud dasar) hanya dapat mereferensikan satu topik Kafka, tetapi Anda dapat membuat tampilan terwujud tambahan yang bergabung dengan tampilan materialisasi dasar dan dengan tampilan atau tabel terwujud lainnya.
Untuk informasi selengkapnya tentang batasan untuk konsumsi streaming, lihatPerilaku penyerapan streaming dan tipe data.