Este tutorial apresenta um exemplo de uso de uma tarefa de sincronização em lote do Data Integration para sincronizar informações básicas de usuários da tabela ods_user_info_d no MySQL e dados de log de acesso ao site do arquivo user_log.txt no OSS para as tabelas ods_user_info_d e ods_raw_log_d no MaxCompute, respectivamente. O objetivo é demonstrar como utilizar o Data Integration do DataWorks para sincronizar dados entre fontes heterogêneas e popular um data warehouse.
Pré-requisito
Certifique-se de que o ambiente de trabalho necessário esteja pronto. Para obter etapas detalhadas, consulte {{XREF_0}}.
1. Criar fontes de dados
Crie as seguintes fontes de dados no seu workspace do DataWorks para obter os dados brutos necessários para este tutorial.
Fonte de dados MySQL: Neste tutorial, utiliza-se uma fonte de dados MySQL chamada
user_behavior_analysis_mysqlpara obter as informações básicas de usuários (ods_user_info_d) armazenadas no MySQL.Fonte de dados HttpFile: Neste tutorial, utiliza-se uma fonte de dados HttpFile chamada
user_behavior_analysis_httpfilepara obter logs de acesso de usuários ao site (user_log.txt) armazenados no Object Storage Service (OSS).
Caso já tenha criado fontes de dados MySQL e HttpFile durante outros tutoriais de análise de perfil de usuário para diferentes recursos de computação, pule esta etapa.
Criar uma fonte de dados MySQL ( user_behavior_analysis_mysql)
Crie uma fonte de dados MySQL para sincronizar as informações básicas de usuários (ods_user_info_d) do banco de dados MySQL para o MaxCompute.
-
Acesse a página Data Sources.
Faça login no console do DataWorks. Na região desejada, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Management Center.
No painel de navegação à esquerda, clique em Data Source.
Clique em Add Connection e, em seguida, pesquise e selecione MySQL como o tipo de fonte de dados.
-
Na página Create Mysql Data Source, configure os parâmetros. Para este tutorial, utilize os mesmos valores de exemplo tanto para o ambiente de desenvolvimento quanto para o de produção.
A tabela a seguir descreve os principais parâmetros necessários para este tutorial. Mantenha todos os outros parâmetros com seus valores padrão.
Parâmetro
Descrição
Data Source Name
Insira um nome para a fonte de dados. Para este tutorial, insira
user_behavior_analysis_mysql.Description
Esta é uma fonte de dados dedicada às experiências do tutorial do DataWorks. É possível ler dados de teste fornecidos pela plataforma ao configurar uma tarefa de sincronização em lote. Esta fonte de dados suporta apenas operações de leitura em cenários do Data Integration e não pode ser usada em outros módulos.
Configuration Mode
Selecione User-created Data Store with Public IP Addresses.
Connection Address
Endereço IP do host:
rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.comPorta:
3306
Database Name
Insira o nome do banco de dados. Para este tutorial, insira
workshop.Username
Insira o nome de usuário. Para este tutorial, insira
workshop.Password
Insira a senha. Para este tutorial, insira
workshop#2017.Authentication Method
Sem autenticação.
-
Na seção Connection Configuration, clique em Test Connectivity tanto para o ambiente de produção quanto para o de desenvolvimento e certifique-se de que o status de conectividade seja Connectable.
ImportanteCertifique-se de que o grupo de recursos esteja associado ao workspace e tenha acesso à rede pública configurado. Caso contrário, ocorrerão erros durante a sincronização subsequente de dados. Para etapas de configuração, consulte {{XREF_1}}.
Se nenhum grupo de recursos estiver disponível, siga as instruções na seção de configuração de conexão, clique em Go to Buy e em Associate Purchased Resource Group.
Clique em Complete Creation.
Criar uma fonte de dados HttpFile ( user_behavior_analysis_httpfile)
Os dados de log de acesso ao site dos usuários para este tutorial estão armazenados no OSS. É necessário criar uma fonte de dados HttpFile para sincronizar os logs de acesso ao site (user_log.txt) do OSS para o MaxCompute.
Na página Management Center, clique em Data Source no painel de navegação à esquerda.
Clique em Add Connection. Na caixa de diálogo Add Connection, pesquise e selecione Httpfile como o tipo de fonte de dados.
-
Na página Create Httpfile Data Source, configure os parâmetros. Para este tutorial, utilize os mesmos valores de exemplo tanto para o ambiente de desenvolvimento quanto para o de produção.
A tabela a seguir descreve os principais parâmetros necessários para este tutorial. Mantenha todos os outros parâmetros com seus valores padrão.
Parâmetro
Descrição
Data Source Name
Insira um nome para a fonte de dados. Para este tutorial, insira
user_behavior_analysis_httpfile.Description
Esta é uma fonte de dados dedicada às experiências do tutorial do DataWorks. É possível ler dados de teste fornecidos pela plataforma ao configurar uma tarefa de sincronização em lote. Esta fonte de dados suporta apenas operações de leitura em cenários do Data Integration e não pode ser usada em outros módulos.
URL
Defina a URL como https://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com tanto para o ambiente de desenvolvimento quanto para o de produção.
-
Na seção Connection Configuration, clique em Test Connectivity tanto para o ambiente de produção quanto para o de desenvolvimento e certifique-se de que o status de conectividade seja Connectable.
ImportanteCertifique-se de que o grupo de recursos esteja associado ao workspace e tenha acesso à rede pública configurado. Caso contrário, ocorrerão erros durante a sincronização subsequente de dados. Para etapas de configuração, consulte {{XREF_2}}.
Se nenhum grupo de recursos estiver disponível, siga as instruções na seção de configuração de conexão, clique em Go to Buy e em Associate Purchased Resource Group.
Clique em Complete Creation.
2. Construir pipelines de sincronização
Nesta etapa, você constrói pipelines de sincronização para transferir informações básicas de usuários e dados de log de acesso ao site para tabelas do MaxCompute, permitindo o processamento posterior dos dados.
Clique no ícone
no canto superior esquerdo e escolha . Em seguida, alterne para o workspace criado para este tutorial na parte superior da página.No painel de navegação à esquerda, clique em
para acessar a página de desenvolvimento de dados. Na seção Project Directory, clique em
e selecione Create Workflow. Defina o nome do workflow. Para este tutorial, defina como user_profile_analysis.-
Na página de orquestração do workflow, clique em New Node e arraste um Zero-Load Node e nós de Data Integration para a tela à direita. Configure os nós de Data Integration da seguinte forma:
Data Source Type: MySQL.
Data destination type: MaxCompute.
Specific Type: Single Table Batch Sync.
Defina os nomes dos nós. A tabela a seguir lista os nomes de nós de exemplo e suas finalidades neste tutorial:
Tipo de nó
Nome do nó
Finalidade
Nó virtualworkshop_startUtilizado para gerenciar todo o workflow de análise de perfil de usuário, tornando o caminho do fluxo de dados mais claro. Este é um Dry-Run Node e não requer código.
Nó de sincronização em loteods_user_info_dSincroniza informações básicas de usuários do MySQL para a tabela
ods_user_info_dno MaxCompute.
Nó de sincronização em loteods_raw_log_dSincroniza logs de acesso ao site dos usuários do OSS para a tabela
ods_raw_log_dno MaxCompute. -
Arraste manualmente as conexões para definir o nó
workshop_startcomo o nó upstream dos dois nós de sincronização em lote. O resultado final é o seguinte: -
Configure o agendamento do workflow.
No lado direito da página de orquestração do workflow, clique em Scheduling Configuration e configure os parâmetros. A tabela a seguir descreve os principais parâmetros necessários para este tutorial. Mantenha todos os outros parâmetros com seus valores padrão.
Parâmetro de configurações de agendamento
Descrição
Scheduling Parameters
Defina um parâmetro de agendamento para todo o workflow. Os nós internos podem utilizá-lo diretamente. Para este tutorial, defina como
bizdate=$[yyyymmdd-1]para obter a data do dia anterior.Scheduling period
Para este tutorial, defina como
Day.Scheduling time
Para este tutorial, defina o Scheduling time como
00:30. O workflow será executado diariamente às00:30.Configuração de dependência de nó
O workflow não possui dependência upstream, portanto, não é necessário configurar uma. Para facilitar o gerenciamento, clique em Using the Workspace Root Node para montar o workflow sob o nó raiz do workspace.
O nó raiz do workspace segue o formato de nomenclatura:
workspace name_root.
3. Configurar tarefas de sincronização
Configurar o nó inicial
Na página de orquestração do workflow, passe o mouse sobre o nó
workshop_starte clique em Open Node.-
No lado direito da página de edição do nó
workshop_start, clique em Scheduling Configuration e configure os parâmetros. A tabela a seguir descreve os principais parâmetros necessários para este tutorial. Mantenha todos os outros parâmetros com seus valores padrão.Parâmetro de configurações 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 na etapa {{XREF_3}}.
Configuração de dependência de nó
Como
workshop_starté o nó inicial e não possui dependência upstream, clique em Using the Workspace Root Node para acionar a execução do workflow a partir do nó raiz do workspace.O nome do nó raiz do workspace é:
workspace name_root.
Configurar o pipeline de sincronização de dados de usuário (ods_user_info_d)
Na página de orquestração do workflow, passe o mouse sobre o nó
ods_user_info_de clique em Open Node.-
Configure a rede e os recursos do pipeline de sincronização.
Parâmetro
Descrição
Data source
Fonte de dados:
MySQL.Nome da fonte de dados:
user_behavior_analysis_mysql.
My Resource Group
Selecione o grupo de recursos serverless adquirido na etapa {{XREF_4}}.
Data going
Destino dos dados:
MaxCompute(ODPS).Nome da fonte de dados: Selecione o recurso de computação MaxCompute associado na etapa {{XREF_5}}. Neste exemplo, é
MaxCompute_Source.
-
Clique em The next Step para configurar a tarefa de sincronização.
-
Configure Source and Destination
A tabela a seguir descreve os principais parâmetros necessários para este tutorial. Mantenha todos os outros parâmetros com seus valores padrão.
Seção
Parâmetro
Descrição
Data source
Table
Selecione
ods_user_info_d.Shard Key
Defina a chave de divisão como a coluna
uid. A coluna uid é a chave primária da tabelaods_user_info_dno MySQL.Data going
Tunnel Resource Group
O valor padrão para este tutorial é Public Transfer Resource. Se você possuir uma Tunnel Quota exclusiva, poderá selecioná-la na lista suspensa. Para mais informações sobre Tunnel Quota exclusiva, consulte {{XREF_6}}.
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 New Table. Esta tabela serve para receber dados de usuários da fonte.
CREATE TABLE IF NOT EXISTS ods_user_info_d ( uid STRING COMMENT 'User ID', gender STRING COMMENT 'Gender', age_range STRING COMMENT 'Age range', zodiac STRING COMMENT 'Zodiac sign' ) PARTITIONED BY ( dt STRING ) LIFECYCLE 7;Partition Information
Para este tutorial, insira
${bizdate}. Isso é usado para atribuir um valor constante ao parâmetrobizdatedurante a depuração e para atribuir valores dinamicamente ao parâmetrobizdatedurante a execução agendada. Para mais informações sobre formatos de variáveis e métodos de configuração suportados pelo Data Studio, consulte {{XREF_7}}. -
Confirme o Field Mapping e o Channel.
O DataWorks mapeia colunas entre a origem e o destino para gravar dados de colunas de origem específicas em colunas de destino específicas. Também permite configurar a concorrência de tarefas e políticas de tratamento de dados incorretos. Para este tutorial, defina a Policy for Dirty Data Records como Disallow Dirty Data Records e mantenha as outras configurações com seus valores padrão. Para mais informações, consulte {{XREF_8}}.
-
-
Configure os parâmetros de depuração.
No lado direito da página de configuração da tarefa de sincronização em lote, clique em Run Configuration e configure os seguintes parâmetros. Estes parâmetros são usados para depuração em {{XREF_9}} com os parâmetros de Run Configuration.
Parâmetro
Descrição
Resource Group
Selecione o grupo de recursos serverless adquirido na etapa {{XREF_10}}.
Script Parameters
Nenhuma configuração é necessária. O código de exemplo neste tutorial usa
${bizdate}para representar a data comercial. Ao depurar o workflow em {{XREF_11}}, defina o This operation value como uma constante específica (por exemplo,20250223). A tarefa usará essa constante para substituir a variável definida na tarefa durante a execução. -
(Opcional) Configure as definições de agendamento.
Para este tutorial, mantenha as configurações de agendamento com seus valores padrão. Clique em Scheduling Configuration no lado direito da página de configuração da tarefa de sincronização em lote. Para descrições detalhadas dos parâmetros de configurações de agendamento, consulte {{XREF_12}}.
Scheduling Parameters: Para este tutorial, estes já foram configurados no nível do workflow. Os nós internos não precisam configurá-los separadamente e podem usá-los diretamente nas tarefas ou no código.
Scheduling Policy: Especifique o parâmetro Delayed execution time para atrasar a execução de nós filhos após o início do workflow. Para este tutorial, deixe este campo sem definição.
Na barra de ferramentas do nó, clique em Save.
Configurar o pipeline de sincronização de logs de usuário (ods_raw_log_d)
Na página de orquestração do workflow, passe o mouse sobre o nó
ods_raw_log_de clique em Open Node.-
Configure a rede e os recursos do pipeline de sincronização.
Parâmetro
Descrição
Data source
Fonte de dados:
HttpFile.Nome da fonte de dados:
user_behavior_analysis_httpfile.
My Resource Group
Selecione o grupo de recursos serverless adquirido na etapa {{XREF_13}}.
Data going
Destino dos dados:
MaxCompute(ODPS).Nome da fonte de dados: Selecione o recurso de computação MaxCompute associado na etapa {{XREF_14}}. Neste exemplo, é
MaxCompute_Source.
-
Clique em The next Step para configurar a tarefa de sincronização.
-
Configure Source and Destination
A tabela a seguir descreve os principais parâmetros necessários para este tutorial. Mantenha todos os outros parâmetros com seus valores padrão.
Seção
Parâmetro
Descrição
Data source
File Path
Para este tutorial, insira
/user_log.txt.File Type
Para este tutorial, selecione o tipo
text.Field Delimiter
Para este tutorial, insira
|.Advanced Configuration > Skip Header
Para este tutorial, selecione
Nopara não pular o cabeçalho.ImportanteApós configurar a fonte de dados, clique em Confirm Data Structure para verificar se o arquivo de log pode ser lido corretamente.
Data going
Tunnel Resource Group
O valor padrão para este tutorial é Public Transfer Resource. Se você possuir uma Tunnel Quota exclusiva, poderá selecioná-la na lista suspensa. Para mais informações sobre Tunnel Quota exclusiva, consulte {{XREF_15}}.
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 New Table. Esta tabela serve para receber dados de log de usuários da fonte.
CREATE TABLE IF NOT EXISTS ods_raw_log_d ( col STRING ) PARTITIONED BY ( dt STRING ) LIFECYCLE 7;Partition Information
Para este tutorial, insira
${bizdate}. Isso é usado para atribuir um valor constante ao parâmetrobizdatedurante a depuração e para atribuir valores dinamicamente ao parâmetrobizdatedurante a execução agendada. Para mais informações sobre formatos de variáveis e métodos de configuração suportados pelo Data Studio, consulte {{XREF_16}}. -
Confirme o Field Mapping e o Channel.
O DataWorks mapeia colunas entre a origem e o destino para gravar dados de colunas de origem específicas em colunas de destino específicas. Também permite configurar a concorrência de tarefas e políticas de tratamento de dados incorretos. Para este tutorial, defina a Policy for Dirty Data Records como Disallow Dirty Data Records e mantenha as outras configurações com seus valores padrão. Para mais informações, consulte {{XREF_17}}.
-
-
Configure os parâmetros de depuração.
No lado direito da página de configuração da tarefa de sincronização em lote, clique em Run Configuration e configure os seguintes parâmetros. Estes parâmetros são usados para depuração em {{XREF_18}} com os parâmetros de Run Configuration.
Parâmetro
Descrição
Resource Group
Selecione o grupo de recursos serverless adquirido na etapa {{XREF_19}}.
Script Parameters
Nenhuma configuração é necessária. O código de exemplo neste tutorial usa
${bizdate}para representar a data comercial. Ao depurar o workflow em {{XREF_20}}, defina o This operation value como uma constante específica (por exemplo,20250223). A tarefa usará essa constante para substituir a variável definida na tarefa durante a execução. -
(Opcional) Configure as definições de agendamento.
Para este tutorial, mantenha as configurações de agendamento com seus valores padrão. Clique em Scheduling Configuration no lado direito da página de configuração da tarefa de sincronização em lote. Para descrições detalhadas dos parâmetros de configurações de agendamento, consulte {{XREF_21}}.
Scheduling Parameters: Para este tutorial, estes já foram configurados no nível do workflow. Os nós internos não precisam configurá-los separadamente e podem usá-los diretamente nas tarefas ou no código.
Scheduling Policy: Especifique o parâmetro Delayed execution time para atrasar a execução de nós filhos após o início do workflow. Para este tutorial, deixe este campo sem definição.
Na barra de ferramentas do nó, clique em Save.
Etapa 4: Sincronizar dados
-
Sincronize os dados.
Na barra de ferramentas do workflow, clique em Run. Defina os valores para as variáveis de parâmetro definidas em cada nó para esta execução (este tutorial usa
20250223; modifique conforme necessário). Clique em OK e aguarde a conclusão da execução. -
Verifique os resultados da sincronização de dados.
No painel de navegação à esquerda do Data Studio, clique em
para acessar a página de desenvolvimento de dados. Na seção de diretório pessoal, clique em
para criar um arquivo com o sufixo .sql(você pode personalizar o nome do arquivo).Na parte inferior da página, verifique se o modo de linguagem está definido como
MaxCompute SQL, conforme mostrado abaixo.
-
Na janela de edição do nó, insira as seguintes instruções SQL para verificar o número de registros importados nas tabelas
ods_raw_log_deods_user_info_d, confirmando que os dados sincronizados foram gravados no destino.-- You need to change the partition filter condition to the actual business date of your current operation. In this tutorial, the debug parameter bizdate (business date) configured above is 20250223. SELECT count(*) FROM ods_user_info_d WHERE dt='business date'; SELECT count(*) FROM ods_raw_log_d WHERE dt='business date';Se a consulta anterior retornar dados, a sincronização estará concluída.
Caso nenhum dado seja retornado, certifique-se de que o This operation value configurado ao executar o workflow corresponda à data comercial especificada em
dtna consulta. Clique no workflow, clique em Runtime Logs no lado direito, clique em View na coluna Operation do histórico de execução e verifique o valor da data comercial (partition=[pt=xxx]) no log de tempo de execução do workflow.
Próxima etapa
Após concluir a configuração de sincronização de dados, prossiga para o próximo tutorial para aprender como processar e analisar os dados sincronizados. Para detalhes, consulte {{XREF_22}}.