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 parmi les options suivantes pour remplir les conditions préalables requises requises.

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

Avant de commencer, respectez les prérequis suivants.

  • 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 Créer un compartiment S3.

  • Créer un rôle IAM disposant des autorisations requises : Firehose a besoin d'un rôle IAM disposant d'autorisations spécifiques pour AWS Glue accéder aux 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 rôle IAM lorsque vous créez une table Iceberg et un flux Firehose. Pour de plus amples informations, veuillez consulter Accorder à Firehose l'accès aux tables Amazon S3.

  • 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 diffusion vers Amazon S3 Tables

Pour fournir des données aux compartiments de table Amazon S3, respectez les prérequis suivants.

  • 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 Getting started with Amazon S3 Tables. Les noms de colonnes doivent être en minuscules en raison des limites imposées par l'intégration du catalogue des tables S3, comme indiqué dans les limites de l'intégration du catalogue des tables S3.

  • Créez un rôle IAM avec les autorisations requises — Firehose a besoin d'un rôle IAM avec des autorisations spécifiques pour AWS Glue accéder aux 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 rôle IAM les autorisations requises dans AWS Lake Formation. Vous configurez ce rôle IAM lorsque vous créez un flux Firehose. Pour plus d'informations, consultez Accorder à Firehose l'accès aux tables Amazon S3.

  • Configurer AWS Lake Formation les autorisations : AWS Lake Formation gère l'accès aux ressources de votre table. Lake Formation utilise son propre modèle d'autorisations qui permet un contrôle d'accès précis aux ressources du catalogue de données.

Pour step-by-step l'intégration, consultez le blog Créez un lac de données pour le streaming de données avec Amazon S3 Tables et Amazon Data Firehose. Pour plus d'informations, consultez également la section Utilisation des tables Amazon S3 avec des services AWS d'analyse.