Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Masalah umum
Berikut ini adalah tips pemecahan masalah untuk membantu Anda memecahkan masalah umum saat Anda bekerja dengan aliran Firehose.
Aliran Firehose tidak tersedia
Aliran Firehose tidak tersedia sebagai target untuk tindakan CloudWatch Log, CloudWatch Acara, atau AWS IoT karena beberapa AWS layanan hanya dapat mengirim pesan dan peristiwa ke aliran Firehose yang sama. Wilayah AWS Verifikasi bahwa aliran Firehose Anda berada di Wilayah yang sama dengan layanan Anda yang lain.
Tidak ada data di tujuan
Jika tidak ada masalah konsumsi data dan metrik yang dipancarkan untuk aliran Firehose terlihat bagus, tetapi Anda tidak melihat data di tujuan, periksa logika pembaca. Pastikan pembaca Anda mengurai semua data dengan benar.
Metrik kesegaran data meningkat atau tidak dipancarkan
Kesegaran data adalah ukuran seberapa terkini data Anda dalam aliran Firehose Anda. Ini adalah usia catatan data tertua dalam aliran Firehose, diukur dari waktu Firehose menelan data hingga saat ini. Firehose menyediakan metrik yang dapat Anda gunakan untuk memantau kesegaran data. Untuk mengidentifikasi metrik kesegaran data untuk tujuan tertentu, lihat Pantau Amazon Data Firehose dengan metrik CloudWatch.
Jika Anda mengaktifkan pencadangan untuk semua peristiwa atau semua dokumen, pantau dua metrik kesegaran data terpisah: satu untuk tujuan utama dan satu untuk cadangan.
Jika metrik kesegaran data tidak dipancarkan, ini berarti tidak ada pengiriman aktif untuk aliran Firehose. Hal ini terjadi ketika pengiriman data diblokir sepenuhnya atau ketika tidak ada data yang masuk.
Jika metrik kesegaran data terus meningkat, ini berarti pengiriman data tertinggal. Hal ini dapat terjadi karena salah satu alasan berikut:
-
Tujuan tidak dapat menangani laju pengiriman. Jika Firehose mengalami kesalahan sementara karena lalu lintas tinggi, maka pengiriman mungkin tertinggal. Ini dapat terjadi untuk tujuan selain Amazon S3 (dapat terjadi untuk OpenSearch Layanan, Amazon Redshift, atau Splunk). Pastikan tujuan Anda memiliki kapasitas yang cukup untuk menangani lalu lintas yang masuk.
-
Tujuannya lambat. Pengiriman data mungkin tertinggal jika Firehose menghadapi latensi tinggi. Pantau metrik latensi tujuan.
-
Fungsi Lambda lambat. Hal ini dapat menyebabkan tingkat pengiriman data yang kurang dari tingkat konsumsi data untuk aliran Firehose. Jika memungkinkan, tingkatkan efisiensi fungsi Lambda. Misalnya, jika fungsi melakukan IO jaringan, gunakan beberapa utas atau IO asinkron untuk meningkatkan paralelisme. Selain itu, pertimbangkan untuk meningkatkan ukuran memori fungsi Lambda sehingga alokasi CPU dapat meningkat pula. Hal ini mungkin menyebabkan pemanggilan Lambda lebih cepat. Untuk informasi tentang mengonfigurasi fungsi Lambda, lihat Mengonfigurasi AWS Fungsi Lambda.
-
Terdapat kegagalan selama pengiriman data. Untuk informasi tentang cara memantau kesalahan menggunakan Amazon CloudWatch Logs, lihatPantau Amazon Data Firehose Menggunakan Log CloudWatch.
-
Jika sumber data aliran Firehose adalah aliran data Kinesis, pelambatan mungkin terjadi. Periksa metrik
ThrottledGetRecords,ThrottledGetShardIterator, danThrottledDescribeStream. Jika terdapat beberapa konsumen yang melekat pada aliran data Kinesis, pertimbangkan hal berikut:-
Jika metrik
ThrottledGetRecordsdanThrottledGetShardIteratortinggi, kami sarankan Anda meningkatkan jumlah serpihan yang disediakan untuk aliran data. -
Jika tinggi, kami sarankan Anda menambahkan
kinesis:listshardsizin ke peran yang dikonfigurasi KinesisStreamSourceConfiguration.ThrottledDescribeStream
-
-
Petunjuk buffering rendah untuk tujuan. Ini dapat meningkatkan jumlah perjalanan pulang pergi yang harus dilakukan Firehose ke tujuan, yang dapat menyebabkan pengiriman tertinggal. Pertimbangkan untuk meningkatkan nilai petunjuk buffering. Untuk informasi selengkapnya, lihat BufferingHints.
-
Durasi percobaan ulang yang tinggi dapat menyebabkan pengiriman tertinggal ketika kesalahan sering terjadi. Pertimbangkan untuk mengurangi durasi percobaan ulang. Selain itu, pantau kesalahannya dan coba kurangi. Untuk informasi tentang cara memantau kesalahan menggunakan Amazon CloudWatch Logs, lihatPantau Amazon Data Firehose Menggunakan Log CloudWatch.
-
Jika tujuannya adalah Splunk dan
DeliveryToSplunk.DataFreshnesstinggi tetapiDeliveryToSplunk.Successterlihat baik, klaster Splunk mungkin sedang sibuk. Kosongkan klaster Splunk jika memungkinkan. Atau, hubungi AWS Support dan minta peningkatan jumlah saluran yang Firehose gunakan untuk berkomunikasi dengan cluster Splunk.
Rekam konversi format ke Apache Parquet gagal
Ini terjadi jika Anda mengambil data DynamoDB yang menyertakan Set jenisnya, mengalirkannya melalui Lambda ke aliran Firehose, dan menggunakan file untuk mengonversi format rekaman ke Apache AWS Glue Data Catalog Parquet.
Ketika AWS Glue crawler mengindeks tipe data set DynamoDB (StringSet,, danBinarySet)NumberSet, crawler menyimpannya dalam katalog data sebagaiSET<STRING>,, dan, masing-masing. SET<BIGINT> SET<BINARY> Namun, untuk Firehose untuk mengonversi catatan data ke format Apache Parquet, itu memerlukan tipe data Apache Hive. Karena tipe set bukan tipe data Apache Hive yang valid, konversi gagal. Agar konversi bekerja, perbarui katalog data dengan tipe data Apache Hive. Anda dapat melakukannya dengan mengubah set ke array pada katalog data.
Untuk mengubah satu atau beberapa tipe data dari set ke array dalam katalog AWS Glue data
Masuk ke Konsol Manajemen AWS dan buka AWS Glue konsol di https://console.aws.amazon.com/glue/
. -
Di panel sebelah kiri, di bawah judul Katalog data, pilih Tabel.
-
Dalam daftar tabel, pilih nama tabel di mana Anda perlu mengubah satu atau lebih tipe data. Langkah ini akan membawa Anda ke halaman detail untuk tabel tersebut.
-
Pilih tombol Edit skema di pojok kanan atas halaman detail.
-
Pada kolom Tipe data, pilih tipe data
setyang pertama. -
Pada daftar tarik turun Tipe kolom, ubah tipe dari
setkearray. -
Di ArraySchemabidang, masukkan
array<string>,array<int>, atauarray<binary>, tergantung pada jenis data yang sesuai untuk skenario Anda. -
Pilih Perbarui.
-
Ulangi langkah sebelumnya untuk mengonversi tipe
setlainnya menjadi tipearray. -
Pilih Simpan.
Bidang yang hilang untuk objek yang diubah untuk Lambda
Bila Anda menggunakan transformasi data Lambda untuk mengubah data JSON ke objek Parquet, beberapa bidang mungkin hilang setelah transformasi. Itu terjadi jika objek JSON Anda memiliki huruf kapital dan sensitivitas huruf besar diaturfalse, yang dapat menyebabkan ketidakcocokan pada kunci JSON setelah transformasi data yang menyebabkan data hilang pada objek Parket yang dihasilkan di ember s3.
Untuk memperbaikinya, pastikan konfigurasi selang memiliki deserializationOption:
case.insensitive set ke true sehingga kunci JSON cocok setelah transformasi.