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 harus mengonfigurasi yang berikut ini.

catatan

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

Konfigurasi 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 harus 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.

Jika Anda mengirim ke Tabel Amazon S3 dan menggunakan konsol untuk mengatur aliran Firehose, pilih katalog yang sesuai dengan katalog Tabel Amazon S3 Anda. Jika Anda menggunakan CLI untuk mengatur aliran Firehose Anda, maka dalam CatalogConfiguration input, gunakan CatalogARN dengan format:. arn:aws:glue:<region>:<account-id>:catalog/s3tablescatalog/<s3 table bucket name> Untuk informasi selengkapnya, lihat Menyiapkan aliran Firehose ke tabel Amazon S3.

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 menyisipkan 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 mengonfigurasi kunci unik. Untuk operasi pembaruan, Firehose menempatkan file hapus diikuti dengan sisipan.

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 rendah, biaya pemadatan yang lebih sedikit karena file data yang lebih besar, dan runtime 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 Apache Iceberg Tables Anda. Untuk informasi selengkapnya, lihat Konfigurasikan pengaturan lanjutan. Anda harus menambahkan peran IAM yang Anda buat sebagai bagian dari. Prasyarat 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 hingga selesai. Setelah berhasil membuat aliran Firehose, Anda dapat mulai memasukkan data ke dalamnya dan dapat melihat data di tabel Apache Iceberg.