La solution de lac de données EMR+DLF combine E-MapReduce (EMR) et Data Lake Formation (DLF) pour offrir une gestion centralisée des métadonnées et des autorisations pour les lacs de données. Elle prend également en charge la gestion du cycle de vie des données, l'optimisation automatique du format de lac et l'analyse du stockage. Vous pouvez écrire des données provenant de diverses sources dans des lacs de données et procéder à une exploration des données complète.
Contexte
Par rapport à la solution traditionnelle de lac de données EMR, la solution EMR+DLF présente les avantages suivants :
-
DLF fournit un service de métadonnées unifié, entièrement géré et sans maintenance opérationnelle pour les lacs de données multi-moteurs.
Gestion visualisée des métadonnées avec prise en charge des versions multiples et restauration.
Migration simplifiée et visualisée des métadonnées.
Recherche de métadonnées en texte intégral.
Profilage des métadonnées, incluant la taille des fichiers, le nombre de lignes, la fréquence d'accès, le nombre de petits fichiers, la popularité des fichiers et le nombre de fichiers valides.
Prise en charge de moteurs de calcul supplémentaires au-delà des moteurs open source disponibles dans EMR, tels que MaxCompute, Flink et Hologres.
-
DLF prend en charge une gestion fine des autorisations d'accès aux données.
Gestion visualisée et granulaire des autorisations pour les ressources telles que les catalogues de données, les bases de données, les colonnes de données et les fonctions.
Intégration avec plusieurs moteurs de calcul dans EMR, tels que Spark, Hive, Presto et Impala.
-
Fonctionnalités riches de gestion des lacs de données.
Gestion multidimensionnelle du cycle de vie des données. Les données peuvent être automatiquement archivées en fonction de leur popularité et de leur date de mise à jour afin de réduire les coûts de stockage.
Politiques d'optimisation automatique du stockage pour le format Delta Lake afin de réduire les coûts de stockage.
Architecture

Informations complémentaires
Pour obtenir la liste des régions prises en charge par DLF, consultez Data Lake Formation : Régions et endpoints pris en charge.
Pour plus d'informations sur la facturation de DLF, consultez Modes de facturation.
Procédure
Étape 1 : Créer un cluster EMR DataLake
Lors de la création d'un cluster EMR DataLake, vous devez sélectionner DLF Unified Metadata pour le paramètre Metadata.
Connectez-vous à la console EMR. Dans le volet de navigation de gauche, cliquez sur EMR on ECS.
-
Sur la page EMR on ECS, cliquez sur Create Cluster. Sur la page E-MapReduce on ECS, configurez les paramètres suivants.
Business Scenario : Sélectionnez Data Lake.
Optional Services (Select One At Least) : Le service Hive est requis. Vous pouvez sélectionner d'autres services selon vos besoins métier.
Metadata : Sélectionnez DLF Unified Metadata.
DLF Catalog : Utilisez le catalogue DLF par défaut ou créez-en un nouveau. Si DLF n'est pas activé, vous serez invité à l'activer au préalable.
Suivez les instructions à l'écran. Pour plus d'informations, consultez Créer un cluster.
Étape 2 : Initialiser les métadonnées
Utilisez l'une des méthodes suivantes pour initialiser les métadonnées en fonction de votre scénario.
Si les métadonnées d'un cluster EMR sont stockées dans une base de données MySQL intégrée ou dans une base de données ApsaraDB RDS auto-gérée, vous devez migrer les métadonnées vers DLF. Pour plus d'informations, consultez Meilleures pratiques pour la migration des métadonnées EMR vers DLF.
-
S'il n'existe aucune métadonnée historique dans un cluster EMR nouvellement créé, vous pouvez utiliser DLF pour créer des métadonnées via une interface visuelle, ou utiliser Hive ou Spark SQL pour créer des bases de données et des tables de données.
Connectez-vous à la console DLF. Dans la barre de navigation supérieure, sélectionnez la région où Object Storage Service (OSS) est activé, par exemple Chine (Hangzhou).
Dans le volet de navigation de gauche, choisissez .
Cliquez sur l'onglet Database. Sur cet onglet, cliquez sur Create Database.
Sur la page Create Database, configurez les paramètres et cliquez sur OK.
Si les données d'un cluster EMR nouvellement créé sont stockées dans OSS et qu'aucune métadonnée n'est disponible, vous pouvez utiliser la fonctionnalité de découverte de métadonnées de DLF pour extraire les métadonnées depuis OSS vers DLF. Pour plus d'informations, consultez Démarrage rapide : Analyse du comportement des utilisateurs Taobao.
Étape 3 : Initialiser les données
Utilisez l'une des méthodes suivantes pour initialiser les données en fonction de votre scénario :
Si vous souhaitez migrer les données d'un cluster EMR existant, vous pouvez utiliser Jindo DistCp pour migrer les données du cluster vers OSS.
Si vous souhaitez importer des données depuis des systèmes de service tels que RDS, MySQL et Kafka, vous pouvez utiliser Realtime Compute for Apache Flink pour importer les données dans DLF. Pour plus d'informations, consultez Gérer les catalogues DLF-Legacy.
Étape 4 : Interroger les données d'une table DLF spécifique à l'aide de Spark ou Presto
Connectez-vous au nœud maître -1-1 du cluster EMR en mode SSH. Pour plus d'informations, consultez Se connecter à un cluster.
-
Utilisez Spark SQL pour interroger les données d'une table spécifique.
-
Exécutez la commande suivante pour démarrer Spark SQL :
spark-sql -
Exécutez l'instruction suivante pour interroger les données de la table :
SELECT * FROM <database>.<table>;
-
-
Utilisez Presto pour interroger les données d'une table spécifique.
-
Exécutez la commande suivante pour démarrer Presto CLI :
presto --server master-1-1:8889 -
Exécutez l'instruction suivante pour interroger les données de la table :
SELECT * FROM <catalog>.<database>.<table>;Paramètres de l'instruction précédente
Parameter
Description
<catalog>
Le nom de la source de données à laquelle vous souhaitez vous connecter.
Vous pouvez exécuter la commande show catalogs; pour afficher tous les catalogues. Vous pouvez également consulter tous les catalogues dans l'onglet Configure de la page du service Presto dans la console EMR.
<database>
Le nom de la base de données que vous souhaitez interroger.
<table>
Le nom de la table que vous souhaitez interroger.
Par exemple, si vous souhaitez interroger les données de la table test dans la base de données default de Hive, vous pouvez exécuter l'instruction SELECT * FROM hive.default.test;.
-
(Facultatif) Étape 5 : Activer la gestion des autorisations d'accès aux données
Si votre activité exige un niveau élevé de sécurité des données et une gestion appropriée des autorisations pour les lacs de données, suivez les étapes ci-dessous pour activer la gestion des autorisations :
Activez la gestion des autorisations DLF pour votre cluster EMR. Pour plus d'informations, consultez DLF-Auth.
Activez la gestion des autorisations pour vos catalogues de données dans DLF. Pour plus d'informations, consultez Configurer les autorisations.
Une fois la gestion des autorisations configurée, elle s'applique à toutes les données de votre cluster EMR. Les utilisateurs doivent disposer des autorisations nécessaires pour accéder aux données du cluster.
Pour savoir comment accorder des autorisations aux utilisateurs, consultez Autorisation des données. Pour plus d'informations, consultez Contrôle d'accès unifié avec DLF et EMR.
(Facultatif) Étape 6 : Mettre en œuvre la gestion du cycle de vie
La fonctionnalité de gestion du cycle de vie vous permet de configurer des règles de gestion des données pour les bases de données et les tables d'un lac de données. Vous pouvez convertir régulièrement la classe de stockage des données dans OSS en fonction de la partition, de la date de création de la table, de la dernière modification ou de la valeur de partition. Cela permet de réduire les coûts de stockage des données. Pour plus d'informations, consultez Gestion du cycle de vie.