Todos os produtos
Search
Central de documentação

DataWorks:Avançado: Analisar categorias de product mais vendidas

Última atualização: Aug 27, 2026

Construa um pipeline de dados completo no DataWorks — desde a ingestão de dados brutos e a orquestração de fluxos de trabalho empresariais até o agendamento periódico de tarefas e a visualização de resultados — usando um cenário de e-commerce como exemplo.

Introdução

Este tutorial usa um cenário de e-commerce para demonstrar a construção de um pipeline de dados completo, da ingestão e processamento de dados brutos à visualização. Ao seguir um processo de desenvolvimento padronizado, você cria rapidamente fluxos de trabalho reutilizáveis, com agendamento confiável e observabilidade operacional.

Você concluirá as seguintes tarefas:

  1. Sincronização de dados: Use o módulo Data Integration no DataWorks para criar uma tarefa de sincronização em lote de tabela única que transfere dados empresariais para uma plataforma de big data como o MaxCompute.

  2. Limpeza de dados: Use o módulo Data Studio no DataWorks para processar, analisar e minerar dados empresariais.

  3. Visualização de dados: Use o módulo Data Analysis no DataWorks para transformar os resultados da análise em gráficos intuitivos para usuários de negócios.

  4. Agendamento periódico: Configure o agendamento recorrente para os fluxos de trabalho de sincronização e limpeza de dados.

image

Neste tutorial, você sincronizará dados brutos de product e pedidos de uma fonte de dados pública para o MaxCompute. Em seguida, usará o seguinte fluxo de trabalho para gerar um ranking diário das categorias de product mais vendidas:

image

Pré-requisitos

Para concluir este tutorial, você precisa de uma conta Alibaba Cloud ou de um usuário RAM com a permissão AliyunDataWorksFullAccess. Para obter instruções, consulte Prepare an Alibaba Cloud account ou Prepare a RAM user.

Nota

O DataWorks oferece um sistema abrangente de permissões para controle de acesso nos níveis de product e módulo. Se precisar de um controle de acesso mais granular, consulte Overview of the DataWorks permission management system.

Pré-requisitos

Ativar o DataWorks

Este tutorial usa a região China (Shanghai) como exemplo. Faça login no console do DataWorks, alterne para a região China (Shanghai) e verifique se o DataWorks está ativado nesta região.

Nota

Este tutorial usa China (Shanghai) como exemplo. Na prática, selecione a região com base na localização real dos seus dados empresariais:

  • Se seus dados empresariais estiverem armazenados em outros service da Alibaba Cloud, selecione a mesma região desses service.

  • Se sua infraestrutura for local e exigir acesso à rede pública, escolha uma região geograficamente próxima para reduzir a latência.

Novos usuários

Se você estiver usando o DataWorks pela primeira vez, a página indicará que o service não foi ativado na região atual. Clique em Purchase Product Portfolio for Free.

  1. Configure os parâmetros na página de compra combinada.

    Parâmetro

    Descrição

    Exemplo

    Region

    Selecione a região onde deseja ativar o DataWorks.

    China (Shanghai)

    DataWorks Edition

    Escolha a edição do DataWorks a ser adquirida.

    Nota

    Este tutorial usa a Basic Edition como exemplo. Todas as edições suportam os recursos descritos neste tutorial. Consulte Edition comparison e selecione uma edição do DataWorks com base nos requisitos do seu negócio.

    Basic Edition

  2. Clique em DataWorks Resource Group e conclua o pagamento.

Ativado anteriormente, mas expirado

Se você ativou o DataWorks na região Resource Group Name anteriormente, mas a edição expirou, o seguinte aviso será exibido. Clique em Service-linked Role.

A página exibe a mensagem You must have both a DataWorks edition and pay-as-you-go resources. Um ícone de cruz vermelha indica que no DataWorks edition is currently active in this region, enquanto um ícone de verificação verde sinaliza que pay-as-you-go resources are already available in this region.

  1. Defina os parâmetros na página de compra.

    Parâmetro

    Descrição

    Exemplo

    Confirm Order and Pay

    Escolha a edição do DataWorks a ser adquirida.

    Nota

    Este tutorial usa a China (Shanghai) como exemplo. Todas as edições suportam os recursos descritos neste tutorial. Consulte Edition comparison e selecione uma edição do DataWorks com base nos requisitos do seu negócio.

    Basic Edition

    Region

    Selecione a região onde deseja ativar o DataWorks.

    China (Shanghai)

  2. Clique em Purchase Edition e conclua o pagamento.

Importante

Após adquirir uma edição do DataWorks, se não a encontrar, tente o seguinte:

  • Aguarde alguns minutos e atualize a página. A atualização do sistema pode sofrer atrasos.

  • Verifique se a região atual corresponde à região onde a edição do DataWorks foi adquirida. Divergências de região podem tornar a edição invisível.

Já ativado

Se o DataWorks já estiver ativado na região Version, a página de visão geral do DataWorks será exibida e você poderá prosseguir para a próxima etapa.

Criar um workspace

  1. Acesse a página de lista de workspaces do DataWorks, alterne para a região Basic Edition e clique em Buy Now.

  2. Na página China (Shanghai), especifique um China (Shanghai) personalizado, ative a opção Create a workspace e clique em Create a workspace.

    Nota

    Após 18 de fevereiro de 2025, quando uma conta Alibaba Cloud ativa o DataWorks e cria um workspace na região China (Shanghai) pela primeira vez, a nova versão do Data Studio é habilitada por padrão, e o parâmetro Workspace Name não é exibido na página.

Criar um grupo de recursos e associá-lo a um workspace

  1. Acesse a página de lista de grupos de recursos do DataWorks, alterne para a região Use Data Studio (New Version) e clique em Create a workspace.

  2. Na página de compra do grupo de recursos, configure os seguintes parâmetros.

    Parâmetro

    Descrição

    Use Data Studio (New Version)

    Personalizado.

    VPC, vSwitch

    Selecione uma VPC e um vSwitch existentes. Se não houver nenhum na região atual, clique no link do console correspondente na descrição do parâmetro para criar um.

    China (Shanghai)

    Siga as instruções na tela para criar a service-linked role.

  3. Clique em Create Resource Group e conclua o pagamento.

  4. Retorne à página de lista de grupos de recursos do DataWorks, alterne para a região Resource Group Name, localize o grupo de recursos criado e clique em Service-linked Role na coluna Buy Now.

  5. Na página China (Shanghai), localize o workspace criado e clique em Associate Workspace na coluna Operation.

Habilitar acesso à rede pública para o grupo de recursos

Os dados empresariais públicos de teste da plataforma de e-commerce usados neste tutorial devem ser obtidos pela rede pública. No entanto, o grupo de recursos de uso geral criado na etapa anterior não possui acesso à rede pública por padrão. Configure um Internet NAT Gateway para a VPC associada ao grupo de recursos e adicione um EIP para estabelecer conectividade de rede com a fonte de dados pública, permitindo a recuperação dos dados.

  1. Faça login no console da VPC - Internet NAT Gateway, alterne para a região Associate Workspace na barra de menu superior e clique em Create Internet NAT Gateway. Configure os parâmetros relevantes.

    Nota

    Mantenha os valores padrão para os parâmetros não descritos na tabela.

    Parâmetro

    Valor

    Bind

    China (Shanghai).

    Network and Zone

    Selecione a VPC e o vSwitch associados ao grupo de recursos.

    Acesse a página de lista de grupos de recursos do DataWorks, alterne para a região Operation, localize o grupo de recursos criado e clique em China (Shanghai) na coluna Region. Na seção Task Scheduling & Data Integration, visualize a China (Shanghai) e o Network Settings. Para mais informações sobre VPCs e vSwitches, consulte What is a VPC?.

    Operation

    Internet NAT Gateway.

    EIP

    Adquirir um novo EIP.

    Service-linked role creation

    Ao criar um NAT gateway pela primeira vez, é necessário criar uma função vinculada ao service. Clique em Create Associated Role.

  2. Clique em VPC e conclua o pagamento para criar a instância do NAT gateway.

    Após a conclusão do pagamento, se as três operações de recurso — Create EIP, Create NAT Gateway e Bindind EIP — exibirem sucesso, a instância do NAT gateway foi adquirida e vinculada ao EIP.

  3. Depois que a instância do NAT gateway for adquirida, clique em Return to Console e crie uma entrada SNAT para a instância recém-adquirida.

    Nota

    Somente após a configuração de uma entrada SNAT o grupo de recursos que utiliza esta VPC poderá acessar a rede pública.

    1. Clique em vSwitch na coluna Operation da instância recém-adquirida para acessar a página de gerenciamento da instância do NAT gateway e alterne para a aba SNAT Management.

    2. Na seção SNAT Entry List, clique em Create SNAT Entry. As principais configurações são:

      Parâmetro

      Valor

      Granularidade da entrada SNAT

      Selecione a granularidade de VPC para garantir que todos os grupos de recursos dentro da VPC do NAT gateway possam acessar a rede pública através do EIP configurado.

      Selecionar EIP

      Configure o EIP vinculado à instância atual do NAT gateway.

      Após configurar os parâmetros da entrada SNAT, clique em OK para criá-la.

    Na seção SNAT Entry List, quando o Network Type da nova entrada SNAT mudar para Buy Now, a VPC associada ao grupo de recursos terá acesso à rede pública.

Criar e associar um recurso de computação do MaxCompute

Neste tutorial, você precisa criar um projeto do MaxCompute e associá-lo como um recurso de computação do DataWorks para receber dados e realizar análises de big data.

  1. Acesse a página de lista de workspaces do DataWorks, alterne para a região Management, localize o workspace criado, clique no nome do workspace e acesse a página Status.

  2. No painel de navegação à esquerda, clique em Enabled para acessar a página de recursos de computação. Clique em China (Shanghai) e selecione o tipo Workspace Details. Configure os seguintes parâmetros principais para criar um projeto do MaxCompute e associá-lo como recurso de computação do DataWorks.

    Nota

    Mantenha os valores padrão para os parâmetros não descritos na tabela.

    Parâmetro

    Descrição

    Computing Resources

    Na lista suspensa, clique em Associate Computing Resources e especifique os seguintes parâmetros.

    • MaxCompute: Personalizado. O nome deve ser globalmente único.

    • MaxCompute Project: Selecione Create.

      Nota

      Se a opção Pay-as-you-go não estiver selecionável, clique em Project Name ao lado de Billing Method of Computing Resources para ativar o service MaxCompute.

    • Pay-as-you-go: Selecione a cota padrão na lista suspensa.

    Activate

    Selecione Pay-as-you-go.

    Default Quota

    O nome da instância do recurso de computação serve para selecionar o recurso durante a execução de tarefas, facilitando a identificação. Por exemplo, este tutorial usa MaxCompute_Source.

  3. Clique em Default Access Identity.

Procedimento

O cenário a seguir orienta você pelos principais recursos do DataWorks:

Considere que uma plataforma de e-commerce armazena informações de product e pedidos em um banco de dados MySQL. A plataforma precisa analisar regularmente os dados de pedidos e visualizar um ranking diário das categorias de product mais vendidas.

Etapa 1: Sincronização de dados

Criar uma fonte de dados

O DataWorks conecta-se a origens e destinos por meio de conexões de fontes de dados. Crie uma fonte de dados MySQL para conectar-se ao banco de dados MySQL que armazena os dados empresariais usados neste tutorial.

Nota

Não é necessário preparar os dados empresariais brutos usados neste tutorial. Para fins de teste e aprendizado, o DataWorks fornece conjuntos de dados de teste. Os dados das tabelas relevantes estão armazenados em um banco de dados MySQL público. Basta criar uma conexão de fonte de dados MySQL.

  1. Acesse a página DataWorks Administration, alterne para a região Alibaba Cloud Account, selecione o workspace criado na lista suspensa e clique em Computing Resource Instance Name.

  2. No painel de navegação à esquerda, clique em Confirm para acessar a página China (Shanghai). Clique em Go to Management Center, selecione o tipo MySQL e configure os parâmetros da fonte de dados MySQL.

    Nota
    • Mantenha os valores padrão para os parâmetros não descritos na tabela.

    • Ao adicionar uma fonte de dados pela primeira vez, você precisa concluir a Data Sources. Siga as instruções na tela para conceder acesso à função vinculada ao service AliyunDIDefaultRole.

    Parâmetro

    Descrição

    Data Sources

    Neste exemplo, defina este parâmetro como MySQL_Source.

    Add Connection

    Selecione Cross-service authorization.

    Data Source Name

    • Endereço IP do host: rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com

    • Porta: 3306.

    Importante

    Os dados fornecidos neste tutorial destinam-se apenas à prática na plataforma Alibaba Cloud DataWorks. Todos os dados são de teste e só podem ser lidos no módulo Data Integration.

    Configuration Mode

    Defina este parâmetro como retail_e_commerce.

    User-created Data Store with Public IP Addresses

    Insira o nome de usuário workshop.

    Connection Address

    Insira a senha workshop#2017.

  3. Na seção Database Name, alterne para a aba Username, localize o grupo de recursos associado ao workspace e clique em Password na coluna Connection Configuration.

    Nota

    Se o teste de conectividade da fonte de dados MySQL falhar, execute as seguintes operações:

    • Siga as instruções da ferramenta de diagnóstico de conectividade.

    • Verifique se um EIP está configurado para a VPC associada ao grupo de recursos. A fonte de dados MySQL exige que o grupo de recursos tenha acesso à rede pública. Para mais informações, consulte Enable public network access for the resource group.

  4. Clique em Data Integration.

Construir o pipeline de sincronização

Construa um pipeline de sincronização para transferir dados de product e pedidos de e-commerce para tabelas do MaxCompute, permitindo o processamento subsequente dos dados.

  1. Clique no ícone icon no canto superior esquerdo e selecione All Products > Test Connectivity > Connected state para acessar a página de desenvolvimento de dados.

  2. No topo da página, alterne para o workspace criado para este tutorial. No painel de navegação à esquerda, clique em image para acessar a página Data Development - Project Directory.

  3. Na seção Complete Creation, clique em image e selecione Data Development and O&M. Defina o nome do fluxo de trabalho. Neste tutorial, o nome definido é dw_quickstart.

  4. Na página de orquestração do fluxo de trabalho, arraste um DataStudio e nós de Project Directory do lado esquerdo para o canvas a fim de criar os nós. Configure os nós de Create Workflow da seguinte forma:

    • Zero-Load Node: MySQL.

    • Data Integration: MaxCompute.

    Defina os nomes dos nós. A tabela abaixo lista os nomes de exemplo e suas finalidades neste tutorial:

    Tipo de nó

    Nome do nó

    Finalidade do nó

    image Nó virtual

    workshop

    Gerencia todo o fluxo de trabalho, tornando o caminho do fluxo de dados mais claro. Este é um Data Integration e não requer edição de código.

    image Nó de sincronização em lote de tabela única

    ods_item_info

    Sincroniza a tabela de origem de informações de product item_info do MySQL para a tabela do MaxCompute ods_item_info.

    image Nó de sincronização em lote de tabela única

    ods_trade_order

    Sincroniza a tabela de origem de informações de pedidos trade_order do MySQL para a tabela do MaxCompute ods_trade_order.

    Arraste linhas manualmente para conectar os nós e defina o nó workshop como upstream dos dois nós de sincronização em lote de tabela única. O resultado final é o seguinte:

    image
  5. Configurações de agendamento do fluxo de trabalho.

    No lado direito da página de orquestração do fluxo de trabalho, clique em Data Source Type e configure os parâmetros relevantes. Abaixo estão os parâmetros principais para este tutorial. Mantenha os valores padrão para os parâmetros não descritos.

    Parâmetro de configuração de agendamento

    Descrição

    Data Source Type

    Define parâmetros de agendamento para todo o fluxo de trabalho. Os nós internos podem usar esses parâmetros diretamente.

    Neste tutorial, defina este parâmetro como bizdate=$[yyyymmdd-1] para obter a data do dia anterior.

    Nota

    O DataWorks fornece parâmetros de agendamento que permitem a passagem dinâmica de parâmetros no código. Você pode definir variáveis no código SQL usando o formato ${variable_name} e atribuir valores às variáveis em Dry-run Task > Scheduling Settings. Para mais informações sobre os formatos suportados para parâmetros de agendamento, consulte Configure scheduling parameters.

    Scheduling Parameter

    Neste tutorial, defina este parâmetro como Day.

    Scheduling Settings

    Neste tutorial, defina Scheduling Parameter como 00:30. O fluxo de trabalho iniciará às 00:30 todos os dias.

    Dependência entre ciclos

    O fluxo de trabalho não possui dependência upstream. Você pode deixar essa opção sem configuração. Para facilitar o gerenciamento, clique em Scheduling Frequency para anexar o fluxo de trabalho ao nó raiz do workspace.

    O nó raiz do workspace segue o formato de nomenclatura: workspace_name_root.

Configurar tarefas de sincronização

Configurar o nó inicial

  1. Na página de orquestração do fluxo de trabalho, passe o mouse sobre o nó workshop e clique em Data Timestamp.

  2. No lado direito da página de edição do nó workshop, clique em Data Timestamp e configure os parâmetros relevantes. Abaixo estão os parâmetros principais para este tutorial. Mantenha os valores padrão para os parâmetros não descritos.

    Parâmetro de configuração de agendamento

    Descrição

    Add Root Node

    Neste tutorial, defina este parâmetro como Dry Run.

    Open Node

    Neste tutorial, selecione o grupo de recursos serverless criado em Create a resource group and associate it with a workspace.

    Scheduling Settings

    Como workshop é o nó inicial e não possui dependência upstream, clique em Scheduling Type para acionar o fluxo de trabalho a partir do nó raiz do workspace.

    O nó raiz do workspace é nomeado como: workspace_name_root.

  3. Na barra de ferramentas do nó, clique em Resource Group for Scheduling para salvar o nó.

Configurar o pipeline de sincronização de informações de product (ods_item_info)

  1. Na página de orquestração do fluxo de trabalho, passe o mouse sobre o nó ods_item_info e clique em Node dependency configuration.

  2. Configure a fonte de dados e o grupo de recursos.

    Parâmetro

    Descrição

    Add Root Node

    Fonte de dados: MySQL_Source.

    Destination

    Fonte de dados: Selecione o recurso de computação do MaxCompute associado durante Create and associate a MaxCompute compute resource. Neste exemplo, selecione MaxCompute_Source.

    Open Node

    Selecione o grupo de recursos serverless adquirido durante Create a resource group and associate it with a workspace.

  3. Configure a solução de sincronização.

    1. Configure Source and Destination

      Nota

      Mantenha os valores padrão para os parâmetros não descritos na tabela.

      Seção de configuração

      Parâmetro

      Descrição da configuração

      Data Source

      Table

      item_info.

      Destination

      Table

      Clique em Generate Destination Table Schema para criar rapidamente uma tabela do MaxCompute. Cole a seguinte instrução DDL na seção Table Creation Statement e clique em Create Table. Esta tabela recebe as informações de product da origem.

      Instrução DDL

      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

      Neste tutorial, insira ${bizdate}. Durante a depuração, um valor constante é atribuído ao parâmetro bizdate para teste. Durante a execução agendada, um valor dinâmico é atribuído ao parâmetro bizdate. Para mais informações sobre os formatos de variáveis e métodos de configuração suportados pelo Data Studio, consulte Configure variables.

    2. Verifique o Destination Field Mapping e as Advanced Settings.

      O DataWorks mapeia colunas de origem para colunas de destino para gravar dados de colunas de origem específicas em colunas de destino específicas. Também é possível configurar concorrência de tarefas, políticas de dados sujos e outras definições na seção Advanced Settings à direita. Neste tutorial, defina Policy for Dirty Data Records como Disallow Dirty Data Records e mantenha os padrões para as demais configurações. Para mais informações, consulte Configure a single-table batch synchronization task.

  4. Na barra de ferramentas do nó, clique em Save para salvar o nó.

Configurar o pipeline de sincronização de dados de pedidos ( ods_trade_order)

  1. Na página de orquestração do fluxo de trabalho, passe o mouse sobre o nó ods_trade_order e clique em Open Node.

  2. Configure a fonte de dados e o grupo de recursos.

    Parâmetro

    Descrição

    Source

    Fonte de dados: MySQL_Source.

    Destination

    Fonte de dados: Selecione o recurso de computação do MaxCompute associado durante Create and associate a MaxCompute compute resource. Neste exemplo, selecione MaxCompute_Source.

    Running Resources

    Selecione o grupo de recursos serverless adquirido durante Create a resource group and associate it with a workspace.

  3. Clique em Source e configure a tarefa de sincronização.

    1. Configure Source and Destination

      Nota

      Mantenha os valores padrão para os parâmetros não descritos na tabela.

      Seção de configuração

      Parâmetro

      Descrição da configuração

      Running Resources

      Next step

      trade_order

      Destination

      Data Source

      Clique em Table para criar rapidamente uma tabela do MaxCompute. Cole a seguinte instrução DDL na seção Table Creation Statement e clique em Table. Esta tabela recebe as informações de product da origem.

      Instrução DDL

      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;

      Generate Destination Table Schema

      Neste tutorial, insira ${bizdate}. Durante a depuração, um valor constante é atribuído ao parâmetro bizdate para teste. Durante a execução agendada, um valor dinâmico é atribuído ao parâmetro bizdate. Para mais informações sobre os formatos de variáveis e métodos de configuração suportados pelo Data Studio, consulte Configure variables.

    2. Verifique o Destination Field Mapping e as Create Table.

      O DataWorks mapeia colunas de origem para colunas de destino para gravar dados de colunas de origem específicas em colunas de destino específicas. Também é possível configurar concorrência de tarefas, políticas de dados sujos e outras definições na seção Advanced Settings à direita. Neste tutorial, defina Partition Information como Disallow Dirty Data Records e mantenha os padrões para as demais configurações. Para mais informações, consulte Configure a single-table batch synchronization task.

  4. Na barra de ferramentas do nó, clique em Save para salvar o nó.

Etapa 2: Limpeza de dados

Após a sincronização dos dados do MySQL para o MaxCompute, duas tabelas estarão disponíveis: a tabela de informações de product ods_item_info e a tabela de informações de pedidos ods_trade_order. Use o Data Studio para limpar, processar e analisar esses dados, gerando o ranking diário das categorias de product mais vendidas.

Construir o pipeline de processamento de dados

  1. No painel de navegação à esquerda do Data Studio, clique em image para acessar a página de desenvolvimento de dados. Em seguida, na seção Policy for Dirty Data Records, localize o fluxo de trabalho criado, clique nele para ir à página de orquestração e arraste nós MaxCompute SQL do lado esquerdo para o canvas. Defina os nomes dos nós.

    A tabela abaixo lista os nomes de exemplo e suas finalidades neste tutorial:

    Tipo de nó

    Nome do nó

    Finalidade do nó

    image MaxCompute SQL

    dim_item_info

    Com base na tabela ods_item_info, processa dados de dimensão de product e gera a tabela de dimensão de informações básicas de product dim_item_info.

    image MaxCompute SQL

    dwd_trade_order

    Com base na tabela ods_trade_order, realiza limpeza inicial, transformação e processamento de lógica de negócios nos dados detalhados de transações de pedidos, gerando a tabela de fatos de detalhes de pedidos dwd_trade_order.

    image MaxCompute SQL

    dws_daily_category_sales

    Com base nas tabelas dwd_trade_order e dim_item_info, agrega os dados detalhados limpos e padronizados da camada DWD e produz a tabela agregada de vendas diárias por categoria de product dws_daily_category_sales.

    image MaxCompute SQL

    ads_top_selling_categories

    Com base na tabela dws_daily_category_sales, gera a tabela de ranking diário das categorias de product mais vendidas ads_top_selling_categories.

  2. Arraste linhas manualmente para conectar os nós e defina os nós upstream para cada nó. O resultado final é o seguinte:

    image
    Nota

    Em um fluxo de trabalho, é possível definir upstream and downstream dependencies entre nós desenhando conexões manualmente. Também é viável usar a análise de código para identificar automaticamente dependências de nós em nós filhos. Este tutorial usa conexões manuais. Para mais informações sobre análise de código, consulte Auto-parse dependencies.

Configurar nós de processamento de dados

Configurar o nó dim_item_info

Com base na tabela ods_item_info, este nó processa dados de dimensão de product e gera a tabela de dimensão de informações básicas de product dim_item_info.

  1. Na página de orquestração do fluxo de trabalho, passe o mouse sobre o nó dim_item_info e clique em Open Node.

  2. Cole o seguinte código na página de edição do nó.

    CREATE TABLE IF NOT EXISTS dim_item_info (
        gmt_modified                   STRING COMMENT 'Item last modified date',
        gmt_create                     STRING COMMENT 'Item creation time',
        item_id                        BIGINT COMMENT 'Item numeric ID',
        title                          STRING COMMENT 'Item title',
        sub_title                      STRING COMMENT 'Item subtitle',
        pict_url                       STRING COMMENT 'Main image URL',
        desc_path                      STRING COMMENT 'Item description path',
        item_status                    BIGINT COMMENT 'Item status: 1 - approved, 0 - not approved',
        last_online_time               DATETIME COMMENT 'Last listing time, item go-on-sale time',
        last_offline_time              DATETIME COMMENT 'Sale end time, indicates the end of a sales cycle, only applies to auction items',
        duration                       BIGINT COMMENT 'Validity period, sales cycle, only two values: 7 days or 14 days',
        reserve_price                  DOUBLE COMMENT 'Current price',
        secure_trade_ordinary_post_fee DOUBLE COMMENT 'Standard mail shipping fee',
        secure_trade_fast_post_fee     DOUBLE COMMENT 'Express shipping fee',
        secure_trade_ems_post_fee      DOUBLE COMMENT 'EMS shipping fee',
        last_online_quantity           BIGINT COMMENT 'Stock quantity at the last listing time',
        features                       STRING COMMENT 'Item features',
        cate_id                        BIGINT COMMENT 'Item leaf category ID',
        cate_name                      STRING COMMENT 'Item leaf category name',
        commodity_id                   BIGINT COMMENT 'Commodity ID',
        commodity_name                 STRING COMMENT 'Commodity name',
        is_virtual                     STRING COMMENT 'Whether it is a virtual item',
        shop_id                        BIGINT COMMENT 'Shop ID',
        shop_nick                      STRING COMMENT 'Shop nick',
        is_deleted                     BIGINT COMMENT 'Whether the category is deleted'
    )
    COMMENT 'Item basic information dimension table'
    PARTITIONED BY (pt STRING COMMENT 'Business date, yyyymmdd')
    LIFECYCLE 365;
    -- Insert data into 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. Configure os parâmetros de depuração.

    No lado direito da página de edição do nó MaxCompute SQL, clique em Run Configuration:

  4. Na barra de ferramentas do nó, clique em Save para salvar o nó.

Configurar o nó dwd_trade_order

Com base na tabela ods_trade_order, este nó realiza limpeza inicial, transformação e processamento de lógica de negócios nos dados detalhados de transações de pedidos, gerando a tabela de fatos de detalhes de pedidos dwd_trade_order.

  1. Na página de orquestração do fluxo de trabalho, passe o mouse sobre o nó dwd_trade_order e clique em Open Node.

  2. Cole o seguinte código na página de edição do nó.

    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, null values handled',
        item_id          BIGINT COMMENT 'Item numeric ID',
        item_price       DECIMAL(38,18) COMMENT 'Item price, in cents',
        buy_amount       BIGINT COMMENT 'Purchase quantity',
        biz_type         BIGINT COMMENT 'Transaction type',
        memo             STRING COMMENT 'Memo, null values handled',
        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, invalid formats filtered',
        end_time         DATETIME COMMENT 'Transaction end time',
        pay_time         DATETIME COMMENT 'Payment time',
        is_sub           BIGINT COMMENT 'Whether it is a sub-order, 1 indicates sub-order',
        is_parent        BIGINT COMMENT 'Whether it is a parent order, 1 indicates parent order',
        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 'Large order flag'
    )
    COMMENT 'Trade order detail fact table with preliminary cleansing and business logic processing'
    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
        MAX(id) AS id, -- Use the latest ID as the deduplication criterion
        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 -- Orders over 10000 cents are considered large orders
            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 -- Keep only the first record in each deduplication group
    GROUP BY 
        gmt_create,
        gmt_modified,
        sub_order_id,
        parent_order_id,
        buyer_id,
        buyer_nick,
        item_id,
        item_price,
        buy_amount,
        biz_type,
        memo,
        pay_status,
        logistics_status,
        status,
        seller_memo,
        buyer_memo,
        clean_ip,
        end_time,
        pay_time,
        is_sub,
        is_parent,
        shop_id,
        total_fee,
        is_large_order_flag;
  3. Configure os parâmetros de depuração.

    No lado direito da página de edição do nó MaxCompute SQL, clique em Run Configuration:

  4. Na barra de ferramentas do nó, clique em Save para salvar o nó.

Configurar o nó dws_daily_category_sales

Com base nas tabelas dwd_trade_order e dim_item_info, este nó agrega os dados detalhados limpos e padronizados da camada DWD e produz a tabela agregada de vendas diárias por categoria de product dws_daily_category_sales.

  1. Na página de orquestração do fluxo de trabalho, passe o mouse sobre o nó dws_daily_category_sales e clique em Open Node.

  2. Cole o seguinte código na página de edição do nó.

    CREATE TABLE IF NOT EXISTS dws_daily_category_sales (
        cate_id             BIGINT COMMENT 'Item leaf category ID',
        cate_name           STRING COMMENT 'Item leaf category name',
        total_sales_amount  DECIMAL(38,18) COMMENT 'Total sales amount by item category, in cents',
        order_count         BIGINT COMMENT 'Order count'
    )
    COMMENT 'Daily item 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. Configure os parâmetros de depuração.

    No lado direito da página de edição do nó MaxCompute SQL, clique em Run Configuration:

  4. Na barra de ferramentas do nó, clique em Save para salvar o nó.

Configurar o nó ads_top_selling_categories

Com base na tabela dws_daily_category_sales, este nó gera a tabela de ranking diário das categorias de product mais vendidas ads_top_selling_categories.

  1. Na página de orquestração do fluxo de trabalho, passe o mouse sobre o nó ads_top_selling_categories e clique em Open Node.

  2. Cole o seguinte código na página de edição do nó.

    CREATE TABLE IF NOT EXISTS ads_top_selling_categories (
        rank                BIGINT COMMENT 'Sales rank',
        cate_id             BIGINT COMMENT 'Item leaf category ID',
        cate_name           STRING COMMENT 'Item leaf category name',
        total_sales_amount  DECIMAL(38,18) COMMENT 'Total sales amount by item category, in cents',
        order_count         BIGINT COMMENT 'Order count'
    )
    COMMENT 'Daily top-selling item category ranking table'
    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. Configure os parâmetros de depuração.

    No lado direito da página de edição do nó MaxCompute SQL, clique em Run Configuration:

  4. Na barra de ferramentas do nó, clique em Save para salvar o nó.

Etapa 3: Depurar e executar

Execute todo o fluxo de trabalho para verificar se a configuração está correta antes de implantá-lo no ambiente de produção.

  1. No painel de navegação à esquerda do Data Studio, clique em image para acessar a página de desenvolvimento de dados. Em seguida, na seção Project Directory, localize o fluxo de trabalho criado.

  2. Na barra de ferramentas do nó, clique em Computing Resources. Em Save, insira a data do dia anterior (por exemplo, 20250416).

    Nota

    A configuração do nó do fluxo de trabalho usa os parâmetros de agendamento fornecidos pelo DataWorks para passagem dinâmica de parâmetros no código. Durante a depuração, você precisa atribuir um valor constante ao parâmetro para teste.

  3. Clique em Determine para acessar a página de depuração e execução.

  4. Aguarde a conclusão da execução. O resultado esperado é o seguinte:

    image

Etapa 4: Consulta e visualização de dados

Os resultados processados agora estão na tabela ads_top_selling_categories. Consulte esta tabela para visualizar os resultados da análise.

  1. Clique no ícone image no canto superior esquerdo. Na página pop-up, clique em All Products > Run > Fill in the operation parameters.

  2. Após My Files, clique em image > Create File. Especifique um DataAnalysis personalizado e clique em SQL Query.

  3. Na página de consulta SQL, insira a seguinte instrução SQL.

    SELECT * FROM ads_top_selling_categories WHERE pt=${bizdate};
  4. No canto superior direito, selecione a fonte de dados MaxCompute e clique em Determine.

  5. Clique no botão File Name na parte superior. Na página Determine, clique em Run.

  6. Nos resultados da consulta, clique em image para visualizar os resultados em gráfico. É possível clicar em image no canto superior direito do gráfico para personalizar o estilo.

    Os resultados visuais são exibidos na seção Copilot em formato de gráfico (como um gráfico de rosca), mostrando a distribuição de contagem de pedidos, valor de vendas e outras métricas por categoria.

  7. Também é possível clicar em Run no canto superior direito do gráfico para salvá-lo como um cartão. Em seguida, no painel de navegação à esquerda, clique em Estimate Costs (image) para visualizá-lo.

Etapa 5: Agendamento periódico

Para obter os dados de vendas mais recentes todos os dias, implante o fluxo de trabalho no ambiente de produção para que ele seja executado periodicamente conforme o agendamento.

Nota

Ao configurar a sincronização e o processamento de dados, você já definiu os parâmetros relacionados ao agendamento para o fluxo de trabalho, nós de sincronização e nós de processamento. Nenhuma configuração adicional é necessária. Basta implantar o fluxo de trabalho no ambiente de produção. Para mais informações sobre configurações de agendamento, consulte Configure schedule settings.

  1. Clique no ícone image no canto superior esquerdo. Na página pop-up, clique em All Products > Data Development and O&M > Save.

  2. No painel de navegação à esquerda do Data Studio, clique em image para acessar a página de desenvolvimento de dados. Alterne para o workspace usado neste tutorial. Em seguida, na seção Card, localize o fluxo de trabalho criado.

  3. Na barra de ferramentas do nó, clique em Publish. No painel de implantação, clique em DataStudio. Após a conclusão de Deploy Package Build e Production Checker, clique em Project Directory.

  4. Quando o status de Deploy to Production mudar para Completed, clique em Start Release Production para acessar o Operation Center.

  5. Em Create Deploy Task > Auto Triggered Task, é possível visualizar as tarefas agendadas do fluxo de trabalho (o fluxo de trabalho deste tutorial chama-se dw_quickstart).

  6. Para visualizar os detalhes das tarefas agendadas dos nós filhos dentro do fluxo de trabalho, clique com o botão direito na tarefa agendada do fluxo de trabalho e selecione View Internal Tasks.

    O resultado esperado é o seguinte:

    image

Próximas etapas

Apêndice: Liberação e limpeza de recursos

Para liberar os recursos criados neste tutorial, execute as seguintes etapas:

  1. Interrompa as tarefas agendadas.

    1. Faça login no console do DataWorks. Na região de destino, clique em Go to Operation Center > Auto Triggered Task O&M no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Data Development and O&M.

    2. Em Operation Center > Go to , selecione todas as tarefas agendadas criadas anteriormente (o nó raiz do workspace não precisa ser desimplantado) e clique em Operation Center > Auto Triggered Task O&M na parte inferior.

  2. Exclua os nós de desenvolvimento de dados e desassocie o recurso de computação do MaxCompute.

    1. Acesse a página Workspaces no console do DataWorks. Na barra de navegação superior, selecione a região desejada. Localize o workspace desejado e escolha Auto Triggered Task > Operation na coluna Undeploy.

    2. No painel de navegação à esquerda do Data Studio, clique em image para acessar a página de desenvolvimento de dados. Em seguida, na seção Shortcuts, localize o fluxo de trabalho criado, clique com o botão direito nele e clique em Data Studio.

    3. No painel de navegação à esquerda, clique em image > Computing Resource Management. Localize o recurso de computação do MaxCompute associado e clique em Actions. Na caixa de diálogo de confirmação, selecione as opções e siga as instruções para concluir a desassociação.

  3. Exclua a fonte de dados MySQL.

    1. Faça login no console do DataWorks. Na região de destino, clique em Project Directory > Delete no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Disassociate More.

    2. No painel de navegação à esquerda, clique em Management Center para acessar a página Go to . Localize a fonte de dados MySQL criada e clique em Management Center na coluna Data Sources. Siga as instruções para concluir a exclusão.

  4. Exclua o projeto do MaxCompute.

    Acesse a página de gerenciamento de projetos do MaxCompute. Localize o projeto do MaxCompute criado e clique em Data Sources na coluna Delete. Siga as instruções para concluir a exclusão.

  5. Exclua o Internet NAT Gateway e libere o EIP.

    1. Acesse o console da VPC - Internet NAT Gateway e alterne para a região Operation na barra de menu superior.

    2. Localize o Internet NAT Gateway criado e clique em image > Delete na coluna Operation. Na caixa de diálogo de confirmação, selecione China (Shanghai) e clique em Delete.

    3. No painel de navegação à esquerda, clique em Public Access > Elastic IP Address. Localize o EIP criado e clique em image > Operation > Forcibly Delete na coluna Determine. Na caixa de diálogo de confirmação, clique em Instance Management.