Tous les produits
Search
Centre de documentation

E-MapReduce:Synchroniser des données

Dernière mise à jour :Aug 09, 2026

Ce tutoriel vous guide pour ajouter des sources de données à DataWorks, configurer des tâches de synchronisation par lots et utiliser des nœuds E-MapReduce (EMR) Hive afin de créer des tables et d'interroger les données synchronisées.

Dans ce tutoriel, vous allez :

  1. Ajouter trois sources de données (HttpFile, MySQL, OSS) à un espace de travail DataWorks

  2. Créer un flux de travail comprenant deux nœuds de synchronisation par lots

  3. Configurer les nœuds pour synchroniser les données utilisateur et les journaux d'accès vers OSS

  4. Créer des tables externes EMR Hive mappées aux données OSS

  5. Exécuter le flux de travail et vérifier les résultats à l'aide de requêtes ponctuelles

Nœuds créés dans ce tutoriel :

Nom du nœud Type Objectif
workshop_start_emr Nœud Zero-Load Déclenche le flux de travail quotidiennement
ods_user_info_d_2oss_emr Synchronisation hors ligne Synchronise les données utilisateur MySQL vers OSS
ods_raw_log_d_2oss_emr Synchronisation hors ligne Synchronise les journaux d'accès HttpFile vers OSS
ods_user_info_d_emr EMR Hive Crée une table externe pour les données utilisateur
ods_raw_log_d_emr EMR Hive Crée une table externe pour les journaux d'accès

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

Étape 1 : Ajouter des sources de données

Ajoutez trois sources de données à votre espace de travail DataWorks : une source HttpFile pour les journaux d'accès au site web, une source MySQL pour les informations utilisateur et une destination OSS pour stocker les données synchronisées.

Ajouter une source de données HttpFile

  1. Accédez à la page Data Sources.

    1. Connectez-vous à la console DataWorks. Dans la barre de navigation supérieure, sélectionnez la région souhaitée. Dans le volet de navigation de gauche, choisissez More > Management Center. Sur la page qui s'affiche, sélectionnez votre espace de travail dans la liste déroulante et cliquez sur Go to Management Center.

    2. Dans le volet de navigation de gauche de la page SettingCenter, cliquez sur Data Sources.

  2. Dans le coin supérieur gauche de la page Data Sources, cliquez sur Add Data Source. Dans la boîte de dialogue Add Data Source, cliquez sur HttpFile.

  3. Sur la page Add HttpFile Data Source, configurez les paramètres suivants. Utilisez les valeurs d'exemple pour les environnements de développement et de production.

    Paramètre Valeur
    Data Source Name user_behavior_analysis_httpfile
    Data Source Description Cette source de données est en lecture seule dans les scénarios de synchronisation de données. Elle sert de source pour une tâche de synchronisation par lots afin d'accéder aux données de test fournies.
    URL https://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com
  4. Recherchez un groupe de ressources souhaité et cliquez sur Test Network Connectivity dans les colonnes Connection Status (Development Environment) et Connection Status (Production Environment).

    Important

    Au moins un groupe de ressources doit afficher l'état Connected. Sinon, vous ne pourrez pas utiliser l'interface sans code pour configurer une tâche de synchronisation de données pour cette source de données.

  5. Cliquez sur Complete Creation.

Ajouter une source de données MySQL

  1. Dans le volet de navigation de gauche de la page SettingCenter, cliquez sur Data Sources. Dans le coin supérieur gauche, cliquez sur Add Data Source.

  2. Dans la boîte de dialogue Add Data Source, sélectionnez MySQL.

  3. Sur la page Add MySQL Data Source, configurez les paramètres suivants. Utilisez les valeurs d'exemple pour les deux environnements.

    Paramètre Valeur
    Data Source Name user_behavior_analysis_mysql
    Data Source Description Cette source de données est en lecture seule dans les scénarios de synchronisation de données. Elle sert de source pour une tâche de synchronisation par lots afin d'accéder aux données de test fournies.
    Configuration Mode Connection String Mode
    Connection Address Adresse IP de l'hôte : rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com ; Port : 3306
    Database Name workshop
    Username workshop
    Password workshop#2017
    Authentication Method No Authentication
  4. Recherchez un groupe de ressources souhaité et cliquez sur Test Network Connectivity dans les colonnes Connection Status (Development Environment) et Connection Status (Production Environment).

  5. Cliquez sur Complete Creation.

Ajouter une source de données OSS

Cette source de données OSS sert de destination pour les deux tâches de synchronisation : les informations utilisateur provenant de MySQL et les journaux d'accès provenant de HttpFile y sont écrits.

  1. Dans le volet de navigation de gauche de la page SettingCenter, cliquez sur Data Sources. Dans le coin supérieur gauche, cliquez sur Add Data Source.

  2. Dans la boîte de dialogue Add Data Source, sélectionnez OSS.

  3. Sur la page Add OSS Data Source, configurez les paramètres suivants.

    Important

    La clé secrète AccessKey n'est affichée qu'au moment de la création. Si elle est perdue ou compromise, supprimez la paire de clés et créez-en une nouvelle.

    Paramètre Valeur
    Data Source Name test_g
    Access Mode AccessKey Mode
    AccessKey ID Votre ID AccessKey. Accédez à la page AccessKey pour le copier.
    AccessKey secret Votre clé secrète AccessKey.
    Endpoint http://oss-cn-shanghai-internal.aliyuncs.com
    Bucket dw-emr-demo (le bucket que vous avez créé lors de la préparation de l'environnement)
  4. Recherchez un groupe de ressources souhaité et cliquez sur Test Network Connectivity dans les colonnes Connection Status (Development Environment) et Connection Status (Production Environment).

    Remarque

    Au moins un groupe de ressources doit afficher l'état Connected. Sinon, vous ne pourrez pas utiliser l'interface sans code pour configurer une tâche de synchronisation de données pour cette source de données.

  5. Cliquez sur Complete Creation.

Étape 2 : Créer le flux de travail

  1. Sur la page Data Sources, cliquez sur l'icône 图标 dans le coin supérieur gauche et choisissez All Products > Data Development And Task Operation > DataStudio.

  2. Dans le volet Scheduled Workflow, cliquez avec le bouton droit sur Business Flow et sélectionnez Create Workflow.

  3. Dans la boîte de dialogue Create Workflow, définissez Workflow Name sur workshop_emr et cliquez sur Create.

  4. Double-cliquez sur le nouveau flux de travail pour ouvrir son onglet de configuration. Créez les nœuds suivants :

    1. Cliquez sur Create Node et faites glisser Zero-Load Node depuis la section General vers le canevas. Définissez Name sur workshop_start_emr et cliquez sur Confirm.

    2. Cliquez sur Create Node et faites glisser Offline synchronization depuis la section Data Integration vers le canevas. Créez deux nœuds de synchronisation par lots : ods_raw_log_d_2oss_emr (pour les journaux HttpFile) et ods_user_info_d_2oss_emr (pour les données utilisateur MySQL). Cliquez sur Confirm pour chacun d'eux.

  5. Sur le canevas du flux de travail, tracez des lignes directionnelles pour faire de workshop_start_emr le nœud ancêtre des deux nœuds de synchronisation par lots.

    image

Étape 3 : Configurer les nœuds

Configurer le nœud déclencheur du flux de travail

Le nœud zero-load workshop_start_emr déclenche l'exécution quotidienne du flux de travail.

  1. Dans le volet Scheduled Workflow, double-cliquez sur le nœud workshop_start_emr. Dans le volet droit de l'onglet de configuration du nœud, cliquez sur Properties.

  2. Configurez les propriétés de planification.

    Section Paramètre
    Schedule Définissez l'heure de planification sur 00:30. Définissez Rerun sur Allow Regardless of Running Status.
    Scheduling dependencies Définissez workshop_start_emr comme descendant du nœud racine de l'espace de travail (nommé Workspace name_root). Le nœud racine déclenche l'exécution de workshop_start_emr .
  3. Cliquez sur l'icône 保存 pour enregistrer.

Configurer les nœuds de synchronisation par lots

Synchroniser les données utilisateur MySQL vers OSS (ods_user_info_d_2oss_emr)

  1. Sur la page DataStudio, double-cliquez sur ods_user_info_d_2oss_emr pour ouvrir la page de configuration du nœud.

  2. Définissez la source, le groupe de ressources et la destination, puis cliquez sur Next et terminez le test de connectivité.

    Paramètre Valeur
    Source MySQL — Nom de la source de données : user_behavior_analysis_mysql
    Resource Group Votre groupe de ressources serverless
    Destination OSS — Nom de la source de données : test_g
  3. Configurez les détails de la synchronisation.

    Paramètre Valeur
    Source: Table ods_user_info_d
    Source: Split key uid (type INTEGER ; utilisez une clé primaire ou une colonne indexée)
    Destination: Text type text
    Destination: Object Name (Path Included) ods_user_info_d/user_${bizdate}/user_${bizdate}.txtods_user_info_d est le dossier dans le bucket OSS ; ${bizdate} est remplacé par la date du jour précédent au moment de l'exécution (par exemple, 20191106 lorsque le flux de travail s'exécute le 7 novembre 2019).
    Destination: Column Delimiter `

    `

  4. Cliquez sur Properties dans le volet droit et configurez les paramètres de planification.

    Section Paramètre
    Scheduling Parameter Cliquez sur Add Parameter. Définissez Parameter Name sur bizdate et Parameter Value sur $[yyyymmdd-1].
    Schedule Définissez Rerun sur Allow Regardless of Running Status.
    Dependencies Confirmez que la table de sortie suit le format Workspace name.Node name .
  5. Cliquez sur l'icône 保存 pour enregistrer.

Synchroniser les journaux d'accès HttpFile vers OSS (ods_raw_log_d_2oss_emr)

  1. Sur la page DataStudio, double-cliquez sur ods_raw_log_d_2oss_emr pour ouvrir la page de configuration du nœud.

  2. Définissez la source, le groupe de ressources et la destination, puis cliquez sur Next et terminez le test de connectivité.

    Paramètre Valeur
    Source HttpFile — Nom de la source de données : user_behavior_analysis_httpfile
    Resource Group Votre groupe de ressources serverless
    Destination OSS — Nom de la source de données : test_g
  3. Configurez les détails de la synchronisation.

    Paramètre Valeur
    Source: File Path /user_log.txt
    Source: Text type text
    Source: Column Delimiter `

    `

    Source: Compression format None
    Source: Skip Header No
    Destination: Text type text
    Destination: Object Name (Path Included) ods_raw_log_d/log_${bizdate}/log_${bizdate}.txtods_raw_log_d est le dossier dans le bucket OSS ; ${bizdate} est remplacé par la date du jour précédent au moment de l'exécution.
    Destination: Column Delimiter `

    `

  4. Cliquez sur Properties dans le volet droit et configurez les paramètres de planification.

    Section Paramètre
    Scheduling Parameter Cliquez sur Add Parameter. Définissez Parameter Name sur bizdate et Parameter Value sur $[yyyymmdd-1].
    Schedule Définissez Rerun sur Allow Regardless of Running Status.
    Dependencies Confirmez que la table de sortie suit le format Workspace name.Node name .
  5. Cliquez sur l'icône 保存 pour enregistrer.

Créer des tables EMR Hive

Créez deux tables externes EMR Hive — ods_user_info_d_emr et ods_raw_log_d_emr — qui pointent vers les dossiers OSS où les données synchronisées sont stockées.

  1. Dans le volet Scheduled Workflow, cliquez sur le flux de travail workshop_emr, cliquez avec le bouton droit sur EMR et choisissez Create Node > EMR Hive.

  2. Créez deux nœuds EMR Hive : ods_user_info_d_emr et ods_raw_log_d_emr . Tracez des lignes de dépendance afin que les deux nœuds EMR Hive s'exécutent après la fin des nœuds de synchronisation par lots.

    image

  3. Configurez et exécutez chaque nœud EMR Hive. ods_user_info_d_emr — table des informations utilisateur Double-cliquez sur le nœud ods_user_info_d_emr et saisissez le code SQL suivant :

    Remarque

    Le chemin LOCATION doit correspondre à la valeur Object Name (Path Included) définie dans le nœud ods_user_info_d_2oss_emr . dw-emr-demo est le nom du bucket OSS que vous avez créé lors de la préparation de l'environnement. ${bizdate} est remplacé par la date du jour précédent au moment de l'exécution.

    Remarque

    Le chemin LOCATION doit correspondre à la valeur Object Name (Path Included) définie dans le nœud ods_raw_log_d_2oss_emr . dw-emr-demo est le nom du bucket OSS que vous avez créé lors de la préparation de l'environnement.

    Section Paramètre
    Scheduling Parameter Définissez Parameter Name sur bizdate et Parameter Value sur $[yyyymmdd-1].
    Schedule Définissez Rerun sur Allow Regardless of Running Status.
    Dependencies Confirmez que la table de sortie suit le format Workspace name.Node name .
    Resource Group Sélectionnez votre groupe de ressources serverless.
    CREATE EXTERNAL TABLE IF NOT EXISTS ods_user_info_d_emr
    (
        `uid` STRING COMMENT 'The user ID',
        `gender` STRING COMMENT 'The gender',
        `age_range` STRING COMMENT 'The age range',
        `zodiac` STRING COMMENT 'The zodiac sign'
    ) PARTITIONED BY (
      dt STRING
    )
    ROW FORMAT delimited fields terminated by '|'
    LOCATION 'oss://dw-emr-demo/ods_user_info_d/';
    
    ALTER TABLE ods_user_info_d_emr ADD IF NOT EXISTS PARTITION (dt='${bizdate}')
    LOCATION 'oss://dw-emr-demo/ods_user_info_d/user_${bizdate}/';

    Cliquez sur Properties dans le volet droit et configurez les paramètres de planification : Cliquez sur l'icône image pour enregistrer et exécuter. ods_raw_log_d_emr — table des journaux d'accès Double-cliquez sur le nœud ods_raw_log_d_emr et saisissez le code SQL suivant :

    -- Create the table used to store website access logs.
    CREATE EXTERNAL TABLE IF NOT EXISTS ods_raw_log_d_emr
    (
      `col` STRING
    ) PARTITIONED BY (
      dt STRING
    );
    ALTER TABLE ods_raw_log_d_emr ADD IF NOT EXISTS PARTITION (dt='${bizdate}')
    LOCATION 'oss://dw-emr-demo/ods_raw_log_d/log_${bizdate}/';

    Appliquez les mêmes paramètres de planification que ci-dessus, puis enregistrez et exécutez.

Étape 4 : Exécuter le flux de travail et vérifier les résultats

Exécuter le flux de travail

  1. Sur la page DataStudio, double-cliquez sur le flux de travail workshop_emr sous Business Flow. Dans l'onglet de configuration du flux de travail, cliquez sur l'icône image.png dans la barre d'outils. Le flux de travail exécute tous les nœuds selon l'ordre des dépendances.

  2. Vérifiez l'état des nœuds.

    • Les nœuds dans l'état image.png s'exécutent normalement.

    • Si les nœuds affichent l'état image avec l'erreur "java.net.ConnectException: Connection timed out (Connection timed out)", ajoutez une règle de groupe de sécurité dans la console ECS : autorisez le port 10000 et définissez Authorization Object sur le bloc CIDR du vSwitch. Pour trouver le bloc CIDR, accédez à la page Resource Groups, recherchez votre groupe de ressources et cliquez sur Network Settings > VPC Binding. Consultez Ajouter une règle de groupe de sécurité.

Vérifier les résultats

  1. Dans le volet de navigation de gauche de la page DataStudio, cliquez sur l'icône image.png. Dans le volet Ad Hoc Query, cliquez avec le bouton droit sur Ad Hoc Query et choisissez Create Node > EMR Hive.

  2. Exécutez les requêtes suivantes pour confirmer que les données ont été écrites avec succès. Remplacez <data_timestamp> par la date du jour précédent au format yyyymmdd . Par exemple, si le flux de travail s'est exécuté le 7 novembre 2019, utilisez 20191106 .

    SELECT * FROM ods_user_info_d_emr WHERE dt=<data_timestamp>;
    SELECT * FROM ods_raw_log_d_emr WHERE dt=<data_timestamp>;
  3. Pour afficher les journaux d'exécution, cliquez avec le bouton droit sur le nœud ods_user_info_d_emr ou ods_raw_log_d_emr et sélectionnez View Logs. Une synchronisation réussie se présente comme suit :

    image.png

Étapes suivantes

Maintenant que vous avez synchronisé les données dans OSS et les avez rendues interrogables via des tables EMR Hive, passez au tutoriel suivant pour calculer et analyser les données. Consultez Traiter les données.