Activation de l’optimiseur de compactage - AWS Glue

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.

Activation de l’optimiseur de compactage

Vous pouvez utiliser la console AWS Glue, l’AWS CLI ou l’API AWS pour activer le compactage de vos tables Apache Iceberg dans le Catalogue de données AWS Glue. Pour les nouvelles tables, vous pouvez choisir Apache Iceberg comme format de table et activer le compactage lors de la création de la table. Le compactage est désactivé par défaut pour les nouvelles tables.

Console
Pour activer le compactage
  1. Ouvrez la console AWS Glue à l’adresse https://console.aws.amazon.com/glue/ et connectez-vous en tant qu’administrateur du lac de données, créateur de la table ou utilisateur ayant obtenu les autorisations lakeformation:GetDataAccess et glue:UpdateTable pour la table.

  2. Dans le panneau de navigation, sous Catalogue de données, choisissez Tables.

  3. Sur la page Tables, choisissez une table au format ouvert pour laquelle vous souhaitez activer le compactage, puis dans le menu Actions, choisissez Optimisation, puis Activer.

    Vous pouvez également activer le compactage en sélectionnant l’onglet Optimisation des tables sur la page Détails de la table. Choisissez l’onglet Optimisation des tables dans la partie inférieure de la page, puis sélectionnez Activer le compactage.

    L’option Activer l’optimisation est également disponible lorsque vous créez une table Iceberg dans le catalogue de données.

  4. Sur la page Activer l’optimisation, sélectionnez Compactage sous Options d’optimisation.

    Page de détails des tables Apache Iceberg avec l’option Activer le compactage.
  5. Sélectionnez ensuite un rôle IAM dans le menu déroulant avec les autorisations indiquées dans la section Conditions préalables requises pour l’optimisation des tables .

    Vous pouvez aussi choisir l’option Créer un rôle IAM pour créer un rôle personnalisé avec des autorisations requises pour exécuter le compactage.

    Suivez les étapes ci-dessous pour mettre à jour un rôle IAM existant :

    1. Pour mettre à jour la stratégie d’autorisation pour le rôle IAM, dans la console IAM, accédez au rôle IAM utilisé pour exécuter le compactage.

    2. Dans la section Ajouter des autorisations, choisissez Créer une politique. Dans la fenêtre du navigateur nouvellement ouverte, créez une nouvelle stratégie à utiliser avec votre rôle.

    3. Sur la page Créer une politique, choisissez l’onglet JSON. Copiez le code JSON affiché dans les prérequis dans le champ de l’éditeur de politique.

  6. Si vous avez des configurations de politique de sécurité dans lesquelles l’optimiseur de table Iceberg doit accéder aux compartiments Amazon S3 à partir d’un cloud privé virtuel (VPC) spécifique, créez une connexion réseau AWS Glue ou utilisez une connexion réseau existante.

    Si aucune connexion VPC AWS Glue n’est déjà configurée, créez-en une en suivant les étapes de la section Creating connections for connectors à l’aide de la console AWS Glue ou de l’AWS CLI/du kit SDK.

  7. Choisissez une politique de compactage. Les options disponibles sont les suivantes :

    • Binpack : Binpack est la stratégie de compactage par défaut d’Apache Iceberg. Elle combine des fichiers de données plus petits dans des fichiers plus volumineux pour des performances optimales.

    • Tri : le tri dans Apache Iceberg est une technique d’organisation des données qui regroupe les informations au sein de fichiers en fonction de colonnes spécifiées, ce qui améliore considérablement les performances des requêtes en réduisant le nombre de fichiers à traiter. Vous définissez l’ordre de tri dans les métadonnées d’Iceberg à l’aide du champ d’ordre de tri, et lorsque plusieurs colonnes sont spécifiées, les données sont triées dans l’ordre dans lequel les colonnes apparaissent dans l’ordre de tri, ce qui garantit que les enregistrements présentant des valeurs similaires sont stockés ensemble dans des fichiers. La stratégie de tri du compactage va plus loin dans l’optimisation en triant les données dans tous les fichiers d’une partition.

    • Ordre Z : l’ordre Z est un moyen d’organiser les données lorsque vous devez trier selon plusieurs colonnes de la même importance. Contrairement au tri traditionnel qui donne la priorité à une colonne par rapport aux autres, l’ordre Z donne une pondération équilibrée à chaque colonne, ce qui permet à votre moteur de requête de lire moins de fichiers lors de la recherche de données.

      La technique fonctionne en combinant les chiffres binaires de valeurs issues de différentes colonnes. Par exemple, si vous avez les chiffres 3 et 4 sur deux colonnes, l’ordre Z les convertit d’abord en binaire (3 devient 011 et 4 devient 100), puis entrelace ces chiffres pour créer une valeur : 011010. Cet entrelacement crée un modèle qui maintient les données associées physiquement proches les unes des autres.

      L’ordre Z est particulièrement efficace pour les requêtes multidimensionnelles. Par exemple, une table client triée en Z par revenu, État et code postal peut offrir des performances supérieures à celles d’un tri hiérarchique lors d’une interrogation portant sur plusieurs dimensions. Cette organisation permet aux requêtes ciblant des combinaisons spécifiques de revenus et de situation géographique de localiser rapidement les données pertinentes tout en minimisant les analyses de fichiers inutiles.

  8. Minimum de fichiers d’entrée : nombre de fichiers de données requis dans une partition avant le déclenchement du compactage.

  9. Seuil de suppression de fichiers : nombre minimum d’opérations de suppression requises dans un fichier de données avant qu’il ne soit éligible au compactage.

  10. Choisissez Activer l’optimisation.

AWS CLI

L’exemple suivant montre comment activer le compactage. Remplacez l’ID de compte par un ID de compte AWS valide. Remplacez le nom de la base de données et le nom de la table par un nom réel de la table Iceberg et le nom de la base de données. Remplacez le roleArn par l’ARN (Amazon Resource Name) AWS du rôle IAM et le nom du rôle IAM qui dispose des autorisations requises pour exécuter le compactage. Vous pouvez remplacer la stratégie de compactage sort par d’autres stratégies prises en charge, telles que z-order ou binpack.

commander en fonction de vos besoins.

aws glue create-table-optimizer \ --catalog-id 123456789012 \ --database-name iceberg_db \ --table-name iceberg_table \ --table-optimizer-configuration '{ "roleArn": "arn:aws:iam::123456789012:role/optimizer_role", "enabled": true, "vpcConfiguration": {"glueConnectionName": "glue_connection_name"}, "compactionConfiguration": { "icebergConfiguration": {"strategy": "sort"} } }'\ --type compaction
AWS API

Appelez une opération CreateTableOptimizer pour activer le compactage d’une table.

Après avoir activé le compactage, l’onglet Optimisation des tables affiche les détails de compactage suivants une fois le compactage terminé :

L’heure de début

Heure à laquelle le processus de compactage a commencé dans le catalogue de données. La valeur est un horodatage selon le fuseau UTC.

L’heure de fin

Heure à laquelle le processus de compactage a pris fin dans le catalogue de données. La valeur est un horodatage selon le fuseau UTC.

État

L’état d’exécution du compactage. Les valeurs sont la réussite ou l’échec.

Fichiers compactés

Nombre total de fichiers compactés.

Octets compactés

Nombre total d’octets compactés.