View a markdown version of this page

Cara kerja pengiriman tabel streaming - Amazon Kinesis Data Streams

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Cara kerja pengiriman tabel streaming

Gunakan topik ini untuk mempelajari cara pengiriman tabel streaming mengirimkan catatan dari aliran Amazon Kinesis Data Streams Anda ke tabel streaming di Apache Iceberg yang didukung oleh bucket tabel S3, termasuk konversi rekaman, pembuatan tabel tujuan, partisi, kesegaran data, antrian huruf mati, dan enkripsi.

Cara kerja pengiriman

Pengiriman tabel streaming mengirimkan catatan ke tabel streaming di Apache Iceberg dalam langkah-langkah berikut:

  1. Baca — pengiriman membaca catatan dari semua pecahan di aliran Kinesis Data Streams.

  2. Buffer — buffer pengiriman merekam hingga interval kesegaran data tercapai.

  3. Validasi dan konversi — pengiriman memvalidasi setiap catatan terhadap AWS Glue skema di Schema Registry dan mengubahnya menjadi skema tabel Apache Iceberg. Rekaman yang gagal validasi masuk ke antrian huruf mati.

  4. Ringkas dan tulis - pengiriman mengonversi catatan ke file Parquet Apache yang dioptimalkan dengan pemadatan sebaris dan menulisnya ke tabel Iceberg tujuan.

  5. Com mit — pengiriman mengkomit file baru ke tabel Iceberg sehingga data menjadi kueri.

Konversi catatan

Pengiriman tabel streaming memerlukan skema yang terdaftar di Registry AWS Glue Schema. Pengiriman menggunakan skema untuk mengonversi catatan masuk ke skema tabel Apache Iceberg. Ini mendukung format catatan input berikut:

  • JSON — catatan JSON biasa. Anda memberikan referensi skema GSRSchemaARN yang terdaftar di Registry AWS Glue Schema.

  • GSR_JSON — Catatan JSON dengan ID skema yang disematkan di setiap catatan oleh serializer AWS Glue Schema Registry. Skema diselesaikan secara otomatis dari AWS Glue Schema Registry.

Untuk pemetaan tipe AWS Glue Skema Registry ke Iceberg lengkap dan aturan penanganan lapangan, lihat. Perilaku gunung es untuk tabel streaming

Tabel tujuan

Saat Anda membuat pengiriman tabel streaming, Amazon Kinesis Data Streams membuat tabel Iceberg tujuan di bucket tabel S3 yang Anda tentukan. Berikan hal-hal berikut ini:

  • Tabel bucket ARN — ARN dari bucket tabel S3 tempat tabel dibuat.

  • Namespace — namespace untuk tabel.

  • Nama tabel — nama tabel yang akan dibuat. Setiap pengiriman membuat tabel sendiri. Anda tidak dapat mengirimkan ke tabel yang ada.

  • Kolom partisi — timestamptz kolom yang digunakan untuk mempartisi tabel berdasarkan jam. Untuk persyaratan partisi, lihatPerilaku gunung es untuk tabel streaming.

Kesegaran data

Kesegaran data mendefinisikan waktu buffering maksimum sebelum catatan dikirimkan. Anda dapat mengonfigurasi nilai ini antara 300 dan 900 detik (5 hingga 15 menit). Waktu default adalah 300 detik. Nilai yang lebih rendah memberikan pengiriman yang lebih cepat, sementara nilai yang lebih tinggi menghasilkan lebih sedikit file yang lebih besar di tujuan.

Dead-letter antrian

Antrian huruf mati diperlukan untuk pengiriman tabel streaming. Anda menentukan bucket Amazon S3 yang menerima informasi tentang catatan yang gagal divalidasi. Anda memberikan bucket ARN, pemilik bucket yang diharapkan, dan awalan keluaran kesalahan opsional. Antrian huruf mati berisi pengidentifikasi catatan dan konteks kesalahan, bukan muatan catatan penuh.

Enkripsi

Pengiriman tabel streaming mengenkripsi data yang dikirimkan saat diam di Amazon S3. Secara default, data dienkripsi dengan kunci terkelola Amazon S3 (SSE-S3). Sebagai gantinya, Anda dapat menggunakan AWS KMS kunci yang dikelola pelanggan (SSE-KMS).

penting

Anda tidak dapat menggunakan Kunci yang dikelola AWS (aws/kinesisalias) untuk enkripsi tujuan. Anda harus menggunakan AWS KMS kunci yang dikelola pelanggan. Selain itu, jika aliran data Kinesis sumber Anda dienkripsi dengan Kunci yang dikelola AWS, Anda tidak dapat membuat pengiriman. Untuk persyaratan enkripsi aliran sumber, lihatEnkripsi aliran sumber. Untuk AWS KMS izin yang dibutuhkan peran eksekusi layanan, lihatIzin IAM untuk pengiriman data.

Cross-account dan pengiriman lintas wilayah

Pengiriman tabel streaming tidak mendukung pengiriman lintas akun atau lintas wilayah. Aliran sumber, bucket tabel S3 tujuan, dan Registry S AWS Glue chema semuanya harus berada di Wilayah yang sama Akun AWS dan sama.