DataWorks vous permet de créer et d'ordonnancer des pipelines de données massives 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 l'ordonnancement périodique et surveillez les jobs depuis Operation Center — le tout depuis une seule console.
Fonctionnement
Alibaba Cloud propose EMR on ECS, EMR on ACK et EMR Serverless StarRocks afin de répondre aux exigences métier de différents utilisateurs.
Le développement sur DataWorks s'articule autour de trois étapes :
Configuration — Achetez l'édition DataWorks et le groupe de ressources adaptés, créez un cluster EMR et enregistrez-le dans votre espace de travail.
Développement — Concevez et planifiez les nœuds EMR dans DataStudio. Utilisez Data Integration pour transférer les 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 appliquez des règles de qualité des données via Data Quality.
Types de clusters pris en charge
Limites
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 Workspace Administrator dans DataWorks et de la stratégie
AliyunEMRFullAccessUn utilisateur RAM ou un rôle RAM disposant à la fois des stratégies
AliyunDataWorksFullAccessetAliyunEMRFullAccess
Pour plus de détails, consultez Accorder des autorisations à un utilisateur RAM.
Disponibilité régionale
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 exclusifs pour l'ordonnancement (hérité).
Linéage des données
Seules les tâches SQL dans les nœuds EMR Hive, EMR Spark et EMR Spark SQL génèrent un linéage des données :
| Version du cluster | Prise en charge du linéage |
|---|---|
| 5.9.1, 3.43.1 ou ultérieure (Hive et Spark SQL) | Linéage au niveau de la table et des champs |
| 5.8.0, 3.42.0 ou ultérieure (nœuds de type Spark) | Linéage au niveau de la table et des champs |
| Antérieure à 5.8.0 ou 3.42.0 (nœuds de type Spark) | Linéage au niveau de la table (Spark 2.x uniquement) |
Pour utiliser la gestion des métadonnées pour 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 linéage des données n'est pas disponible dans DataWorks. EMR-HOOK prend en charge uniquement les services EMR Hive et EMR Spark SQL. Consultez 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 Protocol Type sur Custom UDP .
Pour Port Range , vérifiez
/etc/krb5.confdans le cluster EMR pour obtenir le port KDC.Définissez 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 RAM ou un rôle disposant des autorisations requises pour enregistrer un cluster EMR (consultez la section Autorisations ci-dessus)
DataWorks activé et un espace de travail créé — consultez Achat et Gérer les espaces de travail
Un cluster EMR créé — consultez Créer un cluster. Reportez-vous à la section Suggestions de configuration des clusters EMR pour sélectionner les services appropriés pour votre cluster.
Un groupe de ressources serverless DataWorks acheté — consultez Utiliser des groupes de ressources serverless. Les groupes de ressources serverless prennent en charge à la fois la synchronisation des données et l'ordonnancement 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 ancien groupe de ressources exclusif, vous pouvez toujours l'utiliser pour exécuter des tâches EMR. Utilisez un groupe de ressources exclusif pour Data Integration pour les tâches de synchronisation des données, et un groupe de ressources exclusif pour l'ordonnancement des tâches d'ordonnancement. Consultez Utiliser les anciens groupes de ressources .
Facturation
Lorsque vous exécutez des tâches EMR dans DataWorks, les frais proviennent de deux sources.
Comprenez la structure des coûts avant de créer des ressources. Les frais liés aux clusters 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 d'ordonnancement | L'achat d'un groupe de ressources serverless ou exclusif pour l'ordonnancement 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 d'ordonnancement. Un groupe de ressources serverless couvre à la fois l'ordonnancement des tâches et la synchronisation des données. |
Pour une ventilation complète des éléments facturables de DataWorks, consultez Vue d'ensemble de la facturation.
Frais liés aux autres services Alibaba Cloud
Les frais suivants apparaissent sur des factures séparées des 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 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 essentielles : migration des données, développement des tâches, ordonnancement 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 d'anciens groupes de ressources exclusifs pour exécuter des tâches EMR. | Utiliser des groupes de ressources serverless / Utiliser les anciens groupes de ressources |
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 démarrer 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 l'ordonnancement 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 : accès aux données et fonctionnalités du 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 correctes au niveau du cluster. Consultez 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 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 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 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 Contrôle des autorisations des modules au niveau de l'espace de travail.
Premiers pas
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 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 du 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 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 les 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 pilotés par les événements | Nœud HTTP Trigger, nœud d'inspection d'objets OSS, nœud FTP Check |
| Transmission 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 |
| Autre | 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'objets 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 avoir développé les nœuds, les étapes suivantes typiques sont :
Configurer les propriétés d'ordonnancement — Définissez les dépendances et les paramètres d'ordonnancement pour activer l'exécution périodique. Consultez Vue d'ensemble des propriétés d'ordonnancement.
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 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 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 d'ordonnancement sur plusieurs nœuds. Consultez Opérations groupées.
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 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. Les fonctionnalités clés incluent le diagnostic intelligent, les réexécutions de tâches et la surveillance des lignes de base pour garantir que les tâches critiques se terminent à temps. Consultez 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 d'ordonnancement. 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 Vue d'ensemble de Data Quality.
Gouvernance des données
Une fois que vous avez 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 du Security Center / Vue d'ensemble de Data Security Guard / Vue d'ensemble de l'Approval Center |
| Data Governance Center | Identifie automatiquement les problèmes de gouvernance sur plusieurs dimensions en fonction de règles de bonnes pratiques, et fournit des actions de gouvernance préventives et correctives. | Vue d'ensemble du Data Governance Center |
Pour une vue d'ensemble des problèmes détectés et des actions disponibles, consultez Vue d'ensemble du 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 les 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 applicatifs à DataWorks par programmation en utilisant les fonctionnalités suivantes :
| Module | Description | Référence |
|---|---|---|
| OpenAPI | Appelez les opérations API DataWorks pour automatiser les workflows de données massives, 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 points d'extension et personnaliser les processus DataWorks. | Vue d'ensemble des extensions |
Suggestions de configuration des clusters 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 Gestion de la mémoire Spark.
Seuls les nœuds EMR Hive, EMR Spark et EMR Spark SQL génèrent un linéage des données. Les nœuds EMR Hive prennent en charge à la fois le linéage au niveau de la table et au niveau de la colonne. Les nœuds EMR basés sur Spark prennent en charge uniquement le linéage au niveau de la table.
HDFS
Ajustez les paramètres suivants en fonction de l'échelle de votre cluster :
hadoop_namenode_heapsizehadoop_datanode_heapsizehadoop_secondary_namenode_heapsizehadoop_namenode_opts