Remplissage et gestion des tables transactionnelles
Apache Iceberg
Vous pouvez remplir les tables Iceberg, Hudi et Delta Lake dans l’AWS Glue Data Catalog à l’aide des méthodes suivantes :
-
AWS Glue crawler : AWS Glue crawler peut automatiquement découvrir et remplir les métadonnées des tables Iceberg, Hudi et Delta Lake dans le catalogue de données. Pour plus d’informations, consultez Utilisation de robots pour alimenter le catalogue de données .
-
Tâches ETL AWS Glue : vous pouvez créer des tâches ETL pour écrire des données dans les tables Iceberg, Hudi et Delta Lake et remplir leurs métadonnées dans le catalogue de données. Pour plus d’informations, consultez Using data lake frameworks with AWS Glue ETL jobs.
-
Console AWS Glue, console AWS Lake Formation, AWS CLI ou API : vous pouvez utiliser la console AWS Glue, la console Lake Formation ou l’API pour créer et gérer des définitions de tables Iceberg dans le catalogue de données.
Rubriques
Création de tables Apache Iceberg
Vous pouvez créer des tables Apache Iceberg qui utilisent le format de données Apache Parquet dans l’AWS Glue Data Catalog avec des données résidant dans Amazon S3. Une table dans le catalogue de données correspond à la définition des métadonnées qui représente les données dans un entrepôt de données. Par défaut, AWS Glue crée des tables Iceberg v2. Pour connaître la différence entre les tables v1 et v2, consultez la section Modifications de version de format
Apache Iceberg
Vous pouvez utiliser AWS Glue, la console Lake Formation ou l’opération CreateTable dans l’API AWS Glue pour créer une table Iceberg dans le catalogue de données. Pour plus d’informations, consultez CreateTable action (Python: create_table).
Lorsque vous créez une table Iceberg dans le catalogue de données, vous devez spécifier le format de la table et le chemin d’accès au fichier de métadonnées dans Amazon S3 pour pouvoir effectuer des lectures et des écritures.
Vous pouvez utiliser Lake Formation pour sécuriser votre table Iceberg à l’aide d’autorisations de contrôle précis des accès lorsque vous enregistrez l’emplacement des données Amazon S3 auprès d’AWS Lake Formation. Pour les données sources dans Simple Storage Service (Amazon S3) et les métadonnées qui ne sont pas enregistrées dans Lake Formation, l'accès est déterminé par les politiques d'autorisation IAM pour Simple Storage Service (Amazon S3) et les actions AWS Glue. Pour plus d’informations, consultez Managing permissions.
Note
Le catalogue de données ne prend pas en charge la création de partitions ni l’ajout de propriétés de table Iceberg.
Prérequis
Pour créer des tables Iceberg dans le catalogue de données et configurer les autorisations d’accès aux données de Lake Formation, vous devez remplir les conditions suivantes :
-
Autorisations requises pour créer des tables Iceberg sans les données enregistrées auprès de Lake Formation :
Outre les autorisations requises pour créer une table dans le catalogue de données, le créateur de table exige les autorisations suivantes :
s3:PutObjectsur la ressource arn:aws:s3:::{bucketName}-
s3:GetObjectsur la ressource arn:aws:s3:::{bucketName} -
s3:DeleteObjectsur la ressource arn:aws:s3:::{bucketName}
-
Autorisations requises pour créer des tables Iceberg avec des données enregistrées auprès de Lake Formation :
Pour utiliser Lake Formation afin de gérer et de sécuriser les données de votre lac de données, enregistrez votre site Amazon S3 contenant les données pour les tables auprès de Lake Formation. Cela permet à Lake Formation de vendre des informations d’identification aux services d’analytique AWS tels qu’Athena, Redshift Spectrum et Amazon EMR pour accéder aux données. Pour plus d’informations sur l’enregistrement d’un emplacement Amazon S3, consultez Adding an Amazon S3 location to your data lake.
Un principal qui lit et écrit les données sous-jacentes enregistrées auprès de Lake Formation doit disposer des autorisations suivantes :
-
lakeformation:GetDataAccess -
DATA_LOCATION_ACCESSUn principal qui possède des autorisations de localisation des données sur un emplacement possède également des autorisations d’emplacement sur tous les sites enfant.
Pour plus d’informations sur les autorisations d’emplacement des données, consultez l’ulink Underlying data access control.
-
Pour activer le compactage, le service doit endosser un rôle IAM autorisé à mettre à jour les tables dans le catalogue de données. Pour plus d’informations, consultez Conditions préalables requises pour l’optimisation des tables .
Création d’une table Iceberg
Vous pouvez créer des tables Iceberg v1 et v2 à l’aide d’AWS Glue, de la console Lake Formation ou d’AWS Command Line Interface, comme indiqué sur cette page. Vous pouvez également créer des tables Iceberg à l’aide d’AWS Glue crawler. Pour plus d’informations, consultez Data Catalog and Crawlers dans le Guide du développeur AWS Glue.
Pour créer une table Iceberg