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 Amazon Kinesis Data Streams
Topik ini menjelaskan cara menggunakan data streaming dari Kinesis Data Streams menggunakan tampilan terwujud.
Menyiapkan konsumsi streaming Amazon Redshift melibatkan pembuatan skema eksternal yang memetakan ke sumber data streaming dan membuat tampilan terwujud yang mereferensikan skema eksternal. Konsumsi streaming Amazon Redshift mendukung Kinesis Data Streams sebagai sumber. Dengan demikian, Anda harus memiliki sumber Kinesis Data Streams yang tersedia sebelum mengonfigurasi konsumsi streaming. Jika Anda tidak memiliki sumber, ikuti petunjuk dalam dokumentasi Kinesis di Memulai Amazon Kinesis Data Streams atau buat satu di konsol menggunakan instruksi di Membuat Stream melalui Konsol Manajemen. AWS
Penyerapan streaming Amazon Redshift menggunakan tampilan terwujud, yang diperbarui langsung dari aliran saat dijalankan. REFRESH
Tampilan terwujud memetakan ke sumber data aliran. Anda dapat melakukan pemfilteran dan agregasi pada data aliran sebagai bagian dari definisi tampilan terwujud. Tampilan terwujud konsumsi streaming Anda (tampilan dasar yang terwujud) hanya dapat mereferensikan satu aliran, tetapi Anda dapat membuat tampilan terwujud tambahan yang bergabung dengan tampilan dasar yang terwujud dan dengan tampilan atau tabel terwujud lainnya.
catatan
Penyerapan streaming dan Amazon Redshift Tanpa Server - Langkah-langkah konfigurasi dalam topik ini berlaku baik untuk cluster Amazon Redshift yang disediakan dan Amazon Redshift Tanpa Server. Untuk informasi selengkapnya, lihat Perilaku konsumsi streaming dan tipe data.
Dengan asumsi Anda memiliki aliran Kinesis Data Streams yang tersedia, langkah pertama adalah menentukan skema di Amazon Redshift dengan dan mereferensikan sumber daya Kinesis Data Streams. CREATE EXTERNAL SCHEMA
Setelah itu, untuk mengakses data dalam aliran, tentukan STREAM
dalam tampilan terwujud. Anda dapat menyimpan catatan aliran dalam SUPER
format semi-terstruktur, atau menentukan skema yang menghasilkan data yang dikonversi ke tipe data Redshift. Saat Anda menanyakan tampilan terwujud, catatan yang dikembalikan adalah point-in-time tampilan aliran.
-
Buat peran IAM dengan kebijakan kepercayaan yang memungkinkan klaster Amazon Redshift atau grup kerja Tanpa Server Amazon Redshift Anda untuk mengambil peran tersebut. Untuk informasi tentang cara mengonfigurasi kebijakan kepercayaan untuk peran IAM, lihat Mengotorisasi Amazon Redshift untuk mengakses layanan AWS lain atas nama Anda. Setelah dibuat, peran harus memiliki kebijakan IAM berikut, yang memberikan izin untuk komunikasi dengan aliran data Amazon Kinesis.
Kebijakan IAM untuk aliran tidak terenkripsi dari Kinesis Data Streams
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadStream", "Effect": "Allow", "Action": [ "kinesis:DescribeStreamSummary", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards", "kinesis:DescribeStream" ], "Resource": "arn:aws:kinesis:*:0123456789:stream/*" }, { "Sid": "ListStream", "Effect": "Allow", "Action": "kinesis:ListStreams", "Resource": "*" } ] }
Kebijakan IAM untuk aliran terenkripsi dari Kinesis Data Streams
{ "Version": "2012-10-17", "Statement": [{ "Sid": "ReadStream", "Effect": "Allow", "Action": [ "kinesis:DescribeStreamSummary", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards", "kinesis:DescribeStream" ], "Resource": "arn:aws:kinesis:*:0123456789:stream/*" }, { "Sid": "DecryptStream", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:0123456789:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Sid": "ListStream", "Effect": "Allow", "Action": "kinesis:ListStreams", "Resource": "*" } ] }
Periksa VPC Anda dan verifikasi bahwa klaster Amazon Redshift atau Amazon Redshift Serverless memiliki rute untuk mencapai titik akhir Kinesis Data Streams melalui internet menggunakan gateway NAT atau gateway internet. Jika Anda ingin lalu lintas antara Redshift dan Kinesis Data Streams tetap berada dalam jaringan, pertimbangkan untuk menggunakan Titik Akhir AWS VPC Antarmuka Kinesis. Untuk informasi selengkapnya, lihat Menggunakan Amazon Kinesis Data Streams Kinesis Data Streams dengan Titik Akhir VPC Antarmuka.
Di Amazon Redshift, buat skema eksternal untuk memetakan data dari Kinesis ke skema.
CREATE EXTERNAL SCHEMA kds FROM KINESIS IAM_ROLE { default | 'iam-role-arn' };
Konsumsi streaming untuk Kinesis Data Streams tidak memerlukan jenis otentikasi. Ini menggunakan peran IAM yang didefinisikan dalam
CREATE EXTERNAL SCHEMA
pernyataan untuk membuat permintaan Kinesis Data Streams.Opsional: Gunakan kata kunci REGION untuk menentukan wilayah tempat aliran MSK Amazon Kinesis Data Streams atau Amazon berada.
CREATE EXTERNAL SCHEMA kds FROM KINESIS REGION 'us-west-2' IAM_ROLE { default | 'iam-role-arn' };
Dalam sampel ini, wilayah menentukan lokasi aliran sumber. IAM_ROLE adalah contoh.
-
Buat tampilan terwujud untuk menggunakan data aliran. Dengan pernyataan seperti berikut ini, jika catatan tidak dapat diuraikan, itu menyebabkan kesalahan. Gunakan perintah seperti ini jika Anda tidak ingin catatan kesalahan dilewati.
CREATE MATERIALIZED VIEW my_view AUTO REFRESH YES AS SELECT * FROM kds.my_stream_name;
Nama aliran Kinesis peka huruf besar/kecil dan dapat berisi huruf besar dan kecil. Untuk menyerap dari aliran dengan nama huruf besar, Anda dapat mengatur konfigurasi
enable_case_sensitive_identifier
ketrue
tingkat database. Untuk informasi selengkapnya, lihat Nama dan pengenal dan enable_case_sensitive_identifier.Untuk mengaktifkan penyegaran otomatis, gunakan
AUTO REFRESH YES
. Perilaku default adalah penyegaran manual. Catatan ketika Anda menggunakan CAN_JSON_PARSE, ada kemungkinan bahwa rekaman yang tidak dapat diuraikan dilewati.Kolom metadata meliputi yang berikut:
Kolom metadata Tipe data Deskripsi approximate_arrival_timestamp stempel waktu tanpa zona waktu Perkiraan waktu rekaman itu dimasukkan ke dalam aliran Kinesis partition_key varchar (256) Kunci yang digunakan oleh Kinesis untuk menetapkan catatan ke pecahan shard_id arang (20) Pengidentifikasi unik dari pecahan di dalam aliran dari mana catatan diambil urutan_nomor varchar (128) Pengidentifikasi unik catatan dari pecahan Kinesis refresh_time stempel waktu tanpa zona waktu Waktu penyegaran dimulai kinesis_data varbyte Catatan dari aliran Kinesis Penting untuk dicatat jika Anda memiliki logika bisnis dalam definisi tampilan terwujud bahwa kesalahan logika bisnis dapat menyebabkan konsumsi streaming diblokir dalam beberapa kasus. Ini mungkin menyebabkan Anda harus menjatuhkan dan membuat ulang tampilan yang terwujud. Untuk menghindari hal ini, kami sarankan Anda menjaga logika Anda sesederhana mungkin dan melakukan sebagian besar pemeriksaan logika bisnis Anda pada data setelah tertelan.
Segarkan tampilan, yang memanggil Redshift untuk membaca dari aliran dan memuat data ke tampilan terwujud.
REFRESH MATERIALIZED VIEW my_view;
Data kueri dalam tampilan terwujud.
select * from my_view;