DataWorks vous permet de concevoir et d'orchestrer des pipelines de big data sur des clusters E-MapReduce (EMR) sans écrire de scripts en ligne de commande. Créez des nœuds Hive, MapReduce (MR), Presto, Spark SQL et d'autres types dans DataStudio, activez la planification périodique et surveillez les jobs depuis Operation Center, le tout via une console unique.
Fonctionnement
Alibaba Cloud propose EMR on ECS, EMR on ACK et EMR Serverless StarRocks afin de répondre aux exigences métier variées des utilisateurs.
Le développement sur DataWorks s'articule autour de trois étapes :
Configuration — Achetez l'édition DataWorks et le groupe de ressources appropriés, créez un cluster EMR et enregistrez-le dans votre espace de travail.
Développement — Concevez et planifiez des nœuds EMR dans DataStudio. Utilisez Data Integration pour transférer des données vers et depuis EMR Hive.
Exploitation — Surveillez les tâches planifiées dans Operation Center, gérez les métadonnées dans Data Map et garantissez la qualité des données grâce aux règles Data Quality.
Types de clusters pris en charge
Limitations
Autorisations
Seules les identités suivantes peuvent enregistrer un cluster EMR dans DataWorks :
Un compte Alibaba Cloud (compte racine)
Un utilisateur RAM ou un rôle RAM disposant du rôle Administrateur de l'espace de travail DataWorks et de la stratégie
AliyunEMRFullAccessUn utilisateur RAM ou un rôle RAM disposant des stratégies
AliyunDataWorksFullAccessetAliyunEMRFullAccess
Pour plus de détails, consultez la rubrique Accorder des autorisations à un utilisateur RAM.
Disponibilité par région
EMR Serverless Spark est disponible dans les régions suivantes : Chine (Hangzhou), Chine (Shanghai), Chine (Pékin), Chine (Shenzhen), Chine (Chengdu), Chine (Hong Kong), Japon (Tokyo), Singapour, Indonésie (Jakarta), Allemagne (Francfort) et États-Unis (Virginie).
Restrictions relatives aux types de tâches
DataWorks ne prend pas en charge les tâches EMR Flink.
Exécutez les tâches EMR à l'aide de groupes de ressources serverless (recommandé) ou de groupes de ressources dédiés pour la planification (hérité).
Lignage des données
Seules les tâches SQL des nœuds EMR Hive, EMR Spark et EMR Spark SQL génèrent un lignage des données :
| Version du cluster | Prise en charge du lignage |
|---|---|
| 5.9.1, 3.43.1 ou ultérieure (Hive et Spark SQL) | Lignage au niveau des tables et des champs |
| 5.8.0, 3.42.0 ou ultérieure (nœuds de type Spark) | Lignage au niveau des tables et des champs |
| Antérieure à 5.8.0 ou 3.42.0 (nœuds de type Spark) | Lignage au niveau des tables (Spark 2.x uniquement) |
Pour utiliser la gestion des métadonnées avec les clusters DataLake ou personnalisés, configurez d'abord EMR-HOOK sur le cluster. Sans EMR-HOOK, les métadonnées ne s'affichent pas en temps réel, les journaux d'audit ne sont pas générés et le lignage des données n'est pas disponible dans DataWorks. EMR-HOOK prend uniquement en charge les services EMR Hive et EMR Spark SQL. Consultez les rubriques Configurer EMR-HOOK pour Hive et Configurer EMR-HOOK pour Spark SQL.
Clusters Kerberos
Pour les clusters EMR avec authentification Kerberos activée, ajoutez une règle entrante au groupe de sécurité afin d'autoriser l'accès UDP depuis le bloc CIDR du vSwitch associé à votre groupe de ressources.
Pour identifier le groupe de sécurité et ajouter la règle :
Dans l'onglet Basic Information du cluster EMR, cliquez sur l'icône située à côté de Cluster Security Group pour ouvrir Security Group Details.
Dans la section Rule , cliquez sur Inbound , puis sélectionnez Add Rule .
Définissez le Protocol Type sur Custom UDP .
Pour la Port Range , vérifiez le port KDC dans le fichier
/etc/krb5.confdu cluster EMR.Définissez la Destination sur le bloc CIDR du vSwitch associé à votre groupe de ressources.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Un compte Alibaba Cloud avec un utilisateur ou un rôle RAM disposant des autorisations requises pour enregistrer un cluster EMR (voir la section Autorisations ci-dessus)
DataWorks activé et un espace de travail créé — consultez les rubriques Achat et Gérer les espaces de travail
Un cluster EMR créé — consultez la rubrique Créer un cluster. Reportez-vous à la section Suggestions de configuration de cluster EMR pour sélectionner les services appropriés pour votre cluster.
Un groupe de ressources serverless DataWorks acheté — consultez la rubrique Utiliser des groupes de ressources serverless. Les groupes de ressources serverless prennent en charge à la fois la synchronisation des données et la planification des tâches, ce qui les rend adaptés à la plupart des cas d'utilisation. Les nouveaux utilisateurs peuvent acheter uniquement des groupes de ressources serverless.
Si vous disposez d'un groupe de ressources dédié hérité, vous pouvez toujours l'utiliser pour exécuter des tâches EMR. Utilisez un groupe de ressources dédié pour Data Integration pour les tâches de synchronisation des données, et un groupe de ressources dédié pour la planification des tâches de planification. Consultez la rubrique Utiliser des groupes de ressources hérités .
Facturation
L'exécution de tâches EMR dans DataWorks engendre des frais provenant de deux sources.
Comprenez la structure des coûts avant de créer des ressources. Les frais de cluster EMR varient selon le type d'instance, la région et la durée d'exécution. Pour éviter des frais imprévus, supprimez les clusters et les groupes de ressources dont vous n'avez plus besoin.
Frais DataWorks
| Élément | Description |
|---|---|
| Édition DataWorks | L'activation des éditions Standard, Professional ou Enterprise entraîne des frais d'édition. |
| Groupe de ressources de planification | L'achat d'un groupe de ressources serverless ou dédié pour la planification entraîne des frais de groupe de ressources. |
| Groupe de ressources de synchronisation des données | Les tâches de synchronisation des données consomment des ressources de planification. Un groupe de ressources serverless couvre à la fois la planification des tâches et la synchronisation des données. |
Pour une ventilation complète des éléments facturables de DataWorks, consultez la rubrique Vue d'ensemble de la facturation.
Frais liés aux autres services Alibaba Cloud
Les frais suivants apparaissent sur des factures distinctes émises par les services Alibaba Cloud respectifs, et non sur votre facture DataWorks.
| Élément | Moment de la facturation |
|---|---|
| Frais de base de données | Lorsque les tâches de synchronisation des données lisent ou écrivent dans des bases de données. |
| Frais de calcul et de stockage | Lorsque les tâches s'exécutent sur un cluster EMR. Pour la facturation EMR, consultez la rubrique Facturation. |
| Frais de service réseau | Lorsque des connexions réseau sont établies entre DataWorks et d'autres services (par exemple, Express Connect ou Elastic IP Address). |
Préparation de l'environnement
Préparation des ressources
| Élément | Description | Références |
|---|---|---|
| Édition DataWorks | L'édition Basic couvre les opérations principales : migration des données, développement de tâches, planification EMR et gouvernance des données. Passez aux éditions Standard, Professional ou Enterprise pour bénéficier de fonctionnalités avancées de gouvernance et de sécurité. | Fonctionnalités par édition |
| Groupe de ressources | Utilisez des groupes de ressources serverless (recommandé) ou des groupes de ressources dédiés hérités pour exécuter des tâches EMR. | Utiliser des groupes de ressources serverless / Utiliser des groupes de ressources hérités |
Préparation de l'environnement de développement
Enregistrez un cluster EMR dans votre espace de travail DataWorks et ajoutez les membres de l'équipe avant de commencer le développement collaboratif.
| Élément | Description | Références |
|---|---|---|
| Environnement de synchronisation des données | Avant d'exécuter des tâches de synchronisation des données, ajoutez le service EMR en tant que source de données dans DataWorks. | Sources de données prises en charge |
| Environnement de développement et d'analyse des données | Enregistrez le cluster EMR en tant que source de données dans DataWorks pour activer le développement des données, l'analyse et la planification périodique. | Enregistrer un cluster EMR |
| Environnement de développement collaboratif | Pour permettre aux membres de l'équipe de développer conjointement des données dans un espace de travail : (1) Ajoutez des utilisateurs RAM à l'espace de travail et attribuez-leur le rôle Développement. (2) Ajoutez les membres de l'espace de travail au cluster EMR. | Autorisations au niveau de l'espace de travail / Gérer les utilisateurs OpenLDAP |
Gestion des autorisations
DataWorks propose une gestion des autorisations à deux niveaux : l'accès aux données et les fonctionnalités de service.
Autorisations d'accès aux données
Configurez les mappages entre les utilisateurs RAM et les comptes de cluster EMR afin que les membres de l'espace de travail disposent des autorisations appropriées au niveau du cluster. Consultez la rubrique Configurer le mappage d'identité du cluster.
Si Data Lake Formation (DLF) est votre service de stockage de métadonnées, gérez les autorisations d'accès aux données directement dans le Security Center de DataWorks, y compris les demandes d'autorisation, les approbations et les audits. Consultez la rubrique Contrôle d'accès aux données DLF.
Autorisations de service et de fonctionnalité
Attribuez des rôles au niveau de l'espace de travail aux utilisateurs RAM avant qu'ils ne commencent à développer des données. Pour une configuration guidée, consultez la rubrique Bonnes pratiques : Accorder des autorisations aux utilisateurs RAM.
Pour contrôler l'accès aux modules globaux de DataWorks (par exemple, restreindre l'accès à Data Map ou autoriser la suppression d'un espace de travail), consultez la rubrique Contrôle des autorisations des modules globaux.
Pour contrôler l'accès aux modules au niveau de l'espace de travail (par exemple, accorder l'accès à DataStudio ou restreindre Data Security Guard), consultez la rubrique Contrôle des autorisations des modules au niveau de l'espace de travail.
Prise en main
Intégration des données
Data Integration vous permet de lire et d'écrire des données dans EMR Hive. Ajoutez d'abord le service Hive en tant que source de données, puis configurez les pipelines de synchronisation. Les scénarios pris en charge incluent la synchronisation par lots, complète et incrémentielle. Consultez la rubrique Vue d'ensemble de Data Integration.
Modélisation et développement des données
Modélisation des données
La modélisation des données structure et gère de grands volumes de données non ordonnées en utilisant la méthodologie de milieu de données d'Alibaba. Elle couvre la planification de l'entrepôt de données, les normes de données, la modélisation dimensionnelle et les métriques de données, aidant ainsi les équipes à partager une compréhension commune des données métier. Consultez la rubrique Vue d'ensemble de la modélisation des données.
DataStudio
DataStudio est l'environnement de développement où vous créez, planifiez et déboguez des nœuds EMR sans utiliser d'outils en ligne de commande.
Types de nœuds EMR disponibles :
| Type de nœud | Guide de création |
|---|---|
| Nœud EMR Hive | Créer un nœud EMR Hive |
| Nœud EMR MR | Créer un nœud EMR MR |
| Nœud EMR Spark SQL | Créer un nœud EMR Spark SQL |
| Nœud EMR Spark | Créer un nœud EMR Spark |
| Nœud EMR Shell | Créer un nœud EMR Shell |
| Nœud EMR Presto | Créer un nœud EMR Presto |
| Nœud EMR Spark Streaming | Créer un nœud EMR Spark Streaming |
| Nœud EMR Kyuubi | Créer un nœud EMR Kyuubi |
| Nœud EMR Trino | Créer un nœud EMR Trino |
| Table EMR | Créer une table EMR |
| Ressource EMR | Créer une ressource EMR |
| Fonction EMR | Créer une fonction EMR |
Des types de nœuds polyvalents sont également disponibles pour une logique de workflow complexe :
| Catégorie | Types de nœuds |
|---|---|
| Contrôle du workflow | Nœud Zero load |
| Déclencheurs événementiels | Nœud HTTP Trigger, nœud d'inspection d'objet OSS, nœud FTP Check |
| Passage de paramètres | Nœud Assignment, nœud Parameter |
| Logique de boucle et de branchement | Nœud Do-while, nœud For-each, nœud Branch |
| Autres | Nœud Common Shell, nœud de base de données MySQL |
Consultez les guides de référence : Nœud Zero load, Nœud HTTP Trigger, Nœud d'inspection d'objet OSS, Nœud FTP Check, Nœud Assignment, Nœud Parameter, Logique des nœuds Do-while, Logique des nœuds For-each et Configurer un nœud Branch.
Après le développement des nœuds, les étapes suivantes sont généralement effectuées :
Configurer les propriétés de planification — Définissez les dépendances et les paramètres de planification pour activer l'exécution périodique. Consultez la rubrique Vue d'ensemble des propriétés de planification.
Déboguer les nœuds — Exécutez et validez les tâches avant le déploiement pour éviter de gaspiller des ressources de calcul. Consultez la rubrique Processus de débogage des tâches.
Déployer les nœuds — Déployez les tâches dans l'environnement de production afin qu'elles apparaissent dans Operation Center. Consultez la rubrique Publier des tâches.
Gérer les nœuds — Effectuez des opérations groupées telles que le déploiement, l'annulation du déploiement et la mise à jour des propriétés de planification sur plusieurs nœuds. Consultez la section Opérations par lot.
Appliquer des contrôles de processus — Imposez la révision du code, les tests de fumée et une logique de révision personnalisée pour garantir la précision du développement. Consultez la rubrique Contrôle du processus de développement.
Operation Center
Operation Center est la plateforme O&M de production où vous surveillez les tâches planifiées et résolvez les problèmes. Ses principales fonctionnalités incluent le diagnostic intelligent, la réexécution des tâches et la surveillance des lignes de base pour garantir que les tâches critiques se terminent à temps. Consultez la rubrique Effectuer des opérations O&M de base sur les tâches planifiées.
Data Quality
Data Quality surveille vos données tout au long du cycle de vie de développement en attachant des règles de qualité aux tâches de planification. Cela permet de détecter rapidement les problèmes de données et d'empêcher qu'ils n'affectent les systèmes en aval. Consultez la rubrique Vue d'ensemble de Data Quality.
Gouvernance des données
Après avoir enregistré un cluster EMR, DataWorks collecte automatiquement les métadonnées du cluster. Les modules suivants vous aident à gérer et à gouverner ces données :
| Module | Description | Référence |
|---|---|---|
| Data Map | Plateforme de gestion des métadonnées d'entreprise pour découvrir, rechercher et comprendre les actifs de données. | Vue d'ensemble de Data Map |
| Security Center / Data Security Guard / Approval Center | Plateforme de sécurité des données de bout en bout couvrant la classification des données, l'identification des données sensibles, la gestion des autorisations, le masquage des données, l'audit des accès et la réponse aux risques. | Vue d'ensemble de Security Center / Vue d'ensemble de Data Security Guard / Vue d'ensemble d'Approval Center |
| Data Governance Center | Identifie automatiquement les problèmes de gouvernance sur plusieurs dimensions basées sur des règles de bonnes pratiques, et fournit des actions de gouvernance préventives et correctives. | Vue d'ensemble de Data Governance Center |
Pour une vue d'ensemble des problèmes détectés et des actions disponibles, consultez la rubrique Vue d'ensemble de Data Governance Center.
Analyse et services de données
| Module | Description | Référence |
|---|---|---|
| DataAnalysis | Exécutez des requêtes SQL en ligne, créez des cartes graphiques à partir des résultats de requête et générez des rapports de données pour les rapports quotidiens. | Vue d'ensemble de DataAnalysis |
| DataService Studio | Gérez et exposez des services API pour les systèmes internes et externes dans un hub de services centralisé. | Vue d'ensemble de DataService Studio |
Open Platform
Intégrez vos systèmes d'application à DataWorks de manière programmatique en utilisant les fonctionnalités suivantes :
| Module | Description | Référence |
|---|---|---|
| OpenAPI | Appelez les opérations API DataWorks pour automatiser les workflows de big data, réduire les opérations manuelles et minimiser les risques liés aux données. | OpenAPI |
| OpenEvent | Abonnez-vous aux événements de changement DataWorks pour détecter et répondre aux changements d'espace de travail en temps réel. | Vue d'ensemble d'OpenEvent |
| Extensions | Enregistrez des programmes locaux en tant qu'extensions pour gérer les événements de point d'extension et personnaliser les processus DataWorks. | Vue d'ensemble des extensions |
Suggestions de configuration de cluster EMR
Ajustez les services EMR suivants avant d'exécuter des charges de travail de production dans DataWorks.
Kyuubi
Dans l'environnement de production, définissez :
kyuubi_java_opts: 10 Go ou pluskyuubi_beeline_opts: 2 Go ou plus
Spark
L'allocation mémoire par défaut pour Spark est faible. Ajustez les paramètres suivants en fonction de l'échelle de votre cluster :
spark.driver.memoryspark.driver.memoryOverheadspark.executor.memory
Transmettez les paramètres de mémoire via l'interface CLI spark-submit ou configurez-les dans le cluster. Pour toutes les options de configuration, consultez la rubrique Gestion de la mémoire Spark.
Seuls les nœuds EMR Hive, EMR Spark et EMR Spark SQL génèrent un lignage des données. Les nœuds EMR Hive prennent en charge le lignage au niveau des tables et des colonnes. Les nœuds EMR basés sur Spark ne prennent en charge que le lignage au niveau des tables.
HDFS
Ajustez les paramètres suivants en fonction de l'échelle de votre cluster :
hadoop_namenode_heapsizehadoop_datanode_heapsizehadoop_secondary_namenode_heapsizehadoop_namenode_opts