Conditions requises pour utiliser les tables Apache Iceberg comme destination - Amazon Data Firehose

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.

Conditions requises pour utiliser les tables Apache Iceberg comme destination

Choisissez l'une des options suivantes pour remplir les prérequis requis.

Conditions préalables à la livraison vers Iceberg Tables dans Amazon S3

Avant de commencer, remplissez les conditions préalables suivantes.

  • Création d'un compartiment Amazon S3 : vous devez créer un compartiment Amazon S3 pour ajouter le chemin du fichier de métadonnées lors de la création des tables. Pour plus d'informations, consultez la section Création d'un compartiment S3.

  • Créez un IAM rôle avec les autorisations requises — Firehose a besoin d'un IAM rôle doté d'autorisations spécifiques pour accéder aux AWS Glue tables et écrire des données sur Amazon S3. Le même rôle est utilisé pour accorder AWS Glue l'accès aux compartiments Amazon S3. Vous avez besoin de ce IAM rôle lorsque vous créez une table Iceberg et un stream Firehose. Pour de plus amples informations, veuillez consulter Accorder à Firehose l'accès à une destination Apache Iceberg Tables.

  • Création de tables Apache Iceberg — Si vous configurez des clés uniques dans le flux Firehose pour les mises à jour et les suppressions, Firehose vérifie si la table et les clés uniques existent dans le cadre de la création du flux. Pour ce scénario, vous devez créer des tables avant de créer le flux Firehose. Vous pouvez l'utiliser AWS Glue pour créer des tables Apache Iceberg. Pour plus d'informations, consultez la section Création de tables Apache Iceberg. Si vous ne configurez pas de clés uniques dans le flux Firehose, il n'est pas nécessaire de créer des tables Iceberg avant de créer un flux Firehose.

    Note

    Firehose prend en charge la version et le format de table suivants pour les tables Apache Iceberg.

    • Version de format de tableau — Firehose ne prend en charge que le format de tableau V2. Ne créez pas de tables au format V1, sinon vous obtiendrez une erreur et les données seront envoyées au compartiment d'erreur S3 à la place.

    • Format de stockage des données : Firehose écrit les données dans les tables Apache Iceberg au format Parquet.

    • Fonctionnement au niveau des lignes : Firehose prend en charge le mode Merge-on-Read (MOR) d'écriture de données dans les tables Apache Iceberg.

Conditions préalables à la livraison vers Amazon S3 Tables

Pour fournir des données aux compartiments de table Amazon S3, remplissez les conditions préalables suivantes.

  • Créez un IAM rôle avec les autorisations requises — Firehose a besoin d'un IAM rôle doté d'autorisations spécifiques pour accéder aux AWS Glue tables et écrire des données dans les tables d'un compartiment de tables Amazon S3. Pour écrire dans les tables d'un compartiment de tables S3, vous devez également fournir au IAM rôle les autorisations requises dans AWS Lake Formation. Vous configurez ce IAM rôle lorsque vous créez un stream Firehose. Pour plus d'informations, consultez Accorder à Firehose l'accès aux tables Amazon S3.

  • Créez un compartiment de table S3, un espace de noms, des tables dans le compartiment de table et les autres étapes d'intégration décrites dans la section Intégration des tables Amazon S3 aux services AWS d'analyse.

    Note

    Dans les étapes décrites, accordez AWS Lake Formation DESCRIBE l'autorisation au IAM rôle que vous avez créé précédemment.

    Vous utiliserez les noms des liens de ressources pour la base de données et la table créés dans le cadre des prérequis en tant que nom de base de données et de table dans votre configuration de flux Firehose à des fins de routage. Vous pouvez les utiliser dans la section Clé unique de la configuration de votre flux Firehose si vous routez vers une seule table, ou les envoyer dans le cadre de vos données d'entrée pour que Firehose les achemine vers la bonne table à l'aide d'expressions Query. JSON

    Pour d'autres méthodes de création de liens vers des ressources, voir Création d'un lien de ressource vers une table de catalogue de données partagée ou Création d'un lien de ressource vers une base de données de catalogue de données partagée dans le guide de l'utilisateur de Lake Formation.