Comprendre la diffusion des données dans Amazon Data Firehose - Amazon Data Firehose

La diffusion de flux Amazon Data Firehose vers les tables Apache Iceberg dans Amazon S3 est en version préliminaire et peut faire l'objet de modifications.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comprendre la diffusion des données dans Amazon Data Firehose

Lorsque vous envoyez des données à votre flux Firehose, elles sont automatiquement transmises à la destination que vous avez choisie. Le tableau suivant explique la livraison des données vers différentes destinations.

Destination Détails
Amazon S3

Pour la livraison de données à Amazon S3, Firehose concatène plusieurs enregistrements entrants en fonction de la configuration de mise en mémoire tampon de votre flux Firehose. Il diffuse ensuite les enregistrements vers Amazon S3 en tant qu'objet Amazon S3. Par défaut, Firehose concatène les données sans aucun délimiteur. Si vous souhaitez avoir de nouveaux délimiteurs de ligne entre les enregistrements, vous pouvez ajouter de nouveaux délimiteurs de ligne en activant cette fonctionnalité dans la configuration ou le paramètre de la console Firehose. API

Amazon Redshift

Pour la livraison de données à Amazon Redshift, Firehose envoie d'abord les données entrantes à votre compartiment S3 dans le format décrit précédemment. Firehose émet ensuite une commande Amazon COPY Redshift pour charger les données de votre compartiment S3 vers votre cluster provisionné Amazon Redshift ou votre groupe de travail Amazon Redshift Serverless. Assurez-vous qu'une fois qu'Amazon Data Firehose a concaténé plusieurs enregistrements entrants dans un objet Amazon S3, celui-ci peut être copié sur votre cluster provisionné Amazon Redshift ou votre groupe de travail Amazon Redshift Serverless. Pour plus d'informations, consultez la section Paramètres du format des données de COPY commande Amazon Redshift.

OpenSearch Service et OpenSearch sans serveur Pour la livraison de données vers OpenSearch Service et OpenSearch Serverless, Amazon Data Firehose met en mémoire tampon les enregistrements entrants en fonction de la configuration de mise en mémoire tampon de votre flux Firehose. Il génère ensuite une demande OpenSearch groupée Service ou OpenSearch Serverless pour indexer plusieurs enregistrements dans votre cluster de OpenSearch services ou votre collection OpenSearch Serverless. Assurez-vous que votre enregistrement est codé en UTF -8 et aplati en un JSON objet d'une seule ligne avant de l'envoyer à Amazon Data Firehose. En outre, l'rest.action.multi.allow_explicit_indexoption de votre cluster de OpenSearch services doit être définie sur true (par défaut) pour prendre en charge les demandes groupées avec un index explicite défini par enregistrement. Pour plus d'informations, consultez les options avancées de configuration du OpenSearch service dans le manuel Amazon OpenSearch Service Developer Guide.
Splunk

Pour la livraison des données à Splunk, Amazon Data Firehose concatène les octets que vous envoyez. Si vous voulez des délimiteurs dans vos données, tels qu'un caractère de nouvelle ligne, vous devez les insérer par vous-même. Vérifiez que Splunk est configuré pour analyser ces délimiteurs. Pour rediriger les données qui ont été envoyées vers le compartiment d'erreur S3 (sauvegarde S3) vers Splunk, suivez les étapes mentionnées dans la documentation Splunk.

HTTPpoint final Pour la livraison de données à un HTTP point de terminaison appartenant à un fournisseur de services tiers pris en charge, vous pouvez utiliser le service intégré Amazon Lambda pour créer une fonction permettant de transformer le ou les enregistrements entrants au format correspondant au format attendu par l'intégration du fournisseur de services. Contactez le fournisseur de services tiers dont vous avez choisi le HTTP terminal pour votre destination pour en savoir plus sur le format d'enregistrement accepté.
Snowflake

Pour la transmission des données à Snowflake, Amazon Data Firehose met en mémoire tampon les données en interne pendant une seconde et utilise les opérations de streaming API de Snowflake pour insérer des données dans Snowflake. Par défaut, les enregistrements que vous insérez sont vidés et validés dans la table Snowflake toutes les secondes. Une fois que vous avez effectué l'appel d'insertion, Firehose émet une CloudWatch métrique qui mesure le temps nécessaire pour que les données soient validées dans Snowflake. Firehose ne prend actuellement en charge qu'un seul JSON élément en tant que charge utile d'enregistrement et ne prend pas en charge les tableaux. JSON Assurez-vous que votre charge utile d'entrée est un JSON objet valide et qu'elle est bien formée sans guillemets, guillemets ou caractères d'échappement supplémentaires.

Chaque destination Firehose possède sa propre fréquence de livraison des données. Pour de plus amples informations, veuillez consulter Configurer les conseils de mise en mémoire tampon.

Registres en double

Amazon Data Firehose utilise la at-least-once sémantique pour la diffusion des données. Dans certains cas, par exemple en cas d'expiration des délais de livraison des données, les nouvelles tentatives de livraison effectuées par Amazon Data Firehose peuvent entraîner des doublons si la demande de livraison de données d'origine est finalement acceptée. Cela s'applique à tous les types de destinations pris en charge par Amazon Data Firehose.