Catalogage des données d’un lakehouse
Pour fournir un accès transparent à l’ensemble de la plate-forme, il est nécessaire de disposer d’un serveur de catalogue solide
Utilisation d’AWS Glue comme catalogue pour Databricks
Pour découvrir les données de tous vos services, vous avez besoin d’un catalogue solide pour pouvoir trouver et accéder aux données. Le service AWS Glue est un metastore Hive serverless compatible avec Apache qui vous permet de partager facilement des métadonnées de table entre AWS services, applications ou comptes AWS . Databricks et Delta Lake sont intégrés à AWS Glue pour découvrir les données de votre organisation, enregistrer des données dans Delta Lake et découvrir des données entre les instances Databricks.
Avantages
Databricks est pré-intégré à AWS Glue
Simple
Simplifie la gestion en utilisant le même catalogue AWS Glue sur plusieurs Databricks Espace de travail.
Sécuriser
Sécurité intégrée à l’aide de l’Identity and Access Management Credential Pass-Through pour les métadonnées dans AWS Glue. Pour plus d’informations, consultez les blogsDatabricks présentant Databricks AWS IAM Credential Pass-Through.
Collaborative
Facilite l’accès aux métadonnées dans les services Amazon et au catalogue de données dans AWS Glue.
Intégration de Databricks Delta Lake avec les services principaux d’AWS
Cette implémentation de référence illustre la position unique de l’intégration de Databricks Delta Lake avec AWS services de base pour vous aider à résoudre vos défis data lake les plus complexes. Delta Lake fonctionne au-dessus de S3 et est intégré à Amazon Kinesis, AWS Glue, Amazon Athena, Amazon Redshift et Amazon QuickSight, pour n’en citer que quelques-uns.
Si vous êtes nouveau à Delta Lake, vous pouvez en savoir plus ici.
Prise en charge d’Amazon athena et presto pour le lac delta
Lorsqu’une table externe est définie dans le Hive metastore à l’aide de fichiers manifestes, Presto et Amazon Athena peuvent utiliser la liste des fichiers du fichier manifeste plutôt que de rechercher les fichiers par liste de répertoires. Ces tables peuvent être interrogées de la même manière que les tables dont les données sont stockées dans des formats tels que Parquet.
Intégration de Databricks à AWS Glue
Étape 1
Comment configurer un cluster Databricks pour accéder au catalogue AWS Glue
Lancer
Lancez d’abord les Databricks clusters de calcul avec le rôle AWS Glue Catalog IAM nécessaire. Les exigences en matière de rôle et de stratégie IAM sont clairement décrites étape par étape dans la documentation Databricks AWS Glue as Metastore.
Dans cet exemple, créez un rôle AWS IAM appelé Field_Glue_Role, qui dispose également d’un accès délégué à mon compartiment S3. Attachez le rôle à la configuration des clusters, comme illustré dans la vidéo de démonstration.
Mettre à jour
Ensuite, les propriétés de configurationSpark de la configuration des clusters doivent être définies avant le démarrage des clusters, comme indiqué dans la vidéo sur la mise à jour.
Découvrez comment mettre à jour les clusters Databricks Spark Propriétés de configuration
Étape 2
Configurer la base de données AWS Glue à l’aide d’un Databricks Notebook
Joindre
Avant de créer une base de données AWS Glue, attachez les clusters à votre Notebook, créé à l’étape précédente, et testez votre configuration à l’aide de la commande illustrée ici.
Valider
Vérifiez ensuite que la même liste de bases de données s’affiche à l’aide de la console AWS Glue et répertoriez les bases de données.
Vérifier
Créez une nouvelle base de données AWS Glue directement à partir de la Notebook et vérifiez que la nouvelle base de données AWS Glue a été créée avec succès en réémettant le SHOW DATABASES. La base de données AWS Glue peut également être consultée via le volet de données.
Étape 3
Créer une table Delta Lake et un fichier manifeste à l’aide du même metastore
Créer et cataloguer
Créez et cataloguez le tableau directement à partir de la Notebook dans le AWS Glue data catalog. Reportez-vous à la section Remplissage de la AWS Glue data catalog pour la création et le catalogage de tables à l’aide de robots d’exploration.
L’ensemble de données de démonstration ici provient d’un site de recommandation de films appelé MovieLens, qui comprend des classifications de films. Créez un DataFrame avec ce code Python .
S'INSCRIRE
Enregistrez ensuite le DataFrame en tant que table temporaire et accédez-y à l’aide de cette commande SQL.
Delta Lake
Créez maintenant une table Delta Lake à l’aide de la table temporaire créée à l’étape précédente et de cette commande SQL.
Note: Il est très facile de créer une table Delta Lake, comme décrit dans le Guide de démarrage rapide de Delta Lake
Génération d’un manifeste pour Amazon Athena
Générez maintenant le fichier manifeste requis par Amazon Athena en procédant comme suit.
1. Générez des manifestes en exécutant cette méthode Scala. N’oubliez pas de préfixer la cellule avec %scala si vous avez créé un Python, SQL ou R Notebook.
2. Créez une table dans le Hive metastore connecté à Athena à l’aide du format spécial SymlinkTextInputFormat et de l’emplacement du fichier manifeste.
Dans l’exemple de code, le fichier manifeste est créé dans l’emplacement du fichier s3a ://aws-airlifts/movies_delta/_symlink_format_manifest/.
Étape 4
Interroger la table Delta Lake à l’aide d’Amazon Athena
Amazon Athéna
Athena est un service serverless qui n’a besoin d’aucune infrastructure pour être géré et maintenu. Par conséquent, vous pouvez interroger la table Delta sans avoir besoin d’un Databricks clusters en cours d’exécution.
Dans la console Amazon Athena, sélectionnez la base de données, puis prévisualisez la table comme indiqué dans la vidéo.
Conclusion
L’intégration de AWS Glue fournit une puissante stratégie de metastore serverless pour toutes les entreprises utilisant l’écosystème AWS . Améliorez la fiabilité du lac de données grâce à Delta Lake et fournissez un accès aux données transparent et serverless en intégrant Amazon Athena. Le lakehouse de Databricks Plateforme alimente la stratégie data lake sur AWS qui permet aux analystes de données, aux ingénieurs de données et aux data scientists d’obtenir un accès aux données performant et fiable.