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.
Note
Firehose prend en charge la base de données en tant que source dans toutes les régions sauf en Régions AWSChine et en Asie-Pacifique (Malaisie). AWS GovCloud (US) Regions Cette fonctionnalité est en version préliminaire et est sujette à modification. Ne l'utilisez pas pour vos charges de travail de production.
Firehose prend en charge l'envoi de modifications de base de données aux tables Apache Iceberg. Configurez les paramètres de destination suivants pour configurer le flux Firehose avec la base de données comme source.
Catalogue de données Connect
Apache Iceberg nécessite un catalogue de données pour écrire dans les tables Apache Iceberg. Firehose s'intègre aux AWS Glue Data Catalog tables Apache Iceberg. Vous pouvez l'utiliser AWS Glue Data Catalog dans le même compte que votre stream Firehose ou dans un compte croisé et dans la même région que votre stream Firehose (par défaut), ou dans une autre région.
Activer la création automatique de tables
Si vous activez cette option, Firehose crée automatiquement les bases de données, les tables et les colonnes requises dans votre destination cible avec le même nom et le même schéma que les bases de données sources. Si vous activez cette option et si Firehose trouve que certaines tables portant le même nom et le même schéma sont déjà présentes, il utilisera ces tables existantes et ne créera que les bases de données, tables et colonnes manquantes.
Si vous n'activez pas cette option, Firehose essaie de trouver les bases de données, les tables et les colonnes requises. Si Firehose ne les trouve pas, il génère une erreur et envoie des données au compartiment d'erreur S3.
Note
Pour que Firehose fournisse correctement les données à Iceberg Tables, les noms de base de données, de tables et de colonnes ainsi que le schéma doivent correspondre parfaitement. Si les noms des objets et des schémas de base de données ne correspondent pas, Firehose génère une erreur et transmet les données à un compartiment d'erreur S3.
Pour les bases de données MySQL, la base de données source correspond à la AWS Glue base de données et la table source correspond à la AWS Glue table.
Pour PostgreSQL, la base de données source est mappée AWS Glue à Database et la table source correspond AWS Glue à Table avec le nom de. SchemaName_TableName
Note
Pour Amazon S3 Tables, Firehose ne prend pas en charge la création automatique de tables. Vous devez créer des tables S3 avant de créer un flux Firehose.
Activer l'évolution du schéma
Si vous activez cette option, Firehose fait automatiquement évoluer le schéma des tables Apache Iceberg lorsque le schéma source change. Dans le cadre de l'évolution du schéma, Firehose prend actuellement en charge l'ajout de nouvelles colonnes. Par exemple, si une nouvelle colonne est ajoutée à une table côté base de données source, Firehose prend automatiquement ces modifications et ajoute la nouvelle colonne à la table Apache Iceberg appropriée.
Spécifier la durée de la nouvelle tentative
Vous pouvez utiliser cette configuration pour spécifier la durée en secondes pendant laquelle Firehose doit tenter de réessayer en cas d'échec lors de l'écriture dans les tables Apache Iceberg dans Amazon S3. Vous pouvez définir une valeur comprise entre 0 et 7 200 secondes pour effectuer de nouvelles tentatives. Par défaut, Firehose réessaie pendant 300 secondes.
Gérer les échecs de livraison ou de traitement
Vous devez configurer Firehose pour qu'il envoie des enregistrements à un compartiment de sauvegarde S3 au cas où il ne parviendrait pas à traiter ou à diffuser un flux après expiration du délai de nouvelle tentative. Pour cela, configurez le préfixe de sortie d'erreur du compartiment de sauvegarde S3 et le préfixe de sortie d'erreur du compartiment de sauvegarde S3.
Configurer les indices de mémoire tampon
Firehose met en mémoire tampon les données de streaming entrantes en mémoire jusqu'à une certaine taille (taille de la mémoire tampon) et pendant une certaine période (intervalle de mise en mémoire tampon) avant de les transmettre aux tables Apache Iceberg. Vous pouvez choisir une taille de tampon de 1 à 128 MiBs et un intervalle de mémoire tampon de 0 à 900 secondes. Des indices de mémoire tampon plus élevés permettent de réduire le nombre d'écritures S3, de réduire les coûts de compactage grâce à des fichiers de données plus volumineux et d'accélérer l'exécution des requêtes, mais avec une latence plus élevée. Des valeurs indicatives de mémoire tampon plus faibles fournissent les données avec une latence plus faible.
Configurer les paramètres avancés
Pour les paramètres avancés, vous pouvez configurer le chiffrement côté serveur, la journalisation des erreurs, les autorisations et les balises pour vos tables Apache Iceberg. Pour de plus amples informations, veuillez consulter Configurer les paramètres avancés. Vous devez ajouter le rôle IAM que vous avez créé dans le cadre du Accordez à Firehose l'accès pour répliquer les modifications de base de données sur les tables Apache Iceberg pour utiliser les tables Apache Iceberg comme destination. Firehose assumera le rôle d'accéder aux AWS Glue tables et d'écrire dans les compartiments Amazon S3.
Nous vous recommandons vivement d'activer CloudWatch les journaux. En cas de problème lors de la connexion de Firehose aux bases de données ou de la capture instantanée des tables, Firehose génère une erreur et enregistre les journaux dans les journaux configurés. C'est le seul mécanisme qui vous informe des erreurs.
La création d'un stream Firehose peut prendre plusieurs minutes. Une fois que vous avez créé le flux Firehose avec succès, vous pouvez commencer à y ingérer des données et les afficher dans les tables Apache Iceberg.
Note
Configurez un seul flux Firehose pour une base de données. Le fait de disposer de plusieurs flux Firehose pour une base de données crée plusieurs connecteurs vers la base de données, ce qui a un impact sur les performances de la base de données.
Une fois qu'un flux Firehose est créé, le statut initial des tables existantes sera un instantané IN_PROGRESS. Ne modifiez pas le schéma de la table source lorsque le statut du cliché est défini sur IN_PROGRESS. Si vous modifiez le schéma de la table alors que la capture instantanée est en cours, Firehose ignore la capture instantanée de la table. Lorsque le processus de capture d'écran est terminé, son statut passe à TERMINÉ.