Siapkan aliran Firehose - Amazon Data Firehose

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

Siapkan aliran Firehose

Untuk membuat aliran Firehose dengan Apache Iceberg Tables sebagai tujuan Anda, Anda perlu mengonfigurasi berikut ini.

catatan

Pengaturan aliran Firehose untuk pengiriman ke tabel di bucket tabel S3 sama dengan Apache Iceberg Tables di Amazon S3.

Konfigurasikan sumber dan tujuan

Untuk mengirimkan data ke Apache Iceberg Tables, pilih sumber untuk streaming Anda.

Untuk mengonfigurasi sumber untuk aliran, lihat Mengonfigurasi setelan sumber.

Selanjutnya, pilih Apache Iceberg Tables sebagai tujuan dan berikan nama aliran Firehose.

Konfigurasikan transformasi data

Untuk melakukan transformasi kustom pada data Anda, seperti menambahkan atau memodifikasi catatan di aliran masuk, Anda dapat menambahkan fungsi Lambda ke aliran Firehose Anda. Untuk informasi selengkapnya tentang transformasi data menggunakan Lambda dalam aliran Firehose, lihat. Mengubah data sumber di Amazon Data Firehose

Untuk Apache Iceberg Tables, Anda perlu menentukan bagaimana Anda ingin merutekan catatan masuk ke tabel tujuan yang berbeda dan operasi yang ingin Anda lakukan. Salah satu cara untuk memberikan informasi perutean yang diperlukan ke Firehose adalah menggunakan fungsi Lambda.

Untuk informasi selengkapnya, lihat Merutekan catatan ke tabel Gunung Es yang berbeda.

Connect katalog data

Apache Iceberg membutuhkan katalog data untuk menulis ke Apache Iceberg Tables. Firehose terintegrasi dengan AWS Glue Data Catalog untuk Apache Iceberg Tables.

Anda dapat menggunakan AWS Glue Data Catalog akun yang sama dengan aliran Firehose Anda atau di lintas akun dan di Wilayah yang sama dengan aliran Firehose Anda (default), atau di Wilayah yang berbeda.

Konfigurasikan ekspresi JQ

Untuk Apache Iceberg Tables, Anda harus menentukan bagaimana Anda ingin merutekan catatan masuk ke tabel tujuan yang berbeda dan operasi seperti menyisipkan, memperbarui, dan menghapus yang ingin Anda lakukan. Anda dapat melakukan ini dengan mengonfigurasi ekspresi JQ untuk Firehose untuk mengurai dan mendapatkan informasi yang diperlukan. Untuk informasi selengkapnya, lihat Berikan informasi perutean ke JSONQuery Firehose dengan ekspresi.

Konfigurasikan tombol unik

Pembaruan dan Penghapusan dengan lebih dari satu tabel — Kunci unik adalah satu atau beberapa bidang dalam catatan sumber Anda yang secara unik mengidentifikasi baris di Apache Iceberg Tables. Jika Anda hanya memasukkan skenario dengan lebih dari satu tabel, maka Anda tidak perlu mengkonfigurasi kunci unik. Jika Anda ingin melakukan pembaruan dan penghapusan pada tabel tertentu, maka Anda harus mengonfigurasi kunci unik untuk tabel yang diperlukan. Perhatikan bahwa pembaruan akan secara otomatis menyisipkan baris jika baris dalam tabel hilang. Jika Anda hanya memiliki satu tabel, maka Anda dapat mengkonfigurasi kunci unik.

Anda dapat mengonfigurasi kunci unik per tabel sebagai bagian dari pembuatan aliran Firehose atau Anda dapat mengatur identifier-field-idssecara native di Iceberg selama membuat tabel atau mengubah operasi tabel. Mengkonfigurasi kunci unik per tabel selama pembuatan stream adalah opsional. Jika Anda tidak mengonfigurasi kunci unik per tabel selama pembuatan streaming, Firehose memeriksa tabel yang diperlukan dan akan menggunakannya sebagai kunci unik. identifier-field-ids Jika keduanya tidak dikonfigurasi, maka pengiriman data dengan operasi pembaruan dan penghapusan gagal.

Untuk mengonfigurasi bagian ini, berikan nama database, nama tabel, dan kunci unik untuk tabel tempat Anda ingin memperbarui atau menghapus data. Anda hanya dapat memiliki entri untuk setiap tabel dalam konfigurasi. Secara opsional, Anda juga dapat memilih untuk memberikan awalan bucket error jika data dari tabel gagal dikirimkan seperti yang ditunjukkan pada contoh berikut.

[ { "DestinationDatabaseName": "MySampleDatabase", "DestinationTableName": "MySampleTable", "UniqueKeys": [ "COLUMN_PLACEHOLDER" ], "S3ErrorOutputPrefix": "OPTIONAL_PREFIX_PLACEHOLDER" } ]

Tentukan durasi coba lagi

Anda dapat menggunakan konfigurasi ini untuk menentukan durasi dalam detik yang Firehose harus mencoba lagi, jika mengalami kegagalan secara tertulis ke Apache Iceberg Tables di Amazon S3. Anda dapat mengatur nilai apa pun dari 0 hingga 7200 detik untuk melakukan percobaan ulang. Secara default, Firehose mencoba lagi selama 300 detik.

Menangani pengiriman atau pemrosesan yang gagal

Anda harus mengonfigurasi Firehose untuk mengirimkan catatan ke bucket cadangan S3 jika mengalami kegagalan dalam memproses atau mengirimkan aliran setelah kedaluwarsa durasi percobaan ulang. Untuk ini, konfigurasikan awalan keluaran kesalahan bucket cadangan S3 dan bucket cadangan S3 dari pengaturan Backup di konsol.

Konfigurasikan petunjuk buffer

Firehose menyangga data streaming yang masuk dalam memori ke ukuran tertentu (ukuran Buffering) dan untuk jangka waktu tertentu (interval Buffering) sebelum mengirimkannya ke Apache Iceberg Tables. Anda dapat memilih ukuran buffer 1-128 MiBs dan interval buffer 0-900 detik. Petunjuk buffer yang lebih tinggi menghasilkan jumlah penulisan S3 yang lebih sedikit, biaya pemadatan yang lebih sedikit karena file data yang lebih besar, dan eksekusi kueri yang lebih cepat tetapi dengan latensi yang lebih tinggi. Nilai petunjuk buffer yang lebih rendah mengirimkan data dengan latensi yang lebih rendah.

Konfigurasikan pengaturan lanjutan

Anda dapat mengonfigurasi enkripsi sisi server, pencatatan kesalahan, izin, dan tag untuk Tabel Gunung Es Apache Anda. Untuk informasi selengkapnya, lihat Konfigurasikan pengaturan lanjutan. Anda perlu menambahkan IAM peran yang Anda buat sebagai bagian dariPrasyarat untuk menggunakan Apache Iceberg Tables sebagai tujuan. Firehose akan berperan untuk mengakses AWS Glue tabel dan menulis ke bucket Amazon S3.

Pembuatan aliran Firehose dapat memakan waktu beberapa menit untuk diselesaikan. Setelah berhasil membuat aliran Firehose, Anda dapat mulai memasukkan data ke dalamnya dan dapat melihat data di tabel Apache Iceberg.