Accéder au contenu principal

Formation des lacs AWS et intégration des colles : Un guide pas à pas

Apprenez à intégrer AWS Lake Formation et AWS Glue pour créer des pipelines de données sécurisés, configurer des contrôles d'accès et automatiser les flux de travail ETL.
Actualisé 14 janv. 2025  · 30 min de lecture

Les entreprises s'efforcent de sécuriser, de gérer et de déplacer des ensembles de données volumineux dans l'environnement de données d'aujourd'hui. AWS Lake Formation et AWS Glue sont deux services qui peuvent vous aider à surmonter ces difficultés. AWS Glue assure le nettoyage, la restructuration et la conversion des types de données, tandis qu'AWS Lake Formation construit des lacs de données et assure la sécurité et la gestion des données. 

Dans ce blog, nous allons vous montrer comment développer un pipeline de données sécurisé et automatisé en utilisant AWS Lake Formation et AWS Glue. Nous développerons un travail ETL en utilisant AWS Glue pour déplacer et traiter les données d'un échantillon actuellement stockées dans un seau S3, et un contrôle d'accès fin sera effectué via AWS Lake Formation.

Qu'est-ce que la formation d'AWS Lake ?

AWS Lake Formation fournit les outils nécessaires pour créer, gérer et sécuriser des lacs de données sur AWS. Avec Lake Formation, la création de lacs de données sur Amazon S3 et la gestion de la sécurité et des autorisations sont plus faciles.

En utilisant AWS Lake Formation, vous pouvez :

  • Créez rapidement un lac de données sécurisé.
  • Centralisez le stockage des données dans S3.
  • Définir des politiques de contrôle d'accès granulaires.
  • Appliquer le cryptage des données et les journaux d'audit pour assurer la conformité.

Qu'est-ce que la colle AWS ?

AWS Glue est un service d'intégration de données sans serveur qui fournit des fonctionnalités d'extraction, de transformation et de chargement (ETL) pour la préparation des données. Il s'agit d'un service automatisé de préparation des données qui facilite la gestion du catalogage, de la transformation et du chargement des données. Cette fonction est utile pour consolider les données provenant de diverses sources, telles que S3, dans des entrepôts de données ou des bases de données.

Avec AWS Glue, vous obtenez :

  • Catalogue de données sur les colles: Un référentiel centralisé pour la gestion des métadonnées.
  • Emplois ETL: Des tâches sans serveur pour transformer et déplacer des données.
  • Glue Studio: Une interface visuelle pour concevoir des flux de travail ETL.

Si vous ne connaissez pas encore Glue, consultez notre tutoriel Premiers pas avec AWS Glue

Pourquoi intégrer AWS Lake Formation et AWS Glue ?

L'intégration d'AWS Lake Formation et d'AWS Glue offre le meilleur des deux mondes : des lacs de données sécurisés et des pipelines ETL automatisés. Voici quelques-uns des avantages de cette intégration :

  • Pipelines de données automatisés: Automatisez facilement la transformation et le déplacement des données tout en maintenant la sécurité.
  • Gestion centralisée des données: Combinez le contrôle d'accès de Lake Formation avec les capacités de transformation et de catalogage des données de Glue.
  • Amélioration de la sécurité: Tirez parti des autorisations fines de Lake Formation pour contrôler l'accès aux données sensibles.

Conditions préalables à l'intégration

Avant d'intégrer AWS Lake Formation et AWS Glue, assurez-vous que vous disposez des éléments suivants :

  • Compte AWS: Accès à AWS Lake Formation et AWS Glue.
  • Connaissancesessentielles: Familiarité avec les lacs de données, l'ETL et les services AWS.
  • Seau S3: Un panier S3 préconfiguré pour stocker vos données.
  • Rôles IAM: Les rôles et autorisations IAM nécessaires sont requis pour accéder aux deux services.
  • CloudFormation: Un modèle est fourni pour déployer la configuration de base. Yous pouvez trouver le modèle ici.

Guide d'intégration étape par étape

Une fois que vous disposez des conditions préalables, il vous suffit de suivre les étapes suivantes :

Étape 1 : Mise en place d'AWS Lake Formation

La première étape consiste à déployer les ressources AWS de base nécessaires pour construire un lac de données sécurisé avant de commencer le processus d'intégration. Le modèle AWS CloudFormation permet d'organiser et de déployer toutes les ressources nécessaires. 

Utilisez le modèle CloudFormation fourni pour créer une pile dans votre compte AWS. Cette pile fournit les ressources essentielles requises pour les cas d'utilisation décrits dans ce tutoriel.

Capture d'écran de la page "Create Stack" d'AWS CloudFormation montrant les options de préparation et de spécification d'un modèle, y compris le téléchargement d'un fichier de modèle ou la sélection d'autres sources.

Création d'une pile dans AWS CloudFormation

Lors du déploiement de la pile, les ressources clés suivantes seront créées dans votre compte AWS :

  • Amazon VPC et sous-réseau: Un VPC et un sous-réseau public pour l'hébergement de ressources avec des configurations de réseau appropriées.
  • Amazon S3 buckets:
    • Stocke les données, les scripts et les résultats liés au blog.
    • Hébergeles données PTC utilisées pour construire le lac de données.
  • Rôles et politiques IAM:
    • GlueServiceRole: Permet à AWS Glue d'accéder aux services S3 et Lake Formation.
    • DataEngineerGlueServiceRole: Fournit aux ingénieurs des autorisations pour l'accès et le traitement des données.
    • DataAdminUser et DataEngineerUser: Utilisateurs IAM préconfigurés pour explorer et gérer la sécurité de Lake Formation.
  • AWS Glue Crawler: Un TPC Crawler pour scanner et cataloguer les données parquet stockées dans le seau S3.
  • Instance Amazon EC2: Une instance d'aide (EC2-DB-Loader) pour le préchargement et le transfert des données de l'échantillon dans S3.
  • AWS Secrets Manager: Un secret (lf-users-credentials) pour stocker en toute sécurité les informations d'identification des utilisateurs IAM précréés.

Une fois la pile créée, vous disposerez des éléments suivants :

  • Un exemple de base de données PTC stockée sur Amazon S3.
  • Utilisateurs et rôles pré-créés pour explorer les modèles de sécurité et les contrôles d'accès.
  • Collez des configurations et des crawlers pour cataloguer et traiter vos données.
  • Tous les composants de base nécessaires pour suivre les étapes de ce blog.

Étape 2 : Configuration des autorisations de données

Dans cette section, l'administrateur du lac de données configurera AWS Lake Formation afin de le rendre disponible pour les personas de consommateurs de données, y compris les ingénieurs de données. L'administrateur devra :

  • Créez une nouvelle base de données dans AWS Lake Formation pour stocker les données PTC.
  • Enregistrez les tableaux de métadonnées pour le jeu de données PTC dans le catalogue de données AWS Glue.
  • Configurez les balises et les politiques de Lake Formation pour établir les autorisations d'accès pour les différents utilisateurs.

Ces configurations permettent un contrôle d'accès sécurisé et précis, ainsi qu'une coordination harmonieuse avec d'autres services AWS.

Configuration de Data Lake Administrator

Un administrateur de lac de données est un utilisateur ou un rôle de gestion des identités et des accès (IAM) qui peut donner à n'importe quel principe (y compris lui-même) une permission sur n'importe quelle entité du catalogue de données. L'administrateur du lac de données est généralement le premier utilisateur créé pour gérer le catalogue de données et c'est généralement l'utilisateur qui se voit accorder des privilèges administratifs pour le catalogue de données.

Dans le service AWS Lake Formation, vous pouvez ouvrir l'invite en cliquant sur le bouton Rôles et tâches administratives -> Ajouter des administrateurs dans le panneau de navigation, puis en sélectionnant l'utilisateur IAM lf-data-admin dans la liste déroulante.

Capture d'écran de la page "Ajouter des administrateurs" dans AWS Lake Formation montrant les options pour attribuer le type d'accès, les utilisateurs IAM et les rôles pour les autorisations des administrateurs du lac de données.

Ajout d'un administrateur de lac de données dans AWS Lake Formation

Modification des paramètres du catalogue

Par défaut, Lake Formation dispose de l'option "Utiliser uniquement le contrôle d'accès IAM", qui est sélectionnée pour être compatible avec le catalogue de données AWS Glue. Pour permettre un contrôle d'accès précis avec les autorisations de la formation en lac, vous devez ajuster ces paramètres :

  1. Dans le volet de navigation, sous Administrationchoisissez Rôles et tâches administratives.
  2. Si le groupe IAMAllowedPrincipals apparaît sous Créateurs de base de donnéessélectionnez le groupe et choisissez Révoquer.
  3. Dans la section Révoquer les autorisations confirmez que le groupe dispose de l'autorisation Créer une base de données puis cliquez sur Révoquer.

Ces étapes désactiveront le contrôle d'accès IAM par défaut et vous permettront de mettre en œuvre les autorisations de Lake Formation pour une sécurité accrue.

Capture d'écran de l'interface AWS Lake Formation affichant les options pour les créateurs de catalogues et de bases de données, y compris le groupe IAMAllowedPrincipals avec les autorisations Create catalog et Create database.

Gestion des créateurs de catalogues et de bases de données dans AWS Lake Formation

Étape 3 : Utilisation du catalogue de données AWS Glue

Il est maintenant temps d'utiliser le catalogue de données Glue.

Création d'une base de données

Pour créer une base de données pour les données PTC, déconnectez-vous de votre session AWS actuelle et reconnectez-vous en tant qu'utilisateur lf-data-admin. Utilisez le lien de connexion fourni dans la sortie CloudFormation et le mot de passe récupéré dans AWS Secrets Manager.

  1. Naviguez jusqu'à la AWS Lake Formation et sélectionnez Bases de données dans le volet de navigation de gauche.
  2. Cliquez sur le bouton Créer une base de données de la base de données.
  3. Nommez la base de données "tpc", car elle sera utilisée pour le lac de données TPC.
  4. Dans le champEmplacement, sélectionnez le chemin du lac de données S3 créé par la pile CloudFormation. Ce chemin se trouve dans l'onglet de sortie de CloudFormation et sera nommé lf-data-lake-account-ID, où account-ID est votre numéro de compte AWS à 12 chiffres.
  5. Décochez l'option Utiliser uniquement le contrôle d'accès IAM pour les nouveaux tableaux de cette base de données pour permettre un contrôle d'accès précis.
  6. Laissez toutes les autres options à leurs valeurs par défaut et cliquez sur Créer une base de données.

Cette base de données servira de fondement au stockage et à la gestion des métadonnées pour les données du PTC dans la configuration de la formation lacustre.

Capture d'écran de la page " Détails de la base de données " d'AWS Lake Formation montrant les champs relatifs au nom de la base de données, au catalogue de données, à l'emplacement S3, à la description et aux paramètres d'autorisations par défaut pour les tableaux nouvellement créés.

Création d'une base de données dans AWS Lake Formation

Hydrater le lac de données

Nous utilisons un crawler AWS Glue pour créer des tableaux dans le catalogue de données AWS Glue. Les crawlers sont le moyen le plus courant de créer des tableaux dans AWS Glue, car ils peuvent parcourir plusieurs magasins de données à la fois et générer ou mettre à jour les détails des tableaux dans le catalogue de données une fois le crawl effectué.

Avant d'exécuter AWS Glue Crawler, vous devez accorder les autorisations nécessaires à son rôle IAM :

  1. Dans la console AWS Lake Formation, accédez à Bases de données et sélectionnez la tpc base de données.
  2. De la page Actions choisissez Octroi.
  3. Dans le menu Accorder des autorisations vous pouvez cliquer sur le bouton
    • Sous Principauxsélectionnez le rôle IAM LF-GlueServiceRole.
    • Dans le Balises LF ou ressources du catalogue assurez-vous que Ressources de catalogue de données nommées est sélectionné.
    • Sélectionnez tpc comme base de données.
    • Dans la section Autorisations de la base de données cochez la case Créer un tableau de l'option Créer une table.
    • Cliquez Accorder.

Capture d'écran de la page AWS Lake Formation Databases montrant une liste de bases de données, y compris "sales" et "tpc", avec le menu Actions développé pour afficher l'option "Grant" pour la gestion des autorisations.

Octroi de permissions dans la formation AWS Lake

Exécuter le crawler AWS Glue

Une fois les autorisations accordées, procédez à l'exécution du crawler :

  1. Dans la console AWS Lake Formation, accédez à Crawlers et cliquez sur pour ouvrir la fenêtre AWS Glue pour ouvrir la console AWS Glue.
  2. Sélectionnez le crawler nommé TPC Crawler et cliquez sur Exécuter le crawler.
  3. Contrôlez la progression en cliquant sur le bouton Rafraîchir pour suivre l'évolution de la situation.
  4. Une fois terminée, la base de données PTC sera alimentée par des tableaux. Vérifiez les Changements de tableaux depuis la dernière exécution pour connaître le nombre de tableaux ajoutés (par exemple, 8 tableaux).

Capture d'écran de la page des propriétés d'AWS Glue TPC Crawler montrant des détails tels que le rôle IAM, la base de données et les exécutions du crawler avec le statut marqué comme Terminé, indiquant des mises à jour de tableaux réussies.

Exécuter le Crawler TPC dans AWS Glue

Vous pouvez également vérifier ces tableaux dans la console AWS Lake Formation, à la rubrique Catalogue de données et Tableaux.

Capture d'écran de la page AWS Lake Formation Tables affichant une liste de 8 tableaux chargés dans la base de données tpc, dont dl_tpc_household_demographics, dl_tpc_customer, et d'autres, avec des options de création de tableaux ou d'utilisation d'un crawler.

Visualisation des tableaux dans la formation du lac AWS

Enregistrement des emplacements du lac de données

Vous devez enregistrer le seau S3 dans AWS Lake Formation pour votre stockage dans le lac de données. Cet enregistrement vous permet d'appliquer un contrôle d'accès précis aux objets du catalogue de données AWS Glue et aux données sous-jacentes stockées dans le seau.

Marche à suivre pour enregistrer un site Data Lake :

  1. Naviguez jusqu'à la page Emplacements du lac de données dans la console AWS Lake Formation et cliquez sur Enregistrer l'emplacement.
  2. Saisissez le chemin d'accès au godet S3 créé par le modèle CloudFormation. Ce bac stockera les données ingérées au cours du processus de pipeline.
  3. Pour le Rôle IAMsélectionnez le site LF-GlueServiceRole créé par le modèle CloudFormation.
  4. Sous Mode d'autorisationchoisissez Formation de lac pour activer les fonctions avancées de contrôle d'accès.
  5. Cliquez ici Enregistrer l'emplacement pour enregistrer votre configuration.

Une fois enregistré, vérifiez l'emplacement de votre lac de données pour vous assurer qu'il est correctement configuré. Cette étape est essentielle pour une gestion des données et une sécurité sans faille dans votre configuration de Lake Formation.

Capture d'écran de la page "Register Location" d'AWS Lake Formation montrant les champs pour le chemin Amazon S3, la sélection du rôle IAM (LF-GlueServiceRole) et les options de mode d'autorisation, y compris les modes d'accès Lake Formation et Hybrid.

Enregistrement d'un emplacement Amazon S3 dans AWS Lake Formation

Balises de formation lacustre (LF-Tags)

Les étiquettes LF peuvent être utilisées pour organiser les ressources et définir les autorisations dans de nombreuses ressources à la fois. Il vous permet d'organiser les données à l'aide de taxonomies, de décomposer des politiques complexes et de gérer les autorisations de manière efficace. Cela est possible parce qu'avec les balises LF, vous pouvez séparer la politique de la ressource et, par conséquent, vous pouvez mettre en place des politiques d'accès avant même que les ressources ne soient créées.

Etapes pour créer et attribuer des LF-Tags

  • Créez des balises LF :
    • Accédez à la console Lake Formation sur AWS Lake Formation.
    • Dans le volet de navigation, sélectionnez LF-Balises et autorisationspuis cliquez sur Ajouter une étiquette LF.
    • Indiquez "Classification" comme clé et ajoutez "Sensible" et "Non sensible" comme valeurs. Cliquez sur Ajouter une étiquette LF.

Capture d'écran de la page "Add LF-Tag" d'AWS Lake Formation montrant les options permettant de définir la clé et les valeurs, d'accorder des permissions LF-Tag et d'attribuer des permissions de paires clé-valeur LF-Tag aux ressources du catalogue de données.

Création de balises LF dans la formation des lacs AWS

  • Accorder les autorisations de marquage LF :
    • Assurez-vous que l'utilisateur lf-data-admin dispose des autorisations LF-Tag. Naviguez vers Tableaux dans la console Formation lacustre.
    • Sélectionnez le tableau dl_tpc_customer, cliquez sur le bouton actions et choisissez Accorder.
    • Sous Utilisateurs et rôles IAMsélectionnez lf-data-admin.
    • Pour les balises LF ou les ressources du catalogue, sélectionnez Ressources du catalogue de données nommées.
    • Choisissez la base de données tpc et le tableau dl_tpc_customer, en accordant les droits d'accès au tableauAlter. Cliquez Accorder.

Capture d'écran de la page " Grant permissions " d'AWS Lake Formation montrant l'utilisateur IAM lf-data-admin, la sélection des ressources Named Data Catalog et la configuration pour la base de données tpc et le tableau dl_tpc_customer.

Octroi de permissions dans la formation AWS Lake

  • Attribuez des étiquettes LF aux objets du catalogue de données :
    • Naviguez vers Tableaux et sélectionnez le tableau dl_tpc_customer. Ouvrez les détails du tableau et sélectionnez Éditer les balises LF dans le menu des actions.
    • Cliquez sur Attribuer une nouvelle étiquette LFindiquez "Classification" comme clé et définissez "Non sensible" comme valeur. Cliquez sur Sauvegarder.
    • Dans le menu d'actions du tableau, choisissez Modifier le schéma. Sélectionnez des colonnes telles que c_first_name, c_last_name, et c_email_address, et cliquez sur Modifier les balises LF.
    • Pour la clé héritée Classification, changez la valeur en "Sensitive" et cliquez sur Save. Enregistrez cette configuration en tant que nouvelle version.
  • Appliquez des balises LF à d'autres tableaux :
    • Pour le tableau dl_tpc_household_demographics, rendez-vous à l'adresse suivante Actions et choisissez Modifier les balises LF.
    • Dans la boîte de dialogue, cliquez sur Attribuer un nouveau LF-Tag. Ensemble Groupe comme clé et Analyste comme valeur. Cliquez sur Sauvegarder pour finaliser.

En suivant ces étapes, vous pouvez assigner efficacement des LF-Tags à vos objets de catalogue de données, garantissant ainsi un contrôle d'accès sécurisé et précis à travers votre lac de données.

Étape 4 : Créer un job ETL dans AWS Glue

AWS Glue Studio est une interface utilisateur par glisser-déposer qui aide les utilisateurs à développer, déboguer et surveiller les tâches ETL pour AWS Glue. Les ingénieurs de données s'appuient sur Glue ETL, basé sur Apache Spark, pour transformer les ensembles de données stockés dans Amazon S3 et charger les données dans les lacs de données et les entrepôts à des fins d'analyse. Pour gérer efficacement l'accès lorsque plusieurs équipes collaborent sur les mêmes ensembles de données, il est important de fournir l'accès et de le restreindre en fonction des rôles.

Octroi d'autorisations avec AWS Lake Formation

Suivez ces étapes pour accorder les autorisations nécessaires à l'utilisateur lf-data-engineer et au rôle DE-GlueServiceRole correspondant. Ce rôle est utilisé par l'ingénieur des données pour accéder aux tableaux du catalogue de données Glue dans les travaux de Glue Studio.

  1. Connectez-vous en tant qu'administrateur du lac de données :
    • Utilisez l'utilisateur lf-data-admin pour vous connecter à la console de gestion AWS. Récupérez le mot de passe depuis AWS Secrets Manager et l'URL de connexion depuis la sortie de CloudFormation.
  2. Accorder des autorisations de sélection pour un tableau :
    • Naviguez vers Permissions du lac de données dans la console Lake Formation.
    • Cliquez Accorderet dans la boîte de dialogue, fournissez les informations suivantes :
      • Utilisateurs et rôles IAM: Saisissez lf-data-engineer et DE-GlueServiceRole.
      • LF-Tags ou ressources du catalogue: Sélectionnez Ressources du catalogue de données nommées.
      • Bases de données: Choisissez tpc.
      • Tableaux: Choisissez dl_tpc_household_demographics.
      • Permissions de table: Sélectionnez Sélectionnez et Décrire.
    • Cliquez Accorder pour enregistrer les autorisations.
  3. Accorder des autorisations de création de tableaux pour une base de données :
    • Naviguez vers Permissions du lac de données à nouveau.
    • Cliquez Accorderet dans la boîte de dialogue, fournissez les informations suivantes :
      • Utilisateurs et rôles IAM: Saisissez DE-GlueServiceRole.
      • LF-Tags ou ressources du catalogue: Sélectionnez Ressources du catalogue de données nommées.
      • Bases de données: Choisissez tpc (ne sélectionnez pas les tableaux).
      • Permissions de la base de données: Sélectionnez Créer un tableau.
    • Cliquez Accorder pour finaliser les autorisations.

Capture d'écran de la page " Accorder des autorisations " d'AWS Lake Formation montrant les options d'autorisations de base de données telles que Créer un tableau, Modifier, Déposer et Super, ainsi que les paramètres du mode d'accès hybride et un message d'information sur le refus d'accès potentiel.

Configuration des autorisations de base de données dans AWS Lake Formation

En suivant ces étapes, l'utilisateur lf-data-engineer et le rôle DE-GlueServiceRole obtiendront les autorisations nécessaires pour travailler avec les tableaux du catalogue de données Glue et gérer les ressources dans les travaux de Glue Studio. Cette configuration garantit un accès sécurisé et basé sur les rôles à votre lac de données.

Créer des emplois ETL dans Glue Studio

Dans cette section, nous allons créer un travail ETL dans AWS Glue Studio en utilisant SQL Transform.

  • Connectez-vous à AWS en tant que lf-data-engineer:
    • Utilisez l'utilisateur lf-data-engineer pour vous connecter à la console de gestion AWS. Récupérez le mot de passe depuis AWS Secrets Manager et l'URL de connexion fournie par la sortie CloudFormation.
  • Ouvrez Glue Studio et commencez un nouveau travail :
    • Naviguez vers la console Glue Studio et cliquez sur ETL visuel.
    • Renommez le travail en LF_GlueStudio afin de pouvoir l'identifier facilement.
  • Configurez les détails du travail :
    • Cliquez sur le lien Détails du travail pour définir les configurations suivantes : 
      • Rôle de l'IAM: Sélectionnez DE-GlueServiceRole.
      • Version collée : Sélectionnez Glue 5.0 - Support Spark 3.1, Scala 2, Python 3.
      • Nombre de travailleurs demandé : Régler sur 5.
      • Signet d'emploi : Sélectionner Désactiver.
      • Nombre de tentatives : Régler à 0.

Capture d'écran de la page AWS Glue Studio Job Details montrant les champs de configuration pour le rôle IAM (DE-GlueServiceRole), le type de travail ETL (Spark), la version de Glue (3.0), le langage (Python 3), le type de travailleur (G 1X) et le nombre de travailleurs demandé.

Configurer les détails d'un travail dans AWS Glue Studio

  • Ajoutez un nœud de source de données :
    • Sous la rubrique visuel cliquez sur le bouton + et ajoutez un Catalogue de données AWS Glue pour configurer la source de données. Renommez ce nœud en "Amazon S3".
    • Sélectionnez l'option Amazon S3 dans l'éditeur visuel et configurez ses propriétés dans le panneau de droite :
      • Sous Propriétés de la source de données - Catalogue de donnéesdéfinissez :
        • Base de données: tpc.
        • Tableau: dl_tpc_household_demographics. (Note : L'utilisateur lf-data-admin n'a accordé à lf-data-engineer que l'autorisation Select sur ce tableau. Les autres tableaux n'apparaîtront pas dans la liste déroulante).

Capture d'écran de l'onglet AWS Glue Studio Visual montrant un nœud de source de données lié à Amazon S3, avec des propriétés configurées pour la base de données tpc et le tableau dl_tpc_household_demographics dans le catalogue de données.

Configurer une source de données dans AWS Glue Studio

  • Ajoutez et configurez le nœud SQL Query :
    • Le nœud Amazon S3 étant sélectionné, cliquez sur le bouton + et ajoutez un nœud SQL Query en tant que transformation.
    • Sélectionnez la Requête SQL et configurez-le :
      • Sous Transformersaisissez votre requête SQL dans le champ Requête SQL dans le champ
      • Ajoutez cette requête : 
/* Select all records where buy potential is between 0 and 500 */
SELECT * 
FROM myDataSource 
WHERE hd_buy_potential = '0-500';
      • Sous Schéma de sortiecliquez sur Modifier et supprimez les clés hd_dep_count et hd_vehicle_count. Cliquez Appliquer.

Capture d'écran de l'onglet AWS Glue Studio Visual montrant le nœud SQL Query avec une requête SQL appliquée (SELECT * FROM myDataSource WHERE hd_buy_potential = '0-500') et la configuration du schéma de sortie associée.

Configuration de la transformation des requêtes SQL dans AWS Glue Studio

  • Ajoutez un nœud de cible de données :
    • Avec la Requête SQL sélectionné, cliquez sur le bouton + et ajoutez un nœud Data Target. Sélectionnez Cible Amazon S3 dans les résultats de la recherche.
    • Configurez le nœud Data Target-S3 dans le panneau de droite :
      • Format : Sélectionnez Parquet.
      • Type de compression : Sélectionner Snappy.
      • Emplacement de la cible S3 : Saisissez s3:///gluestudio/curated/. (Remplacez par le nom réel du seau à partir de l'onglet CloudFormation Outputs).
      • Options de mise à jour du catalogue de données: Sélectionnez Créez un tableau dans le catalogue de données et, lors des exécutions suivantes, mettez à jour le schéma et ajoutez de nouvelles partitions..
      • Base de données: Sélectionnez tpc .
      • Nom du tableau: Donnez un nom au tableau de sortie. Par exemple, dl_tpc_household_demographics_below500.
  • Sauvegardez et révisez le travail :
    • Cliquez sur Sauvegarder dans le coin supérieur droit pour enregistrer le travail.
    • Si vous le souhaitez, vous pouvez passer à l'option Script pour afficher le script généré automatiquement. Vous pouvez télécharger ou modifier ce script si nécessaire.

En suivant ces étapes, vous créerez une tâche ETL Glue Studio entièrement fonctionnelle qui transforme les données et écrit les résultats dans un dossier S3 curaté tout en mettant à jour le Glue Data Catalog.

Étape 5 : Test et validation de l'intégration

Pour confirmer les autorisations accordées dans Lake Formation, suivez les étapes suivantes en vous connectant en tant qu'utilisateur lf-data-engineer (comme indiqué dans la section Créer des postes dans Glue Studio ) :

  1. Exécutez la tâche LF_GlueStudio:
    • Naviguez jusqu'à la page LF_GlueStudio et cliquez sur le bouton Exécuter dans le coin supérieur droit pour exécuter le travail.
    • Surveillez l'exécution du travail en sélectionnant l'option Exécutions dans l'interface du travail.

Capture d'écran de l'onglet AWS Glue Studio Runs montrant un travail exécuté avec succès pour LF_GlueStudio, avec les détails d'exécution, le temps d'exécution, le type de travailleur et la version de Glue affichés.

Contrôler l'exécution des tâches dans AWS Glue Studio

  1. Vérifiez la sortie du travail :
    • Une fois que le statut de l'exécution de la tâche indique Succeeded, allez dans le dossier curated dans votre panier S3 pour vérifier les fichiers de sortie. Ces fichiers doivent être au format Parquet, tel qu'il a été configuré lors de la création du travail.

Capture d'écran d'un seau Amazon S3 affichant une liste de fichiers Parquet dans le dossier gluestudio/curated/, y compris les noms de fichiers, les horodatages de dernière modification, les tailles et la classe de stockage.

Visualisation des fichiers de sortie sur Amazon S3

  1. Vérifiez le tableau nouvellement créé :
    • Ouvrez le catalogue de données Glue et accédez à la base de données que vous avez spécifiée lors de la configuration du travail.
    • Vérifiez que le nouveau tableau est répertorié dans la base de données, ce qui confirme que les données de sortie ont été cataloguées avec succès.

Capture d'écran de la page AWS Glue Databases montrant les propriétés de la base de données tpc et une liste de tableaux avec leurs emplacements S3 respectifs, leurs classifications et leurs options d'affichage des données.

Visualisation des tableaux d'une base de données dans AWS Glue

Meilleures pratiques pour l'intégration d'AWS Lake Formation et d'AWS Glue

Lors de l'intégration d'AWS Lake Formation et d'AWS Glue, le respect des meilleures pratiques permet de renforcer la sécurité des données, de rationaliser les opérations et d'optimiser les performances. Voici comment vous pouvez tirer le meilleur parti de ces services :

Optimiser les autorisations de données

  • Adopter le principe du moindre privilège: Accordez aux utilisateurs et aux rôles l'accès aux seules ressources dont ils ont besoin. Évitez d'attribuer des autorisations trop larges qui pourraient exposer inutilement des données sensibles ou des ressources critiques.
  • Auditer régulièrement les politiques d'accès: Réviser et mettre à jour périodiquement les politiques afin de se conformer à l'évolution des exigences en matière de sécurité et de conformité. Utilisez des outils tels que AWS IAM Access Analyzer pour détecter les politiques trop permissives.
  • Exploiter les balises LF pour la gestion des politiques: Utilisez les étiquettes de formation lacustre (LF-Tags) pour regrouper les ressources connexes et simplifier la gestion des autorisations. En appliquant des balises telles que Sensitive ou Non-Sensitive, vous pouvez créer des politiques évolutives et réutilisables qui s'appliquent automatiquement aux ressources balisées.
  • Découpler les politiques des ressources: Définissez les autorisations à l'aide de balises LF ou de modèles avant que les ressources ne soient créées. Cela garantit un processus d'intégration transparent lorsque de nouvelles sources de données ou de nouveaux tableaux sont ajoutés.

Contrôler et déboguer les travaux

  • Activer les logs CloudWatch pour les jobs Glue: CloudWatch Logs peut capturer des journaux détaillés des exécutions de tâches AWS Glue, y compris les erreurs et les détails d'exécution. Utilisez ces journaux pour résoudre rapidement les problèmes.

Capture d'écran des événements du journal AWS CloudWatch montrant les détails des activités du Crawler TPC, y compris les événements de démarrage du crawl, l'achèvement de la classification et les mises à jour de la base de données TPC.

Événements du journal pour TPC Crawler dans AWS CloudWatch

  • Moniteur Glue metrics: AWS Glue fournit des mesures pour aider à identifier les inefficacités ou les problèmes dans vos flux de travail ETL. Configurez des alarmes CloudWatch pour vous informer des schémas inhabituels.

Capture d'écran de AWS CloudWatch Metrics affichant les métriques du travail pour LF_GlueStudio, y compris les tâches échouées, le temps de GC de la JVM, l'utilisation du tas et le tas utilisé, avec des options pour créer des alarmes et des graphiques de métriques.

Surveillance des paramètres de travail de AWS Glue Studio

Utiliser le partitionnement et la compression

  • Optimiser le partitionnement des données: Divisez les ensembles de données en fonction de caractéristiques fréquemment demandées, telles que département, date ou région. Dans Athena ou Redshift, par exemple, la division des données de vente par mois et par année peut accélérerconsidérablement les requêtes et réduire les coûts de numérisation.
  • Choisissez le bon format de compression: Utilisez des formats de stockage en colonnes conçus pour les charges de travail analytiques, tels que ORC ou Parquet. Combinez-les avec des algorithmes de compression efficaces tels que Snappy pour économiser de l'espace de stockage et accélérer les requêtes.
  • Automatiser le partitionnement dans les travaux Glue: Les tâches AWS Glue peuvent partitionner dynamiquement les données au cours du processus ETL. Spécifiez des clés de partition dans la configuration de votre travail pour garantir que les données entrantes sont stockées dans un format structuré.
  • Contrôler et ajuster régulièrement les stratégies : Évaluez l'efficacité de votre compression et de votre partitionnement au fur et à mesure que votre volume de données augmente. Examinez les tendances des requêtes, puis modifiez le schéma de partitionnement pour vous adapter à l'évolution de la charge de travail.

Conclusion

La mise en œuvre d'AWS Lake Formation et d'AWS Glue permet à l'organisation d'organiser, de sauvegarder et de traiter les données. Grâce aux mesures de sécurité étendues de Lake Formation et à l'automatisation de Glue, vous pouvez optimiser vos processus ETL, respecter toutes les politiques relatives à la gouvernance des données et fournir un accès facile aux données pour les utilisateurs, y compris les ingénieurs et les scientifiques des données.

Les avantages comprennent

  • Sécurité renforcée : Le contrôle d'accès fin avec LF-Tags garantit que les données sensibles ne sont accessibles qu'aux utilisateurs autorisés.
  • Automatisation : AWS Glue simplifie la préparation et la transformation des données, en réduisant les efforts manuels et les erreurs.
  • Évolutivité : Les autorisations dynamiques et la gestion des règles permettent une évolution transparente au fur et à mesure que les données augmentent.
  • Efficacité : L'optimisation du stockage et des performances d'interrogation grâce au partitionnement et à la compression permet de gagner du temps et de réduire les coûts.

Au fur et à mesure que vous approfondissez votre compréhension de l'intégration des données, il est essentiel de compléter votre apprentissage par des connaissances pratiques. Par exemple, la maîtrise des pipelines de données avec ETL et ELT en Python peut élever votre capacité à traiter et transformer efficacement les données. De même, une bonne maîtrise des concepts de gestion des données vous permettra d'améliorer la façon dont vous structurez et traitez les ensembles de données. Pour garantir la fiabilité de vos résultats, il est indispensable de comprendre les principes enseignés dans le cours Introduction à la qualité des données.

FAQ

Quel est l'objectif de l'intégration d'AWS Lake Formation et d'AWS Glue ?

En mettant en œuvre AWS Lake Formation et AWS Glue, il est possible de développer des pipelines de données sécurisés, automatisés et évolutifs. Cette intégration permet un contrôle d'accès complet, des processus ETL rationalisés et une plateforme unifiée de gestion des données, d'analyse et de conformité.

Quelle est l'importance des LF-Tags dans la formation d'AWS Lake ?

Les étiquettes LF permettent de gérer les autorisations au sens large puisque, grâce à elles, les données sont organisées selon certaines taxonomies, par exemple "sensible" ou "non sensible". Ils contribuent à réduire la complexité des politiques d'accès, car vous pouvez définir des autorisations basées sur des balises, et ce avant que les ressources ne soient effectivement créées, ce qui offre un certain niveau de flexibilité et de sécurité.

Quel est le rôle d'AWS Glue Studio dans cette intégration ?

AWS Glue Studio est un outil de conversion de données doté d'une interface de type "glisser-déposer". Cette interface permet aux utilisateurs de développer, de surveiller et de contrôler les travaux ETL. Il rend les processus de transformation des données plus efficaces et permet ainsi de transformer les données en vue d'une analyse plus approfondie.

Plusieurs équipes peuvent-elles accéder au même ensemble de données en toute sécurité ?

Oui, AWS Lake Formation offre la possibilité d'un contrôle d'accès très fin où vous pouvez accorder aux utilisateurs l'accès à des rôles spécifiques ou même à des LF-Tags. Ainsi, chaque équipe ne pourra consulter que les données qui la concernent et les données elles-mêmes seront protégées.

Quel est l'ensemble de données PTC mentionné dans l'article ?

L'ensemble de données PTC est un ensemble de données synthétiques largement disponible à des fins de formation, d'évaluation comparative et d'enseignement. Il contient des informations sur divers produits, clients, données démographiques, ventes en ligne et autres données liées aux transactions, ce qui le rend plus réaliste.


Rahul Sharma's photo
Author
Rahul Sharma
LinkedIn
Twitter

Rahul Sharma est ambassadeur AWS, architecte DevOps et blogueur technique spécialisé dans le cloud computing, les pratiques DevOps et les technologies open-source. Avec une expertise dans AWS, Kubernetes et Terraform, il simplifie les concepts complexes pour les apprenants et les professionnels à travers des articles et des tutoriels engageants. Rahul est passionné par la résolution des défis DevOps et par le partage des connaissances afin d'aider la communauté technologique.

Sujets

Apprenez-en plus sur AWS grâce à ces cours !

Certification disponible

cours

Concepts de la technologie et des services du cloud AWS

3 hr
6.5K
Maîtrisez la technologie cloud AWS grâce à un apprentissage pratique et des applications concrètes dans l'écosystème AWS.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow