Todos os produtos
Search
Central de documentação

DataWorks:Tutorial: Análise de categorias de produtos

Última atualização: Jul 04, 2026

O DataWorks é uma plataforma unificada e completa para desenvolvimento e governança de big data, impulsionada por mecanismos como MaxCompute, Hologres, E-MapReduce (EMR), AnalyticDB e CDP. Ela oferece suporte a data warehouses, data lakes e arquiteturas lakehouse. Este tutorial demonstra como ingerir dados, orquestrar fluxos de trabalho empresariais, agendar tarefas periódicas e criar visualizações de dados com o DataWorks.

Primeiros passos

Este tutorial utiliza um cenário de e-commerce para demonstrar a construção de um Pipeline de Dados completo, desde a ingestão de dados brutos até a análise e Visualização de Dados. Seguir esse processo padronizado permite criar rapidamente Fluxos de Trabalho de dados reutilizáveis, garantindo Agendamento confiável e Observabilidade operacional. Essa abordagem possibilita que usuários de negócios transformem dados em insights sem necessidade de profundo conhecimento técnico, facilitando a adoção de aplicações de big data pela sua organização.

Neste tutorial, você irá:

  1. Sincronização de Dados: Utilizar o módulo Data Integration no DataWorks para criar uma Tarefa em Lote de tabela única que sincroniza dados empresariais para uma plataforma de computação de big data, como o MaxCompute.

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

  3. Visualização de Dados: Empregar o módulo Data Analysis no DataWorks para converter resultados de análises em gráficos de fácil compreensão para usuários de negócios.

  4. Agendamento Periódico: Configurar o Agendamento Periódico para os processos de Sincronização de Dados e Limpeza de Dados.

image

Neste tutorial, você utilizará o seguinte Fluxo de Trabalho para gerar um ranking diário das categorias de produtos mais vendidas, sincronizando e analisando dados brutos de produtos e pedidos de uma fonte de dados pública para o MaxCompute:

image

Pré-requisitos

Para concluir este tutorial, é necessária uma conta Alibaba Cloud ou um usuário RAM com a permissão AliyunDataWorksFullAccess. Para mais informações, consulte Preparar uma conta Alibaba Cloud ou Preparar um usuário RAM.

Nota

O DataWorks oferece um sistema abrangente de permissões que suporta controle de acesso nos níveis de produto e módulo. Caso necessite de um controle de acesso mais refinado, consulte Visão geral do sistema de gerenciamento de permissões do DataWorks.

Pré-requisitos

(Opcional) Ativar avaliação gratuita

O DataWorks disponibiliza uma avaliação gratuita para ajudar novos usuários a experimentar o desenvolvimento de big data nativo da nuvem com baixo custo. É possível solicitar um plano de dedução de recursos para compensar o consumo de um grupo de recursos serverless.

  1. Acesse a página de Avaliação Gratuita da Alibaba Cloud.

  2. No painel de navegação à esquerda, em Products, expanda Big Data Computing > Data Development and Services. Localize o cartão de avaliação gratuita do DataWorks e clique em Try Now.

    Importante
    • O plano de dedução de recursos da avaliação gratuita está disponível apenas para novos usuários do DataWorks. Se você já for cliente, a página indicará que não é elegível para a avaliação.

    • O plano de dedução de recursos da avaliação gratuita do DataWorks compensa apenas o consumo de recursos de grupos de recursos serverless no modelo Pagamento conforme o uso. Podem ser cobrados outros itens faturáveis no DataWorks ou após a expiração do plano. Para mais informações, consulte Regras de dedução e Faturamento do DataWorks.

  3. Siga as instruções na tela para solicitar seu plano de dedução de recursos.

    O plano de dedução de recursos deve ser usado com um grupo de recursos serverless no modelo Pagamento conforme o uso. Após solicitar o plano, crie um grupo de recursos e associe-o a um workspace . Ao utilizar esse grupo de recursos para desenvolvimento de big data, o sistema deduz automaticamente a capacidade CU do plano.

Ativar o DataWorks

Este tutorial utiliza a região China (Shanghai) para demonstrar como começar a usar o DataWorks. É necessário fazer login no console do DataWorks, alternar para a região China (Shanghai) e verificar se o DataWorks está ativado.

Nota

Selecione uma região com base na localização dos seus dados empresariais:

  • Caso seus dados empresariais estejam em outros serviços da Alibaba Cloud, selecione a mesma região desses serviços.

  • Se seus dados estiverem on-premises e exigirem acesso via rede pública, escolha a região mais próxima para reduzir a latência.

Novos usuários

Se você é novo no DataWorks, a seguinte página será exibida, indicando que o serviço ainda não está ativado na região atual. Clique em Purchase Product Portfolio for Free.

image

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

    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 que deseja adquirir.

    Nota

    Este tutorial usa a Basic Edition como exemplo. Todas as edições suportam os recursos abordados aqui. Para mais informações, consulte Edições e recursos do DataWorks para escolher a edição mais adequada às necessidades do seu negócio.

    Basic Edition

  2. Clique em DataWorks resource group para concluir o pagamento.

Ativado, mas expirado

Caso tenha ativado o DataWorks anteriormente na região Resource group name e o serviço tenha expirado, o seguinte aviso será exibido. Clique em VPC.

image

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

    Parâmetro

    Descrição

    Exemplo

    vSwitch

    Escolha a edição do DataWorks que deseja adquirir.

    Nota

    Este tutorial usa a service-linked role como exemplo. Todas as edições suportam os recursos abordados aqui. Para mais informações, consulte Edições e recursos do DataWorks para escolher a edição mais adequada às necessidades do seu negócio.

    Basic Edition

    Region

    Selecione a região onde deseja ativar o DataWorks.

    China (Shanghai)

  2. Clique em Confirm Order and Pay para concluir o pagamento.

Importante

Se não conseguir encontrar a edição do DataWorks adquirida, tente o seguinte:

  • Aguarde alguns minutos e atualize a página, pois pode haver um atraso do sistema.

  • Verifique se a região atual corresponde àquela onde a edição do DataWorks foi comprada. Se as regiões não coincidirem, a edição não será exibida.

Já ativado

Se o DataWorks já estiver ativado na região China (Shanghai), a página de visão geral do DataWorks será exibida. Prossiga para a próxima etapa.

Criar workspace

  1. Acesse a página Lista de Workspaces do DataWorks, alterne para a região Purchase Edition e clique em Edition.

  2. Na página Basic Edition, insira um Buy Now personalizado, ative a opção China (Shanghai) e clique em Create Workspace.

    Nota

    A partir de 18 de fevereiro de 2025, para contas Alibaba Cloud que criam seu primeiro workspace do DataWorks na região China (Shanghai), a nova versão do Data Studio é ativada por padrão. Consequentemente, o parâmetro Create Workspace não é exibido.

Configurar grupo de recursos

  1. Acesse a página Lista de Grupos de Recursos do DataWorks, alterne para a região China (Shanghai) e clique em Workspace Name.

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

    Parâmetro

    Descrição

    Use Data Studio (New Version)

    Insira um nome personalizado.

    VPC, Use Data Studio (New Version)

    Selecione uma VPC e um vSwitch existentes. Se nenhum estiver disponível na região atual, utilize o link do console na descrição do parâmetro para criá-los.

    service-linked role

    Siga as instruções na tela para criar a função vinculada ao serviço AliyunServiceRoleForDataWorks.

  3. Clique em Create Resource Group para concluir o pagamento.

  4. Retorne à página Lista de Grupos de Recursos do DataWorks, alterne para a região China (Shanghai), localize o grupo de recursos criado e clique em Associate Workspace na coluna vSwitch.

  5. Na página Associate Workspace, encontre o workspace do DataWorks criado e clique em Buy Now na coluna Actions correspondente.

Habilitar acesso à rede pública

Este tutorial utiliza dados de teste de e-commerce públicos acessados pela rede pública. Por padrão, o grupo de recursos criado na etapa anterior não possui acesso à rede pública. É necessário configurar um NAT Gateway de Internet e adicionar um Elastic IP Address (EIP) à Virtual Private Cloud (VPC) associada ao grupo de recursos para habilitar o acesso à rede pública e recuperar os dados.

  1. Faça login no console de VPC - Internet NAT Gateway. Na barra de navegação superior, alterne para a região China (Shanghai) e clique em Actions. Configure os seguintes parâmetros.

    Nota

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

    Parâmetro

    Valor

    Region

    China (Shanghai).

    Associate

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

    Encontre a VPC e o vSwitch na página Lista de Grupos de Recursos do DataWorks. Alterne para a região China (Shanghai), localize o grupo de recursos e clique em Network Settings na coluna Create Internet NAT Gateway. As informações de VPC Binding e Network and zone estão na seção Data Scheduling & Data Integration. Para mais detalhes sobre VPC, consulte O que é uma Virtual Private Cloud?.

    Network type

    Internet NAT Gateway.

    Actions

    Selecione a opção para comprar um novo EIP.

    Create service-linked role

    Se estiver criando um Internet NAT Gateway pela primeira vez, crie uma função vinculada ao serviço clicando em vSwitch.

  2. Clique em Buy Now para concluir o pagamento e criar a instância do Internet NAT Gateway.

    image

  3. Após criar a instância do Internet NAT Gateway, retorne ao console e crie uma entrada SNAT para ela.

    Nota

    O grupo de recursos só poderá acessar a rede pública através desta VPC após a configuração de uma entrada SNAT.

    1. Na coluna Actions da nova instância, clique em Manage e, em seguida, clique na aba Elastic IP address (EIP).

    2. Na SNAT Entry List, clique em Create service-linked role e configure os seguintes parâmetros principais:

      Parâmetro

      Valor

      SNAT entry

      Selecione Specify VPC para garantir que todos os grupos de recursos dentro da VPC do Internet NAT Gateway possam acessar a rede pública usando o EIP configurado.

      Select EIP

      Selecione o EIP vinculado à instância atual do Internet NAT Gateway.

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

    Na SNAT Entry List, quando o Configure SNAT da nova entrada SNAT mudar para Available, a VPC associada ao grupo de recursos terá acesso à rede pública.

Configurar recurso MaxCompute

Neste tutorial, você criará um projeto MaxCompute e o associará como um recurso de computação do DataWorks. Esse recurso será utilizado para ingerir dados e realizar análises de big data.

  1. Acesse a página Lista de Workspaces do DataWorks, alterne para a região China (Shanghai), localize o workspace criado e clique no nome dele para ir à página Workspace Details.

  2. No painel de navegação à esquerda, clique em Computing Resource, depois em Status e selecione o tipo MaxCompute. Configure os seguintes parâmetros principais para criar um projeto MaxCompute e associá-lo como recurso de computação do DataWorks.

    Nota

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

    Parâmetro

    Descrição

    MaxCompute project

    Na lista suspensa, clique em Create e configure os seguintes parâmetros:

    • Project name: Insira um nome personalizado globalmente único.

    • Associate Computing Resource: Selecione Pay-as-you-go.

      Nota

      Se Pay-as-you-go não estiver disponível, clique em Activate ao lado para ativar o serviço MaxCompute.

    • Default quota: Selecione uma cota existente na lista suspensa.

    Billing method

    Selecione Alibaba Cloud account.

    Computing resource instance name

    Este nome é usado para selecionar o recurso de computação ao executar uma tarefa. Utilize um nome descritivo, como MaxCompute_Source.

  3. Clique em OK.

Procedimento

Este tutorial demonstra os recursos principais do DataWorks por meio de um exemplo prático.

Imagine uma plataforma de e-commerce que armazena informações de produtos e pedidos em um banco de dados MySQL. O objetivo é analisar periodicamente esses dados e visualizar um ranking diário das categorias de produtos mais vendidas.

Etapa 1: Sincronizar dados

Criar uma fonte de dados

Nesta etapa, crie uma Data Source MySQL para conectar-se ao banco de dados de origem do tutorial.

Nota

Não é necessário preparar seus próprios dados empresariais. O DataWorks fornece um conjunto de dados de amostra em um banco de dados MySQL público para este tutorial. Crie uma Fonte de Dados MySQL para conectar-se a ele.

  1. Acesse a página Management Center do DataWorks. Alterne a região para China (Shanghai), selecione seu Workspace na lista suspensa e clique em Default access identity.

  2. No painel de navegação à esquerda, clique em Data Sources para ir à página Data Source List. Clique em Add Data Source, selecione o tipo MySQL e configure os parâmetros da Fonte de Dados.

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

    • Ao adicionar uma fonte de dados pela primeira vez, é necessário concluir a China East 2 (Shanghai). Siga as instruções na tela para conceder a função vinculada ao serviço AliyunDIDefaultRole.

    Parâmetro

    Descrição

    Go to Management Center

    Para este tutorial, insira MySQL_Source.

    Configuration Mode

    Selecione Connection String Mode.

    Endpoint

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

    • Port: 3306

    Importante

    Os dados deste tutorial destinam-se à prática hands-on com o DataWorks. São apenas para testes e somente leitura dentro do módulo Data Integration.

    cross-service authorization

    Insira retail_e_commerce.

    Data Source Name

    Insira workshop.

    Password

    Insira workshop#2017.

  3. Na seção Connection Configuration, alterne para a aba Data Integration. Localize o grupo de recursos vinculado ao seu workspace e clique em Database Name na coluna Username.

    Nota

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

    • Conclua as etapas subsequentes na ferramenta de diagnóstico de conectividade.

    • Verifique se há um Elastic IP address (EIP) configurado para a VPC vinculada 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 Habilitar acesso à rede pública para um grupo de recursos.

  4. Clique em Complete Creation.

Construir um pipeline de sincronização

Nesta etapa, construa um pipeline de sincronização para transferir dados de produtos e pedidos de e-commerce para tabelas do MaxCompute para processamento posterior.

  1. Clique no ícone 图标 no canto superior esquerdo e selecione All Products > Data Development and O&M > Test Network Connectivity para ir à página do DataStudio.

  2. No topo da página, alterne para o seu Workspace. No painel de navegação à esquerda, clique em image para acessar a página do DataStudio.

  3. Na seção Connectivity Status, clique em image, selecione Create Workflow e nomeie-o como dw_quickstart.

  4. Na tela de fluxo de trabalho, arraste um nó Zero Load e dois nós de Batch Synchronization do painel esquerdo para a tela. Configure os nós de DataStudio (Data Development) da seguinte forma:

    • Data Source Type: MySQL

    • Data Destination Type: MaxCompute

    • Specific Type: Batch Synchronization Node

    A tabela abaixo lista os nomes dos nós e suas funções neste tutorial:

    Tipo de nó

    Nome do nó

    Função

    image Zero Load

    workshop

    Serve como ponto de entrada do Fluxo de Trabalho para definir um fluxo de dados claro. Esta é uma tarefa Batch Synchronization que não requer código.

    image Batch Synchronization Node

    ods_item_info

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

    image Batch Synchronization Node

    ods_trade_order

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

    Conecte os nós arrastando e soltando, tornando o nó workshop o nó upstream para ambos os nós de Batch Synchronization. O resultado final deve ficar assim:

    image
  5. Configure o agendamento do fluxo de trabalho.

    No lado direito da tela de fluxo de trabalho, clique em Scheduling e configure os parâmetros. A tabela a seguir descreve os parâmetros principais para este tutorial. Utilize os valores padrão para todos os outros parâmetros.

    Parâmetro de agendamento

    Descrição

    Scheduling Parameters

    Define parâmetros de agendamento para todo o fluxo de trabalho. Eles podem ser usados diretamente pelos nós dentro do fluxo.

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

    Nota

    O DataWorks fornece parâmetros de agendamento que permitem valores dinâmicos no código. Defina variáveis no código SQL usando o formato ${variable_name} e atribua valores a elas em Scheduling > Scheduling Parameters. Para formatos de parâmetros suportados, consulte Formatos de parâmetros de agendamento.

    Dry-run

    Para este tutorial, defina como Daily.

    Scheduling Time

    Para este tutorial, defina o Scheduling Time como 00:30. O fluxo de trabalho iniciará às 00:30 todos os dias.

    Scheduling Dependencies

    Este fluxo de trabalho não possui dependências upstream, portanto, deixe esta opção sem configuração. Para gerenciamento unificado, clique em Use Workspace Root Node para anexar o fluxo ao nó raiz do workspace.

    O nó raiz do workspace segue o formato de nome WorkspaceName_root.

Configurar tarefas de sincronização

Nó inicial

  1. Na tela de fluxo de trabalho, passe o mouse sobre o nó workshop e clique em Scheduling Cycle.

  2. No lado direito do editor do nó workshop, clique em Scheduling e configure os parâmetros. A tabela a seguir descreve os parâmetros principais para este tutorial. Mantenha os valores padrão para quaisquer outros parâmetros.

    Parâmetro de agendamento

    Descrição

    Scheduling Type

    Para este tutorial, defina como Dry-run.

    Resource Group

    Para este tutorial, selecione o grupo de recursos serverless criado em Criar um grupo de recursos e vinculá-lo a um workspace.

    Node Dependency Configuration

    Como workshop é o nó inicial e não tem dependências upstream, clique em Open Node para que o fluxo seja acionado pelo nó raiz do workspace.

    O nó raiz do workspace segue o formato de nome WorkspaceName_root.

  3. Clique em Save na barra de ferramentas do nó para salvá-lo.

Sincronização de informações de produtos (ods_item_info)

  1. Na tela de fluxo de trabalho, passe o mouse sobre o nó ods_item_info 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 MaxCompute vinculado em Criar e vincular um recurso de computação MaxCompute. Este exemplo usa MaxCompute_Source.

    Use Workspace Root Node

    Selecione o grupo de recursos serverless adquirido em Criar um grupo de recursos e vinculá-lo a um workspace.

  3. Configure as definições de sincronização.

    1. Configure the Data Source and destination

      Nota

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

      Área de configuração

      Parâmetro

      Descrição

      Data Source

      Table

      item_info.

      Data Destination

      Table

      Clique em Generate Destination Table Schema para criar rapidamente uma tabela MaxCompute. Cole a seguinte instrução na área Table Creation Statement e clique em Create Table. Esta tabela receberá as informações de produtos da fonte de dados.

      SQL de Criação de Tabela

      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

      Para este tutorial, insira ${bizdate}. Esta variável usa um valor constante para testes e um valor dinâmico para execuções agendadas. Para mais informações sobre formatos de variáveis e configuração no DataStudio, consulte Parâmetros de agendamento.

    2. Confirme o Field Mapping e o Channel Control.

      O DataWorks mapeia os campos de origem para seus campos de destino correspondentes. Também é possível definir configurações como concorrência de tarefas e Política de Dados Sujos no painel Channel Control à direita. Para este tutorial, defina a Policy for Dirty Data Records como Disallow Dirty Data Records e mantenha as outras configurações nos padrões. Para mais informações, consulte Configurar um nó de sincronização em lote no modo assistente.

  4. Clique em Save na barra de ferramentas do nó para salvá-lo.

Sincronização de dados de pedidos (ods_trade_order)

  1. Na tela de 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 MaxCompute vinculado em Criar e vincular um recurso de computação MaxCompute. Este exemplo usa MaxCompute_Source.

    Resource Group

    Selecione o grupo de recursos serverless adquirido em Criar um grupo de recursos e vinculá-lo a um workspace.

  3. Clique em Next para configurar a tarefa de sincronização.

    1. Configure the Data Source and destination

      Nota

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

      Área de configuração

      Parâmetro

      Descrição

      Data Source

      Table

      trade_order

      Resource Group

      Table

      Clique em Generate Destination Table Schema para criar rapidamente uma tabela MaxCompute. Cole a seguinte instrução na área Table Creation Statement e clique em Create Table. Esta tabela receberá as informações de produtos da fonte de dados.

      SQL de Criação de Tabela

      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;

      Data Destination

      Para este tutorial, insira ${bizdate}. Esta variável usa um valor constante para testes e um valor dinâmico para execuções agendadas. Para mais informações sobre formatos de variáveis e configuração no DataStudio, consulte Parâmetros de agendamento.

    2. Confirme o Field Mapping e o Channel Control.

      O DataWorks mapeia os campos de origem para seus campos de destino correspondentes. Também é possível definir configurações como concorrência de tarefas e Política de Dados Sujos no painel Channel Control à direita. Para este tutorial, defina a Policy for Dirty Data Records como Disallow Dirty Data Records e mantenha as outras configurações nos padrões. Para mais informações, consulte Configurar um nó de sincronização em lote no modo assistente.

  4. Clique em Partition Information na barra de ferramentas do nó para salvá-lo.

Etapa 2: Limpar e processar dados

Após sincronizar os dados para o MaxCompute, utilize o módulo DataStudio para limpar, processar e analisar as tabelas ods_item_info e ods_trade_order a fim de gerar um ranking diário das categorias de produtos mais vendidas.

Construir um pipeline de processamento de dados

  1. No painel de navegação à esquerda do DataStudio, clique em image para ir à página do DataStudio. Na seção Workspace Directories, localize e clique no fluxo de trabalho criado. Na tela de fluxo de trabalho, arraste nós MaxCompute SQL do painel esquerdo e nomeie-os adequadamente.

    A tabela a seguir mostra os nomes de nós de exemplo e suas funções neste tutorial:

    Tipo de nó

    Nome do nó

    Função

    image MaxCompute SQL

    dim_item_info

    Processa dados de produtos da tabela ods_item_info para criar a Tabela de Dimensão dim_item_info.

    image MaxCompute SQL

    dwd_trade_order

    Limpa e transforma dados de transações da tabela ods_trade_order para criar a Tabela Fato dwd_trade_order.

    image MaxCompute SQL

    dws_daily_category_sales

    Agrega os dados detalhados limpos e padronizados das tabelas dwd_trade_order e dim_item_info para produzir a tabela de resumo diário de vendas por categoria de produto, dws_daily_category_sales.

    image MaxCompute SQL

    ads_top_selling_categories

    Gera a tabela de ranking diário das categorias de produtos mais vendidas, ads_top_selling_categories, com base na tabela dws_daily_category_sales.

  2. Arraste e solte para conectar os nós e configurar suas dependências upstream. O resultado final deve ficar assim:

    image
    Nota

    É possível definir dependências conectando nós manualmente ou habilitando a análise automática do código dentro de cada nó. Este tutorial utiliza o método de conexão manual. Para mais informações sobre análise automática, consulte Análise automática de dependências.

Configurar nós de processamento de dados

Nó dim_item_info

Este nó processa dados de dimensão de produtos da tabela ods_item_info para produzir a tabela de dimensão de informações de produtos, dim_item_info.

  1. Na tela de fluxo de trabalho, passe o mouse sobre o nó dim_item_info e clique em Open Node.

  2. Cole o seguinte código no editor do nó.

    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. Configure os parâmetros de execução.

    No lado direito do editor do nó MaxCompute SQL, clique em Running Configurations:

  4. Clique em Save na barra de ferramentas do nó para salvá-lo.

Nó dwd_trade_order

Este nó realiza limpeza inicial, transformação e processamento de lógica de negócios nos dados detalhados de transações da tabela ods_trade_order para produzir a tabela fato de detalhes de transações, dwd_trade_order.

  1. Na tela de fluxo de trabalho, passe o mouse sobre o nó dwd_trade_order e clique em Open Node.

  2. Cole o seguinte código no editor 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 (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. Configure os parâmetros de execução.

    No lado direito do editor do nó MaxCompute SQL, clique em Running Configurations:

  4. Clique em Save na barra de ferramentas do nó para salvá-lo.

Nó dws_daily_category_sales

Este nó agrega os dados detalhados limpos e padronizados das tabelas dwd_trade_order e dim_item_info para produzir a tabela de resumo diário de vendas por categoria de produto, dws_daily_category_sales.

  1. Na tela de fluxo de trabalho, passe o mouse sobre o nó dws_daily_category_sales e clique em Open Node.

  2. Cole o seguinte código no editor do nó.

    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. Configure os parâmetros de execução.

    No lado direito do editor do nó MaxCompute SQL, clique em Running Configurations:

  4. Clique em Save na barra de ferramentas do nó para salvá-lo.

Nó ads_top_selling_categories

Este nó gera a tabela de ranking diário das categorias de produtos mais vendidas, ads_top_selling_categories, com base na tabela dws_daily_category_sales.

  1. Na tela de fluxo de trabalho, passe o mouse sobre o nó ads_top_selling_categories e clique em Open Node.

  2. Cole o seguinte código no editor do nó.

    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. Configure os parâmetros de execução.

    No lado direito do editor do nó MaxCompute SQL, clique em Running Configurations:

  4. Clique em Save na barra de ferramentas do nó para salvá-lo.

Etapa 3: Executar e depurar o fluxo de trabalho

Após configurar o Fluxo de Trabalho, execute-o para verificar sua configuração antes de implantá-lo no Ambiente de Produção.

  1. No painel de navegação à esquerda do DataStudio, clique em image para ir à página do DataStudio e localize o fluxo de trabalho criado na seção Workspace Directories.

  2. Clique em Run na barra de ferramentas do nó. Na caixa de diálogo Enter running parameters, insira a data do dia anterior (por exemplo, 20250416).

    Nota

    Os nós do fluxo de trabalho usam parâmetros de agendamento para código dinâmico. Durante a depuração, é necessário atribuir um valor constante a esses parâmetros para teste.

  3. Clique em OK para ir à página de execução de depuração.

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

    image

Etapa 4: Consultar e visualizar dados

Com os dados brutos processados e agregados na tabela ads_top_selling_categories, faça consultas para visualizar os resultados.

  1. Clique no ícone image no canto superior esquerdo e clique em Save > Data Analysis > SQL Query.

  2. Ao lado de My Files, clique em image > Create File. Insira um File Name personalizado e clique em All Products.

  3. No editor SQL Query, 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 OK.

  5. Clique no botão Run na parte superior. Na página Cost Estimation, clique em Run.

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

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

Etapa 5: Configurar agendamento periódico

Para obter atualizações diárias, implante o Fluxo de Trabalho no Ambiente de Produção para execução periódica.

Nota

Os parâmetros de agendamento já foram configurados para o fluxo de trabalho e seus nós durante as etapas de sincronização e processamento de dados. Basta implantar o fluxo de trabalho no ambiente de produção. Para mais informações sobre configurações de agendamento, consulte Configurar agendamento de nó.

  1. Clique no ícone image no canto superior esquerdo e clique em All Products > Data Development and O&M > DataStudio (Data Development).

  2. No painel de navegação à esquerda do DataStudio, clique em image para ir à página do DataStudio. Alterne para o Workspace usado neste tutorial e localize o fluxo de trabalho criado na seção Workspace Directories.

  3. Clique em Deploy na barra de ferramentas do nó. No painel de implantação, clique em Start Deployment to Production. Aguarde a conclusão das etapas Build Package e Prod Online Check e clique em Deploy.

  4. Quando o status Prod Online mudar para Complete, clique em Perform O&M para ir ao Operation Center.

    image

  5. Em Auto Triggered Node O&M > Auto Triggered Nodes, é possível visualizar a tarefa periódica do Fluxo de Trabalho (nomeada dw_quickstart neste tutorial).

  6. Para visualizar as tarefas periódicas dos nós filhos dentro do Fluxo de Trabalho, clique com o botão direito na tarefa periódica do fluxo e selecione View Internal Tasks.

    image

    O resultado esperado é o seguinte:

    image

Próximas etapas

Limpeza de recursos

Para limpar os recursos criados neste tutorial, siga estas etapas:

  1. Desimplante os Nós Acionados Automaticamente.

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

    2. Acesse Auto Triggered Node O&M > Data Development and O&M. Marque as caixas de seleção de todos os Nós Acionados Automaticamente criados. Não desimplante o nó raiz do Workspace. Em seguida, na parte inferior da página, clique em Actions > Go to .

  2. Exclua os nós de desenvolvimento de dados e desassocie o Recurso de Computação 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 Operation Center > Data Studio na coluna Auto Triggered Nodes.

    2. No painel de navegação à esquerda do Data Studio, clique no ícone image para abrir a página Data Development. Na seção Workspace Directories, localize e clique com o botão direito no Fluxo de Trabalho criado e, em seguida, clique em Undeploy.

    3. No painel de navegação à esquerda, clique em image > Shortcuts. Localize o Recurso de Computação MaxCompute associado e clique em Disassociate. Na caixa de diálogo de confirmação, marque a caixa de seleção e siga as instruções na tela.

  3. Exclua a Fonte de Dados MySQL.

    1. Faça login no console do DataWorks. Na região alvo, clique em Actions > Workspace Directories no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Delete Computing Resources.

    2. No painel de navegação à esquerda, clique em Data Sources. Na página More, localize a Fonte de Dados MySQL criada, clique em Management Center na coluna Go to e siga as instruções na tela.

  4. Exclua o projeto MaxCompute.

    Acesse a página Gerenciamento de Projetos MaxCompute. Localize o projeto MaxCompute criado, clique em Management Center na coluna Actions e siga as instruções na tela.

  5. Exclua o Internet NAT Gateway e libere o Elastic IP Address (EIP).

    1. Acesse o Console de VPC - Internet NAT Gateway. Na barra de menu superior, alterne a Região para Data Sources.

    2. Localize o Internet NAT Gateway criado e clique em image > Delete na coluna Actions. Na caixa de diálogo de confirmação, marque a caixa de seleção Delete e clique em OK.

    3. No painel de navegação à esquerda, clique em China (Shanghai) > Elastic IP Addresses. Localize o EIP criado e, na coluna Actions, escolha image > Delete > Release. Na caixa de diálogo de confirmação, clique em Access to Internet.