View a markdown version of this page

Konsep pengiriman data - Amazon Kinesis Data Streams

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

Konsep pengiriman data

Gunakan topik ini untuk meninjau konsep utama untuk tabel streaming dan pengiriman Amazon S3 di Amazon Kinesis Data Streams.

Kesegaran data

Kesegaran data mendefinisikan waktu maksimum (dalam detik) dimana Kinesis Data Streams menyangga catatan masuk sebelum mengirimkannya ke tujuan. Anda dapat mengonfigurasi kesegaran data antara 300 dan 900 detik (5 hingga 15 menit). Nilai default adalah 300 detik.

  • Nilai yang lebih rendah - Pengiriman lebih cepat ke tujuan Anda dengan ukuran batch yang lebih kecil.

  • Nilai yang lebih tinggi — Batching yang lebih efisien, yang menghasilkan lebih sedikit file yang lebih besar di tujuan.

Format input untuk tabel streaming

Saat mengirimkan ke tabel streaming di Apache Iceberg, pengiriman data mendukung format catatan input berikut. Kedua format memerlukan AWS Glue Schema Registry.

  • JSON — catatan JSON biasa. Anda harus menyediakan GSRSchemaARN (skema AWS Glue Schema Registry) yang mereferensikan skema yang terdaftar di Registry AWS Glue Schema.

  • GSR_JSON (AWS Glue Schema Registry JSON) — Catatan JSON dengan ID skema tertanam di setiap catatan. Skema diselesaikan secara otomatis dari AWS Glue Schema Registry.

Format input untuk bucket Amazon S3 tujuan umum

Saat mengirimkan ke bucket Amazon S3 tujuan umum, pengiriman data mendukung format catatan input berikut. Tidak diperlukan registri skema.

  • JSON — catatan JSON biasa.

  • STRING — catatan UTF-8 string.

  • BYTE_ARRAY — catatan biner mentah.

catatan

GSR_JSONFormat ini tidak didukung untuk bucket Amazon S3 tujuan umum. Ini hanya tersedia untuk pengiriman ke tabel streaming di Apache Iceberg.

Penegakan skema

Untuk tabel streaming di Apache Iceberg, setiap catatan divalidasi terhadap skema yang terdaftar di S AWS Glue chema Registry. Rekaman yang tidak sesuai dengan skema tidak dikirimkan ke tabel streaming Anda. Metadata kegagalan ditulis ke antrian huruf mati untuk pemecahan masalah. Pengiriman data tidak mendukung evolusi skema. Ini termasuk menambahkan bidang baru, menghapus bidang yang ada, mengganti nama bidang, atau mengubah tipe data bidang.

Tidak ada isi ulang

Tujuan Anda hanya menerima catatan yang dihasilkan setelah Anda membuat tabel streaming atau mengonfigurasi pengiriman S3. Catatan yang ada di streaming tidak diisi ulang.

Tabel baru per pengiriman

Setiap pengiriman tabel streaming membuat tabel Iceberg sendiri di tujuan. Pengiriman ke tabel yang ada tidak didukung. Anda menentukan bucket tabel ARN, namespace, dan nama tabel saat memanggilCreateChannel.

Dead-letter antrian

Antrian huruf mati menangkap informasi tentang catatan yang tidak dapat dikirimkan dengan sukses.

  • Streaming tabel di Apache Iceberg — diperlukan antrian huruf mati. Anda harus menentukan bucket S3 dan awalan untuk catatan yang gagal.

  • Bucket Amazon S3 tujuan umum — antrian huruf mati bersifat opsional. Jika tidak ditentukan, default ke bucket tujuan yang sama dengan awalan kesalahan.

Antrian huruf mati berisi pengidentifikasi catatan dan konteks kesalahan, bukan muatan catatan penuh.

Pemadatan sebaris

Pengiriman data melakukan pemadatan sebaris dengan menggabungkan catatan di seluruh pecahan menjadi file berukuran optimal. Ini mengurangi jumlah file kecil di tujuan dan meningkatkan kinerja kueri.

Status pengiriman

Transisi pengiriman melalui status berikut selama siklus hidupnya:

  • MEMBUAT - pengiriman sedang disediakan.

  • AKTIF - pengiriman mengirimkan catatan.

  • UP DATE — perubahan konfigurasi sedang berlangsung.

  • MENGHAPUS - pengiriman sedang dihapus.

  • GAGAL — pengiriman mengalami kesalahan yang tidak dapat dipulihkan.

Append-only pengiriman

Pengiriman hanya ditambahkan. Pembaruan dan peningkatan tidak didukung. Setiap catatan dari aliran ditulis sebagai baris baru di tujuan.