Tous les produits
Search
Centre de documentation

DataWorks:Tutoriel : analyse des catégories de produits

Dernière mise à jour :Aug 10, 2026

DataWorks est une plateforme unifiée et complète de développement et de gouvernance du Big Data, alimentée par des moteurs de traitement tels que MaxCompute, Hologres, E-MapReduce (EMR), AnalyticDB et CDP. Elle prend en charge les architectures d'entrepôt de données, de data lake et de lakehouse. Ce tutoriel vous explique comment ingérer des données, orchestrer des workflows métier, planifier des tâches périodiques et créer des visualisations de données avec DataWorks.

Prise en main

Ce tutoriel s'appuie sur un scénario de commerce électronique pour illustrer la construction d'un pipeline de données de bout en bout, depuis l'ingestion des données brutes jusqu'à leur analyse et leur visualisation. En suivant cette procédure standardisée, vous pourrez rapidement mettre en place des workflows de données réutilisables qui garantissent une planification fiable et une observabilité opérationnelle. Cette approche permet aux utilisateurs métier de transformer les données en informations exploitables sans expertise technique approfondie et facilite l'adoption des applications Big Data au sein de votre organisation.

Dans ce tutoriel, vous allez :

  1. Synchronisation des données : utilisez le module Data Integration de DataWorks pour créer une tâche par lot portant sur une seule table afin de synchroniser les données métier vers une plateforme de calcul Big Data, telle que MaxCompute.

  2. Nettoyage des données : utilisez le module Data Studio de DataWorks pour traiter, analyser et exploiter les données métier.

  3. Visualisation des données : utilisez le module Data Analysis de DataWorks pour convertir les résultats d'analyse en graphiques faciles à comprendre pour les utilisateurs métier.

  4. Planification périodique : configurez la planification périodique pour les processus de synchronisation et de nettoyage des données.

image

Dans ce tutoriel, vous utiliserez le workflow suivant pour générer un classement quotidien des catégories de produits les plus vendues, en synchronisant et en analysant les données brutes de produits et de commandes issues d'une source de données publique vers MaxCompute :

image

Prérequis

Pour suivre ce tutoriel, vous devez disposer d'un compte Alibaba Cloud ou d'un utilisateur RAM disposant de l'autorisation AliyunDataWorksFullAccess. Pour plus d'informations, consultez les rubriques Préparation d'un compte Alibaba Cloud ou Préparation d'un utilisateur RAM.

Remarque

DataWorks propose un système complet de gestion des autorisations qui prend en charge le contrôle d'accès au niveau des produits et des modules. Si vous avez besoin d'un contrôle d'accès plus fin, consultez la rubrique Vue d'ensemble du système de gestion des autorisations DataWorks.

Prérequis

Activer DataWorks

Ce tutoriel utilise la région China (Shanghai) pour illustrer la prise en main de DataWorks. Vous devez vous connecter à la console DataWorks, basculer vers la région China (Shanghai) et vérifier si DataWorks est activé.

Remarque

Sélectionnez une région en fonction de l'emplacement de vos données métier :

  • Si vos données métier sont hébergées sur d'autres services Alibaba Cloud, sélectionnez la même région que ces services.

  • Si votre activité est sur site et nécessite un accès via le réseau public, sélectionnez la région la plus proche de vous afin de réduire la latence.

Nouveaux utilisateurs

Si vous découvrez DataWorks, la page suivante s'affiche, indiquant que DataWorks n'est pas encore activé dans la région actuelle. Cliquez sur Purchase Product Portfolio for Free.

image

  1. Configurez les paramètres sur la page d'achat.

    Paramètre

    Description

    Exemple

    Region

    Sélectionnez la région dans laquelle vous souhaitez activer DataWorks.

    Chine (Shanghai)

    DataWorks edition

    Sélectionnez l'édition DataWorks que vous souhaitez acheter.

    Remarque

    Ce tutoriel utilise l'Basic Edition à titre d'exemple. Toutes les éditions prennent en charge les fonctionnalités couvertes par ce tutoriel. Pour plus d'informations, consultez la rubrique Éditions et fonctionnalités de DataWorks afin de choisir l'édition la mieux adaptée à vos besoins métier.

    Basic Edition

  2. Cliquez sur Confirm Order and Pay pour finaliser le paiement.

Activé mais expiré

Si vous avez précédemment activé DataWorks dans la région China (Shanghai) mais que le service a expiré, l'invite suivante s'affiche. Cliquez sur Purchase Edition.

image

  1. Configurez les paramètres sur la page d'achat.

    Paramètre

    Description

    Exemple

    Edition

    Sélectionnez l'édition DataWorks que vous souhaitez acheter.

    Remarque

    Ce tutoriel utilise l'Basic Edition à titre d'exemple. Toutes les éditions prennent en charge les fonctionnalités couvertes par ce tutoriel. Pour plus d'informations, consultez la rubrique Éditions et fonctionnalités de DataWorks afin de choisir l'édition la mieux adaptée à vos besoins métier.

    Basic Edition

    Region

    Sélectionnez la région dans laquelle vous souhaitez activer DataWorks.

    Chine (Shanghai)

  2. Cliquez sur Buy Now pour finaliser le paiement.

Important

Si vous ne trouvez pas l'édition DataWorks que vous avez achetée, essayez les solutions suivantes :

  • Attendez quelques minutes et actualisez la page, car un délai système peut survenir.

  • Vérifiez que la région actuelle correspond à celle dans laquelle vous avez acheté l'édition DataWorks. Si les régions ne correspondent pas, l'édition ne s'affichera pas.

Déjà activé

Si vous avez déjà activé DataWorks dans la région China (Shanghai), la page de présentation de DataWorks s'affiche. Vous pouvez passer à l'étape suivante.

Créer un espace de travail

  1. Accédez à la page Liste des espaces de travail DataWorks, basculez vers la région China (Shanghai) et cliquez sur Create Workspace.

  2. Sur la page Create Workspace, saisissez un Workspace Name personnalisé, activez l'option Use Data Studio (New Version) puis cliquez sur Create Workspace.

    Remarque

    À partir du 18 février 2025, pour un compte Alibaba Cloud créant son premier espace de travail DataWorks dans la région Chine (Shanghai), la nouvelle version de Data Studio est activée par défaut. Par conséquent, le paramètre Use Data Studio (New Version) n'est pas affiché.

Configurer un groupe de ressources

  1. Accédez à la page Liste des groupes de ressources DataWorks, basculez vers la région China (Shanghai) et cliquez sur Create Resource Group.

  2. Sur la page d'achat du groupe de ressources, configurez les paramètres suivants.

    Paramètre

    Description

    Resource group name

    Saisissez un nom personnalisé.

    VPC, vSwitch

    Sélectionnez un VPC et un vSwitch existants. S'il n'y en a aucun dans la région actuelle, cliquez sur le lien de la console dans la description du paramètre pour les créer.

    service-linked role

    Suivez les instructions à l'écran pour créer le rôle lié au service AliyunServiceRoleForDataWorks.

  3. Cliquez sur Buy Now pour finaliser le paiement.

  4. Accédez à la page Liste des groupes de ressources DataWorks, basculez vers la région China (Shanghai), repérez le groupe de ressources que vous avez créé et cliquez sur Associate Workspace dans la colonne Actions.

  5. Sur la page Associate Workspace, repérez l'espace de travail DataWorks que vous avez créé et cliquez sur Associate dans sa colonne Actions.

Activer l'accès au réseau public

Ce tutoriel utilise des données de test de commerce électronique publiques accessibles via le réseau public. Par défaut, le groupe de ressources créé à l'étape précédente ne dispose pas d'un accès au réseau public. Vous devez configurer une passerelle NAT Internet et ajouter une adresse IP élastique (EIP) pour le Virtual Private Cloud (VPC) associé au groupe de ressources afin d'activer l'accès au réseau public et de récupérer les données.

  1. Connectez-vous à la console VPC - Passerelle NAT Internet. Dans la barre de navigation supérieure, basculez vers la région China (Shanghai) et cliquez sur Create Internet NAT Gateway. Configurez les paramètres suivants.

    Remarque

    Vous pouvez conserver les valeurs par défaut pour les paramètres non répertoriés dans le tableau.

    Paramètre

    Valeur

    Region

    Chine (Shanghai).

    Network and zone

    Sélectionnez le VPC et le vSwitch associés au groupe de ressources.

    Vous pouvez trouver le VPC et le vSwitch sur la page Liste des groupes de ressources DataWorks. Basculez vers la région China (Shanghai), repérez le groupe de ressources et cliquez sur Network Settings dans la colonne Actions. Vous trouverez les champs VPC Binding et vSwitch dans la section Data Scheduling & Data Integration. Pour plus d'informations sur les VPC, consultez la rubrique Qu'est-ce qu'un Virtual Private Cloud ?.

    Network type

    Passerelle NAT Internet.

    Elastic IP address (EIP)

    Sélectionnez l'option pour acheter une nouvelle EIP.

    Create service-linked role

    Si vous créez une passerelle NAT Internet pour la première fois, créez un rôle lié au service en cliquant sur Create service-linked role.

  2. Cliquez sur Buy Now pour finaliser le paiement et créer l'instance de passerelle NAT Internet.

    image

  3. Après avoir créé l'instance de passerelle NAT Internet, revenez à la console et créez une entrée SNAT pour celle-ci.

    Remarque

    Le groupe de ressources ne peut accéder au réseau public via ce VPC qu'après la configuration d'une entrée SNAT.

    1. Dans la colonne Actions de la nouvelle instance, cliquez sur Manage, puis sur l'onglet Configure SNAT.

    2. Sur la liste SNAT Entry List, cliquez sur Create SNAT Entry et configurez les paramètres clés suivants :

      Paramètre

      Valeur

      Entrée SNAT

      Sélectionnez Specify VPC pour garantir que tous les groupes de ressources au sein du VPC de la passerelle NAT Internet peuvent accéder au réseau public en utilisant l'EIP configurée.

      Sélectionner EIP

      Sélectionnez l'EIP liée à l'instance de passerelle NAT Internet actuelle.

      Une fois les paramètres de l'entrée SNAT configurés, cliquez sur OK pour la créer.

    Sur la liste SNAT Entry List, lorsque le Status de la nouvelle entrée SNAT passe à Available, le VPC associé au groupe de ressources dispose d'un accès au réseau public.

Configurer la ressource MaxCompute

Dans ce tutoriel, vous allez créer un projet MaxCompute et l'associer en tant que ressource de calcul DataWorks. Vous utiliserez cette ressource pour ingérer des données et effectuer des analyses Big Data.

  1. Accédez à la page Liste des espaces de travail DataWorks, basculez vers la région China (Shanghai), repérez l'espace de travail que vous avez créé et cliquez sur son nom pour accéder à la page Workspace Details.

  2. Dans le volet de navigation de gauche, cliquez sur Computing Resource, puis sur Associate Computing Resource et sélectionnez le type MaxCompute. Configurez les paramètres clés suivants pour créer un projet MaxCompute et l'associer en tant que ressource de calcul DataWorks.

    Remarque

    Vous pouvez conserver les valeurs par défaut pour les paramètres non répertoriés dans le tableau.

    Paramètre

    Description

    MaxCompute project

    Dans la liste déroulante, cliquez sur Create et configurez les paramètres suivants :

    • Project name : saisissez un nom personnalisé unique à l'échelle mondiale.

    • Billing method : sélectionnez Pay-as-you-go.

      Remarque

      Si l'option Pay-as-you-go n'est pas disponible, cliquez sur Activate à côté pour activer le service MaxCompute.

    • Default quota : sélectionnez un quota existant dans la liste déroulante.

    Default access identity

    Sélectionnez Alibaba Cloud account.

    Computing resource instance name

    Vous utiliserez ce nom pour sélectionner la ressource de calcul lors de l'exécution d'une tâche. Utilisez un nom descriptif, tel que MaxCompute_Source.

  3. Cliquez sur OK.

Procédure

Ce tutoriel illustre les fonctionnalités principales de DataWorks à travers un exemple concret.

Imaginez une plateforme de commerce électronique qui stocke ses informations sur les produits et les commandes dans une base de données MySQL. L'objectif consiste à analyser ces données périodiquement et à visualiser le classement quotidien des catégories de produits les plus vendues.

Étape 1 : Synchroniser les données

Créer une source de données

Dans cette étape, créez une source de données MySQL pour vous connecter à la base de données source du tutoriel.

Remarque

Vous n'avez pas besoin de préparer vos propres données métier. DataWorks met à disposition un jeu de données exemple dans une base de données MySQL publique pour ce tutoriel. Créez une source de données MySQL pour vous y connecter.

  1. Accédez à la page DataWorks Management Center. Sélectionnez la région China East 2 (Shanghai), choisissez votre Workspace dans la liste déroulante, puis cliquez sur Go to Management Center.

  2. Dans le volet de navigation de gauche, cliquez sur Data Sources pour accéder à la page Data Source List. Cliquez sur Add Data Source, sélectionnez le type MySQL et configurez les paramètres de la source de données.

    Remarque
    • Vous pouvez conserver les valeurs par défaut pour les paramètres non mentionnés dans le tableau.

    • Lors de l'ajout d'une source de données pour la première fois, vous devez effectuer une cross-service authorization. Suivez les instructions à l'écran pour attribuer le rôle lié au service AliyunDIDefaultRole.

    Parameter

    Description

    Data Source Name

    Pour ce tutoriel, saisissez MySQL_Source.

    Configuration Mode

    Sélectionnez Connection String Mode.

    Endpoint

    • Host Address IP : rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com

    • Port : 3306

    Important

    Les données de ce tutoriel sont destinées à la pratique de DataWorks. Elles servent uniquement à des fins de test et sont en lecture seule dans le module Data Integration.

    Database Name

    Saisissez retail_e_commerce.

    Username

    Saisissez workshop.

    Password

    Saisissez workshop#2017.

  3. Dans la section Connection Configuration, basculez vers l'onglet Data Integration. Localisez le groupe de ressources associé à votre workspace et cliquez sur Test Network Connectivity dans la colonne Connectivity Status.

    Remarque

    Si le test de connectivité de la source de données MySQL échoue, effectuez les actions suivantes :

    • Suivez les étapes indiquées dans l'outil de diagnostic de connectivité.

    • Vérifiez si une adresse IP élastique (EIP) est configurée pour le VPC associé au groupe de ressources. La source de données MySQL nécessite un accès au réseau public pour le groupe de ressources. Pour plus d'informations, consultez la rubrique Activer l'accès au réseau public pour un groupe de ressources.

  4. Cliquez sur Complete Creation.

Construire un pipeline de synchronisation

Dans cette étape, construisez un pipeline de synchronisation pour transférer les données de produits et de commandes du commerce électronique vers des tables MaxCompute afin de les traiter ultérieurement.

  1. Cliquez sur l'icône 图标 située en haut à gauche, puis sélectionnez All Products > Data Development and O&M > DataStudio (Data Development) pour accéder à la page DataStudio.

  2. En haut de la page, basculez vers votre Workspace. Dans le volet de navigation de gauche, cliquez sur image pour accéder à la page DataStudio.

  3. Dans la section Workspace Directories, cliquez sur image, sélectionnez Create Workflow et nommez-le dw_quickstart.

  4. Sur le canevas du workflow, faites glisser un nœud Zero Load et deux nœuds Batch Synchronization depuis le panneau de gauche vers le canevas. Configurez les nœuds Batch Synchronization comme suit :

    • Data Source Type : MySQL

    • Data Destination Type : MaxCompute

    • Specific Type : Batch Synchronization Node

    Le tableau ci-dessous répertorie les noms des nœuds et leurs fonctions pour ce tutoriel :

    Node type

    Node name

    Function

    image Zero Load

    workshop

    Sert de point d'entrée au workflow pour définir un flux de données clair. Il s'agit d'une tâche Dry-run qui ne nécessite aucun code.

    image Batch Synchronization Node

    ods_item_info

    Synchronise la table source des informations produit item_info depuis MySQL vers la table ods_item_info dans MaxCompute.

    image Batch Synchronization Node

    ods_trade_order

    Synchronise la table source des informations de commande trade_order depuis MySQL vers la table ods_trade_order dans MaxCompute.

    Reliez les nœuds par glisser-déposer, en faisant du nœud workshop le nœud amont des deux nœuds Batch Synchronization. Le résultat final doit ressembler à ceci :

    image
  5. Configurez la planification du workflow.

    À droite du canevas du workflow, cliquez sur Scheduling et configurez les paramètres. Le tableau suivant décrit les paramètres clés pour ce tutoriel. Utilisez les valeurs par défaut pour tous les autres paramètres.

    Scheduling parameter

    Description

    Scheduling Parameters

    Définissez les paramètres de planification pour l'ensemble du workflow. Ces paramètres peuvent être utilisés directement par les nœuds au sein du workflow.

    Pour ce tutoriel, définissez-le sur bizdate=$[yyyymmdd-1] afin d'obtenir la date de la veille.

    Remarque

    DataWorks propose des paramètres de planification permettant d'utiliser des valeurs dynamiques dans votre code. Vous pouvez définir des variables dans votre code SQL en utilisant le format ${variable_name} et leur attribuer des valeurs dans Scheduling > Scheduling Parameters. Pour connaître les formats de paramètres pris en charge, consultez la rubrique Formats des paramètres de planification.

    Scheduling Cycle

    Pour ce tutoriel, définissez-le sur Daily.

    Scheduling Time

    Pour ce tutoriel, définissez l'Scheduling Time sur 00:30. Le workflow démarrera chaque jour à 00:30.

    Scheduling Dependencies

    Ce workflow n'a aucune dépendance amont, vous pouvez donc laisser ce paramètre non configuré. Pour une gestion unifiée, vous pouvez cliquer sur Use Workspace Root Node pour associer le workflow au nœud racine du workspace.

    Le nœud racine du workspace est nommé selon le format WorkspaceName_root.

Configurer les tâches de synchronisation

Nœud initial

  1. Sur le canevas du workflow, survolez le nœud workshop et cliquez sur Open Node.

  2. À droite de l'éditeur du nœud workshop, cliquez sur Scheduling et configurez les paramètres. Le tableau suivant décrit les paramètres clés pour ce tutoriel. Vous pouvez conserver les valeurs par défaut pour les autres paramètres.

    Scheduling parameter

    Description

    Scheduling Type

    Pour ce tutoriel, définissez-le sur Dry-run.

    Resource Group

    Pour ce tutoriel, sélectionnez le groupe de ressources serverless créé dans la rubrique Créer un groupe de ressources et l'associer à un workspace.

    Node Dependency Configuration

    Comme workshop est le nœud initial et ne possède aucune dépendance amont, vous pouvez cliquer sur Use Workspace Root Node pour que le workflow soit déclenché par le nœud racine du workspace.

    Le nœud racine du workspace est nommé selon le format WorkspaceName_root.

  3. Cliquez sur Save dans la barre d'outils du nœud pour enregistrer ce dernier.

Synchronisation des informations produit (ods_item_info)

  1. Sur le canevas du workflow, survolez le nœud ods_item_info et cliquez sur Open Node.

  2. Configurez la source de données et le groupe de ressources.

    Parameter

    Description

    Source

    Source de données : MySQL_Source.

    Destination

    Source de données : Sélectionnez la ressource de calcul MaxCompute associée dans la rubrique Créer et associer une ressource de calcul MaxCompute. Cet exemple utilise MaxCompute_Source.

    Resource Group

    Sélectionnez le groupe de ressources serverless acheté dans la rubrique Créer un groupe de ressources et l'associer à un workspace.

  3. Configurez les paramètres de synchronisation.

    1. Configure the Data Source and destination

      Remarque

      Vous pouvez conserver les valeurs par défaut pour les paramètres non mentionnés dans le tableau.

      Configuration area

      Parameter

      Description

      Data Source

      Table

      item_info.

      Data Destination

      Table

      Cliquez sur Generate Destination Table Schema pour créer rapidement une table MaxCompute. Collez l'instruction suivante dans la zone Table Creation Statement et cliquez sur Create Table. Cette table reçoit les informations produit provenant de la source de données.

      Table Creation SQL

      CREATE TABLE IF NOT EXISTS ods_item_info(
        `id`                              BIGINT COMMENT '',
        `cate_id`                         BIGINT COMMENT '',
        `cate_name`                       STRING COMMENT '',
        `commodity_id`                    BIGINT COMMENT '',
        `commodity_name`                  STRING COMMENT '',
        `desc_path`                       STRING COMMENT '',
        `duration`                        BIGINT COMMENT '',
        `features`                        STRING COMMENT '',
        `gmt_create`                      DATETIME COMMENT '',
        `gmt_modified`                    DATETIME COMMENT '',
        `is_deleted`                      BIGINT COMMENT '',
        `is_virtual`                      STRING COMMENT '',
        `item_id`                         BIGINT COMMENT '',
        `item_status`                     BIGINT COMMENT '',
        `last_offline_time`               DATETIME COMMENT '',
        `last_online_quantity`            BIGINT COMMENT '',
        `last_online_time`                DATETIME COMMENT '',
        `pict_url`                        STRING COMMENT '',
        `reserve_price`                   DECIMAL(38,18) COMMENT '',
        `secure_trade_ems_post_fee`       DECIMAL(38,18) COMMENT '',
        `secure_trade_fast_post_fee`      DECIMAL(38,18) COMMENT '',
        `secure_trade_ordinary_post_fee`  DECIMAL(38,18) COMMENT '',
        `shop_id`                         BIGINT COMMENT '',
        `shop_nick`                       STRING COMMENT '',
        `sub_title`                       STRING COMMENT '',
        `title`                           STRING COMMENT ''
      )
      COMMENT ''
      PARTITIONED BY (pt STRING) 
      lifecycle 36500;

      Partition Information

      Pour ce tutoriel, saisissez ${bizdate}. Cette variable utilise une valeur constante pour les tests et une valeur dynamique pour les exécutions planifiées. Pour plus d'informations sur les formats de variables et leur configuration dans DataStudio, consultez la rubrique Paramètres de planification.

    2. Confirmez les paramètres Field Mapping et Channel Control.

      DataWorks mappe les champs source vers leurs champs de destination correspondants. Vous pouvez également configurer des paramètres tels que la simultanéité des tâches et la stratégie relative aux données erronées dans le panneau Channel Control situé à droite. Pour ce tutoriel, définissez la Policy for Dirty Data Records sur Disallow Dirty Data Records et conservez les autres paramètres par défaut. Pour plus d'informations, consultez la rubrique Configurer un nœud de synchronisation par lots en mode Assistant.

  4. Cliquez sur Save dans la barre d'outils du nœud pour enregistrer ce dernier.

Synchronisation des données de commande (ods_trade_order)

  1. Sur le canevas du workflow, survolez le nœud ods_trade_order et cliquez sur Open Node.

  2. Configurez la source de données et le groupe de ressources.

    Parameter

    Description

    Source

    Source de données : MySQL_Source.

    Destination

    Source de données : Sélectionnez la ressource de calcul MaxCompute associée dans la rubrique Créer et associer une ressource de calcul MaxCompute. Cet exemple utilise MaxCompute_Source.

    Resource Group

    Sélectionnez le groupe de ressources serverless acheté dans la rubrique Créer un groupe de ressources et l'associer à un workspace.

  3. Cliquez sur Next pour configurer la tâche de synchronisation.

    1. Configure the Data Source and destination

      Remarque

      Vous pouvez conserver les valeurs par défaut pour les paramètres non mentionnés dans le tableau.

      Configuration area

      Parameter

      Description

      Data Source

      Table

      trade_order

      Data Destination

      Table

      Cliquez sur Generate Destination Table Schema pour créer rapidement une table MaxCompute. Collez l'instruction suivante dans la zone Table Creation Statement et cliquez sur Create Table. Cette table reçoit les informations produit provenant de la source de données.

      Table Creation SQL

      CREATE TABLE IF NOT EXISTS ods_trade_order(
        `id`                BIGINT COMMENT '',
        `biz_type`          BIGINT COMMENT '',
        `buy_amount`        BIGINT COMMENT '',
        `buyer_id`          BIGINT COMMENT '',
        `buyer_memo`        STRING COMMENT '',
        `buyer_nick`        STRING COMMENT '',
        `end_time`          DATETIME COMMENT '',
        `gmt_create`        DATETIME COMMENT '',
        `gmt_modified`      DATETIME COMMENT '',
        `ip`                STRING COMMENT '',
        `is_parent`         BIGINT COMMENT '',
        `is_sub`            BIGINT COMMENT '',
        `item_id`           BIGINT COMMENT '',
        `item_price`        DECIMAL(38,18) COMMENT '',
        `logistics_status`  BIGINT COMMENT '',
        `memo`              STRING COMMENT '',
        `parent_order_id`   BIGINT COMMENT '',
        `pay_status`        BIGINT COMMENT '',
        `pay_time`          DATETIME COMMENT '',
        `seller_memo`       STRING COMMENT '',
        `shop_id`           BIGINT COMMENT '',
        `status`            BIGINT COMMENT '',
        `sub_order_id`      BIGINT COMMENT '',
        `total_fee`         DECIMAL(38,18) COMMENT ''
      )
      COMMENT ''
      PARTITIONED BY (pt STRING) 
      lifecycle 36500;

      Partition Information

      Pour ce tutoriel, saisissez ${bizdate}. Cette variable utilise une valeur constante pour les tests et une valeur dynamique pour les exécutions planifiées. Pour plus d'informations sur les formats de variables et leur configuration dans DataStudio, consultez la rubrique Paramètres de planification.

    2. Confirmez les paramètres Field Mapping et Channel Control.

      DataWorks mappe les champs source vers leurs champs de destination correspondants. Vous pouvez également configurer des paramètres tels que la simultanéité des tâches et la stratégie relative aux données erronées dans le panneau Channel Control situé à droite. Pour ce tutoriel, définissez la Policy for Dirty Data Records sur Disallow Dirty Data Records et conservez les autres paramètres par défaut. Pour plus d'informations, consultez la rubrique Configurer un nœud de synchronisation par lots en mode Assistant.

  4. Cliquez sur Save dans la barre d'outils du nœud pour enregistrer ce dernier.

Étape 2 : Nettoyer et traiter les données

Après avoir synchronisé les données vers MaxCompute, utilisez le module DataStudio pour nettoyer, traiter et analyser les tables ods_item_info et ods_trade_order afin de générer un classement quotidien des catégories de produits les plus vendues.

Construire un pipeline de traitement des données

  1. Dans le volet de navigation de gauche de DataStudio, cliquez sur image pour accéder à la page DataStudio. Dans la section Workspace Directories, recherchez et cliquez sur le workflow que vous avez créé. Sur le canevas du workflow, faites glisser des nœuds MaxCompute SQL depuis le panneau de gauche et nommez-les en conséquence.

    Le tableau suivant présente les exemples de noms de nœuds et leurs fonctions pour ce tutoriel :

    Type de nœud

    Nom du nœud

    Fonction

    image MaxCompute SQL

    dim_item_info

    Traite les données produit issues de la table ods_item_info pour créer la table de dimension dim_item_info.

    image MaxCompute SQL

    dwd_trade_order

    Nettoie et transforme les données transactionnelles de la table ods_trade_order afin de générer la table de faits dwd_trade_order.

    image MaxCompute SQL

    dws_daily_category_sales

    Agrège les données détaillées nettoyées et standardisées des tables dwd_trade_order et dim_item_info pour produire le récapitulatif quotidien des ventes par catégorie de produits, stocké dans la table dws_daily_category_sales.

    image MaxCompute SQL

    ads_top_selling_categories

    Génère le classement quotidien des catégories de produits les plus vendues, ads_top_selling_categories, à partir de la table dws_daily_category_sales.

  2. Faites glisser les éléments pour connecter les nœuds et configurez leurs dépendances en amont. Le résultat final doit ressembler à ceci :

    image
    Remarque

    Vous pouvez définir les dépendances en connectant manuellement les nœuds ou en activant l'analyse automatique du code contenu dans chaque nœud. Ce tutoriel utilise la méthode de connexion manuelle. Pour plus d'informations sur l'analyse automatique, consultez la section Analyse automatique des dépendances.

Configurer les nœuds de traitement des données

Nœud dim_item_info

Ce nœud traite les données de dimension produit provenant de la table ods_item_info afin de générer la table de dimension d'informations sur les produits, dim_item_info.

  1. Sur le canevas du flux de travail, placez le curseur sur le nœud dim_item_info et cliquez sur Open Node.

  2. Collez le code suivant dans l'éditeur de nœud.

    CREATE TABLE IF NOT EXISTS dim_item_info (
        gmt_modified                   STRING COMMENT 'Product last modified date',
        gmt_create                     STRING COMMENT 'Product creation time',
        item_id                        BIGINT COMMENT 'Product numeric ID',
        title                          STRING COMMENT 'Product title',
        sub_title                      STRING COMMENT 'Product subtitle',
        pict_url                       STRING COMMENT 'URL of the main picture',
        desc_path                      STRING COMMENT 'Path of the product description',
        item_status                    BIGINT COMMENT 'Product status: 1 = approved, 0 = not approved',
        last_online_time               DATETIME COMMENT 'Most recent time the product went on sale',
        last_offline_time              DATETIME COMMENT 'End time of the sale, marks the end of a sales cycle (auction items only)',
        duration                       BIGINT COMMENT 'Validity period or sales cycle (either 7 or 14 days)',
        reserve_price                  DOUBLE COMMENT 'Current price',
        secure_trade_ordinary_post_fee DOUBLE COMMENT 'Standard mail fee',
        secure_trade_fast_post_fee     DOUBLE COMMENT 'Express delivery fee',
        secure_trade_ems_post_fee      DOUBLE COMMENT 'EMS mail fee',
        last_online_quantity           BIGINT COMMENT 'Stock quantity when the product was last listed',
        features                       STRING COMMENT 'Product features',
        cate_id                        BIGINT COMMENT 'ID of the product leaf category',
        cate_name                      STRING COMMENT 'Name of the product leaf category',
        commodity_id                   BIGINT COMMENT 'Product category ID',
        commodity_name                 STRING COMMENT 'Product category name',
        is_virtual                     STRING COMMENT 'Indicates if the product is virtual',
        shop_id                        BIGINT COMMENT 'Shop ID',
        shop_nick                      STRING COMMENT 'Shop nickname',
        is_deleted                     BIGINT COMMENT 'Indicates if the category is deleted'
    )
    COMMENT 'Product information dimension table'
    PARTITIONED BY (pt STRING COMMENT 'Business date, yyyymmdd')
    LIFECYCLE 365;
    
    -- Insert data into the dim_item_info table
    INSERT OVERWRITE TABLE dim_item_info PARTITION(pt='${bizdate}')
    SELECT
        gmt_create,
        gmt_modified,
        item_id,
        title,
        sub_title,
        pict_url,
        desc_path,
        item_status,
        last_online_time,
        last_offline_time,
        duration,
        cast(reserve_price as DOUBLE),
        cast(secure_trade_ordinary_post_fee as DOUBLE),
        cast(secure_trade_fast_post_fee as DOUBLE),
        cast(secure_trade_ems_post_fee as DOUBLE),
        last_online_quantity,
        features,
        cate_id,
        cate_name,
        commodity_id,
        commodity_name,
        is_virtual,
        shop_id,
        shop_nick,
        is_deleted
    FROM ods_item_info
    WHERE pt = '${bizdate}';
  3. Configurez les paramètres d'exécution.

    Dans la partie droite de l'éditeur de nœud MaxCompute SQL, cliquez sur Running Configurations :

  4. Cliquez sur Save dans la barre d'outils du nœud pour enregistrer ce dernier.

Nœud dwd_trade_order

Ce nœud effectue un nettoyage initial, une transformation et un traitement de la logique métier sur les données transactionnelles détaillées issues de la table ods_trade_order afin de générer la table de faits des détails des transactions, dwd_trade_order.

  1. Sur le canevas du flux de travail, placez le curseur sur le nœud dwd_trade_order et cliquez sur Open Node.

  2. Collez le code suivant dans l'éditeur de nœud.

    CREATE TABLE IF NOT EXISTS dwd_trade_order (
        id               BIGINT COMMENT 'Primary key: latest ID after deduplication',
        gmt_create       DATETIME COMMENT 'Creation time',
        gmt_modified     DATETIME COMMENT 'Modification time',
        sub_order_id     BIGINT COMMENT 'Sub-order ID',
        parent_order_id  BIGINT COMMENT 'Parent order ID',
        buyer_id         BIGINT COMMENT 'Buyer numeric ID',
        buyer_nick       STRING COMMENT 'Buyer nickname (empty string if null)',
        item_id          BIGINT COMMENT 'Product numeric ID',
        item_price       DECIMAL(38,18) COMMENT 'Product price, in cents',
        buy_amount       BIGINT COMMENT 'Purchase quantity',
        biz_type         BIGINT COMMENT 'Transaction type',
        memo             STRING COMMENT 'Memo (empty string if null)',
        pay_status       BIGINT COMMENT 'Payment status',
        logistics_status BIGINT COMMENT 'Logistics status',
        status           BIGINT COMMENT 'Status',
        seller_memo      STRING COMMENT 'Seller memo for the transaction',
        buyer_memo       STRING COMMENT 'Buyer memo for the transaction',
        clean_ip         STRING COMMENT 'Cleaned buyer IP; filters invalid formats',
        end_time         DATETIME COMMENT 'Transaction end time',
        pay_time         DATETIME COMMENT 'Payment time',
        is_sub           BIGINT COMMENT 'Indicates if it is a sub-order (1 for yes)',
        is_parent        BIGINT COMMENT 'Indicates if it is a parent order (1 for yes)',
        shop_id          BIGINT COMMENT 'Shop ID',
        total_fee        DECIMAL(38,18) COMMENT 'Sub-order fee after discounts and adjustments',
        is_large_order_flag BOOLEAN COMMENT 'Flag indicating if it is a large-value order'
    )
    COMMENT 'Transaction detail fact table, including initial cleaning and business logic'
    PARTITIONED BY (pt STRING COMMENT 'Business date, yyyymmdd')
    LIFECYCLE 365; -- Data lifecycle set to 365 days
    
    INSERT OVERWRITE TABLE dwd_trade_order PARTITION(pt='${bizdate}')
    SELECT
        id,
        gmt_create,
        gmt_modified,
        sub_order_id,
        parent_order_id,
        buyer_id,
        COALESCE(buyer_nick, '') AS buyer_nick, -- Handle null buyer_nick
        item_id,
        item_price,
        buy_amount,
        biz_type,
        COALESCE(memo, '') AS memo, -- Handle null memo
        pay_status,
        logistics_status,
        status,
        seller_memo,
        buyer_memo,
        CASE 
            WHEN ip LIKE '__.__.__.__' THEN NULL -- Filter invalid IP formats
            ELSE ip 
        END AS clean_ip,
        end_time,
        pay_time,
        is_sub,
        is_parent,
        shop_id,
        total_fee,
        CASE 
            WHEN total_fee >= 10000 THEN TRUE -- Assume an order over 10,000 cents is a large-value order
            ELSE FALSE 
        END AS is_large_order_flag -- Add business logic flag
    FROM (
        SELECT
            *,
            ROW_NUMBER() OVER(PARTITION BY buyer_id, item_id, gmt_create ORDER BY id DESC) AS rn -- Row number for deduplication
        FROM ods_trade_order
        WHERE pt = '${bizdate}'
    ) AS sub_query
    WHERE rn = 1;
  3. Configurez les paramètres d'exécution.

    Dans la partie droite de l'éditeur de nœud MaxCompute SQL, cliquez sur Running Configurations :

  4. Cliquez sur Save dans la barre d'outils du nœud pour enregistrer ce dernier.

Nœud dws_daily_category_sales

Ce nœud agrège les données détaillées nettoyées et standardisées des tables dwd_trade_order et dim_item_info afin de produire le récapitulatif quotidien des ventes par catégorie de produits, dws_daily_category_sales.

  1. Sur le canevas du flux de travail, placez le curseur sur le nœud dws_daily_category_sales et cliquez sur Open Node.

  2. Collez le code suivant dans l'éditeur de nœud.

    CREATE TABLE IF NOT EXISTS dws_daily_category_sales (
        cate_id             BIGINT COMMENT 'ID of the product leaf category',
        cate_name           STRING COMMENT 'Name of the product leaf category',
        total_sales_amount  DECIMAL(38,18) COMMENT 'Total category sales amount, in cents',
        order_count         BIGINT COMMENT 'Order count'
    )
    COMMENT 'Daily product category sales summary table'
    PARTITIONED BY (pt STRING COMMENT 'Business date, yyyymmdd')
    LIFECYCLE 365;
    
    INSERT OVERWRITE TABLE dws_daily_category_sales PARTITION(pt='${bizdate}')
    SELECT
        i.cate_id,
        i.cate_name,
        SUM(t.total_fee) AS total_sales_amount,
        COUNT(DISTINCT t.id) AS order_count
    FROM dwd_trade_order t
    JOIN dim_item_info i ON t.item_id = i.item_id AND t.pt = i.pt
    WHERE t.pt = '${bizdate}'
    GROUP BY t.pt, i.cate_id, i.cate_name;
  3. Configurez les paramètres d'exécution.

    Dans la partie droite de l'éditeur de nœud MaxCompute SQL, cliquez sur Running Configurations :

  4. Cliquez sur Save dans la barre d'outils du nœud pour enregistrer ce dernier.

Nœud ads_top_selling_categories

Ce nœud génère le tableau de classement quotidien des catégories de produits les plus vendues, ads_top_selling_categories, à partir de la table dws_daily_category_sales.

  1. Sur le canevas du flux de travail, placez le curseur sur le nœud ads_top_selling_categories et cliquez sur Open Node.

  2. Collez le code suivant dans l'éditeur de nœud.

    CREATE TABLE IF NOT EXISTS ads_top_selling_categories (
        rank                BIGINT COMMENT 'Sales rank',
        cate_id             BIGINT COMMENT 'ID of the product leaf category',
        cate_name           STRING COMMENT 'Name of the product leaf category',
        total_sales_amount  DECIMAL(38,18) COMMENT 'Total sales amount for the product category, in cents',
        order_count         BIGINT COMMENT 'Number of orders'
    )
    COMMENT 'Daily ranking table of the best-selling product categories'
    PARTITIONED BY (pt STRING COMMENT 'Business date, yyyymmdd');
    
    INSERT OVERWRITE TABLE ads_top_selling_categories PARTITION(pt='${bizdate}')
    SELECT
        rank,
        cate_id,
        cate_name,
        total_sales_amount,
        order_count
    FROM (
        SELECT
            DENSE_RANK() OVER(ORDER BY total_sales_amount DESC) AS rank,
            cate_id,
            cate_name,
            total_sales_amount,
            order_count
        FROM (
            SELECT
                cate_id,
                cate_name,
                SUM(total_sales_amount) AS total_sales_amount,
                SUM(order_count) AS order_count
            FROM dws_daily_category_sales
            WHERE pt = '${bizdate}'
            GROUP BY cate_id, cate_name
        ) agg_sub
    ) agg_outer
    WHERE rank <= 10;
  3. Configurez les paramètres d'exécution.

    Dans la partie droite de l'éditeur de nœud MaxCompute SQL, cliquez sur Running Configurations :

  4. Cliquez sur Save dans la barre d'outils du nœud pour enregistrer ce dernier.

Étape 3 : Exécuter et déboguer le workflow

Après avoir configuré le workflow, exécutez-le pour vérifier sa configuration avant de le déployer dans l'environnement de production.

  1. Dans le volet de navigation de gauche de DataStudio, cliquez sur image pour accéder à la page DataStudio, puis localisez le workflow que vous avez créé dans la section Workspace Directories.

  2. Cliquez sur Run dans la barre d'outils du nœud. Dans la boîte de dialogue Enter running parameters, saisissez la date de la veille (par exemple, 20250416).

    Remarque

    Les nœuds du workflow utilisent des paramètres de planification pour générer du code dynamique. Lors du débogage, vous devez attribuer une valeur constante à ces paramètres à des fins de test.

  3. Cliquez sur OK pour accéder à la page d'exécution de débogage.

  4. Attendez la fin de l'exécution. Le résultat attendu est le suivant :

    image

Étape 4 : Interroger et visualiser les données

Une fois les données brutes traitées et agrégées dans la table ads_top_selling_categories, vous pouvez les interroger pour consulter les résultats.

  1. Cliquez sur l'icône image en haut à gauche, puis sélectionnez All Products > Data Analysis > SQL Query.

  2. À côté de My Files, cliquez sur image > Create File. Saisissez un File Name personnalisé, puis cliquez sur OK.

  3. Dans l'éditeur SQL Query, saisissez l'instruction SQL suivante.

    SELECT * FROM ads_top_selling_categories WHERE pt=${bizdate};
  4. En haut à droite, sélectionnez la source de données MaxCompute et cliquez sur OK.

  5. Cliquez sur le bouton Run en haut de la page. Sur la page Cost Estimation, cliquez sur Run.

  6. Dans les résultats de la requête, cliquez sur image pour afficher le graphique. Vous pouvez cliquer sur l'icône image en haut à droite du graphique pour personnaliser son style.

  7. Vous pouvez également cliquer sur Save en haut à droite du graphique pour l'enregistrer en tant que carte. Vous pourrez ensuite la consulter en cliquant sur Card (image) dans le volet de navigation de gauche.

Étape 5 : Configurer la planification périodique

Pour obtenir des mises à jour quotidiennes, déployez le workflow dans l'environnement de production afin qu'il s'exécute périodiquement.

Remarque

Les paramètres de planification ont déjà été configurés pour le workflow et ses nœuds lors des étapes de synchronisation et de traitement des données. Il vous suffit de déployer le workflow dans l'environnement de production. Pour plus d'informations sur les configurations de planification, consultez la rubrique Configurer la planification des nœuds.

  1. Cliquez sur l'icône image en haut à gauche, puis sélectionnez All Products > Data Development and O&M > DataStudio (Data Development).

  2. Dans le volet de navigation de gauche de DataStudio, cliquez sur image pour accéder à la page DataStudio. Basculez vers l'espace de travail utilisé pour ce tutoriel, puis localisez le workflow que vous avez créé dans la section Workspace Directories.

  3. Cliquez sur Deploy dans la barre d'outils du nœud. Dans le panneau de déploiement, cliquez sur Start Deployment to Production. Attendez la fin des étapes Build Package et Prod Online Check, puis cliquez sur Deploy.

  4. Une fois que le statut Prod Online passe à Complete, cliquez sur Perform O&M pour accéder au Operation Center.

    image

  5. Dans Auto Triggered Node O&M > Auto Triggered Nodes, vous pouvez voir la tâche périodique du workflow (nommée dw_quickstart dans ce tutoriel).

  6. Pour afficher les tâches périodiques des nœuds enfants au sein du workflow, cliquez avec le bouton droit sur la tâche périodique du workflow et sélectionnez View Internal Tasks.

    image

    Le résultat attendu est le suivant :

    image

Étapes suivantes

Nettoyage des ressources

Pour nettoyer les ressources que vous avez créées dans ce tutoriel, suivez les étapes ci-dessous :

  1. Annulez le déploiement des nœuds déclenchés automatiquement.

    1. Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur Data Development and O&M > Operation Center dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to Operation Center.

    2. Accédez à Auto Triggered Node O&M > Auto Triggered Nodes. Cochez les cases correspondant à tous les nœuds déclenchés automatiquement que vous avez créés. Ne retirez pas le déploiement du nœud racine de l'espace de travail. Ensuite, en bas de la page, cliquez sur Actions > Undeploy.

  2. Supprimez les nœuds de développement de données et dissociez la ressource de calcul MaxCompute.

    1. Accédez à la page Workspaces de la console DataWorks. Dans la barre de navigation supérieure, sélectionnez la région souhaitée. Localisez l'espace de travail concerné et choisissez Shortcuts > Data Studio dans la colonne Actions.

    2. Dans le volet de navigation de gauche de Data Studio, cliquez sur l'icône image pour ouvrir la page Data Development. Dans la section Workspace Directories, localisez le workflow que vous avez créé, cliquez dessus avec le bouton droit, puis sélectionnez Delete.

    3. Dans le volet de navigation de gauche, cliquez sur image > Computing Resources. Localisez la ressource de calcul MaxCompute associée et cliquez sur Disassociate. Dans la boîte de dialogue de confirmation, cochez la case et suivez les instructions affichées à l'écran.

  3. Supprimez la source de données MySQL.

    1. Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur More > Management Center dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to Management Center.

    2. Dans le volet de navigation de gauche, cliquez sur Data Sources. Sur la page Data Sources, localisez la source de données MySQL que vous avez créée, cliquez sur Delete dans la colonne Actions, puis suivez les instructions affichées à l'écran.

  4. Supprimez le projet MaxCompute.

    Accédez à la page Gestion des projets MaxCompute. Localisez le projet MaxCompute que vous avez créé, cliquez sur Delete dans la colonne Actions, puis suivez les instructions affichées à l'écran.

  5. Supprimez la passerelle NAT Internet et libérez l'adresse IP élastique (EIP).

    1. Accédez à la console VPC - Passerelle NAT Internet. Dans la barre de menu supérieure, basculez la région vers China (Shanghai).

    2. Localisez la passerelle NAT Internet que vous avez créée et cliquez sur image > Delete dans la colonne Actions. Dans la boîte de dialogue de confirmation, cochez la case Force Delete, puis cliquez sur OK.

    3. Dans le volet de navigation de gauche, cliquez sur Access to Internet > Elastic IP Addresses. Localisez l'EIP que vous avez créée et, dans la colonne Actions, choisissez image > Instance Management > Release. Dans la boîte de dialogue de confirmation, cliquez sur OK.