Este tutorial orienta você na sincronização de dados de duas fontes heterogêneas — um banco de dados MySQL e um arquivo simples do OSS — para o MaxCompute usando o Data Integration do DataWorks. Ao final, as tabelas ods_user_info_d e ods_raw_log_d no MaxCompute estarão preenchidas e prontas para processamento subsequente.
Neste tutorial, você vai:
Adicionar fontes de dados MySQL e HttpFile ao seu workspace do DataWorks.
Crie um pipeline de sincronização com três nós: um Zero Load Node e dois nós Batch Synchronization.
Configure cada tarefa de sincronização, incluindo o DDL da tabela de destino, os parâmetros de partição e a política de dados incorretos.
Execute o pipeline e verifique se os dados foram gravados no MaxCompute.
Pré-requisitos
Antes de começar, certifique-se de ter:
Concluído o tópico Preparar o ambiente para configurar seu workspace do DataWorks, grupo de recursos Serverless e acesso à rede pública
Um grupo de recursos Serverless associado ao seu workspace (caso contrário, siga as instruções na seção de configuração de conexão: clique em Purchase e depois em Associated Purchased Resource Group)
Etapa 1: Crie fontes de dados
Adicione as duas fontes de dados a seguir ao seu workspace do DataWorks para que as tarefas de sincronização subsequentes possam acessar os dados brutos.
Se você já criou fontes de dados MySQL e HttpFile para outros tutoriais de análise de perfil de usuário, pule esta etapa.
Crie uma fonte de dados MySQL
As informações básicas de usuários deste tutorial estão armazenadas em um banco de dados MySQL. Crie uma fonte de dados MySQL chamada user_behavior_analysis_mysql para extrair a tabela ods_user_info_d para o MaxCompute.
Acesse o console do DataWorks. Na barra de navegação superior, selecione sua região. No painel de navegação à esquerda, escolha More > Management Center. Selecione seu workspace na lista suspensa e clique em Go to Management Center.
No painel de navegação à esquerda, clique em Data Sources.
Clique em Add Data Source, pesquise e selecione MySQL.
-
Na página Add MySQL Data Source, configure os parâmetros abaixo. Use esses valores tanto para o ambiente de desenvolvimento quanto para o de produção. Mantenha os valores padrão para quaisquer parâmetros não listados.
Parâmetro
Valor
Data Source Name
user_behavior_analysis_mysqlData Source Description
Esta fonte de dados destina-se aos tutoriais do DataWorks. Leia dados desta fonte ao configurar uma tarefa de sincronização offline para acessar os dados de teste fornecidos pela plataforma. Esta fonte só pode ser lida em cenários de Data Integration. Outros módulos não podem utilizá-la.
Configuration Mode
Connection String Mode
Connection Address
Host IP:
rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com, Port:3306Database Name
workshopUsername
workshopPassword
workshop#2017Authentication Method
No authentication
-
Na seção Connection Configuration, clique em Test Network Connectivity para ambos os ambientes. Confirme se o status exibe Connected.
ImportanteO grupo de recursos deve estar associado ao workspace com o acesso à rede pública ativado. Caso contrário, a sincronização de dados falhará.
Clique em Complete Creation.
Crie uma fonte de dados HttpFile
Os logs de acesso ao site por usuários deste tutorial estão armazenados no OSS (Object Storage Service). Crie uma fonte de dados HttpFile chamada user_behavior_analysis_httpfile para extrair o arquivo user_log.txt para o MaxCompute.
No painel de navegação à esquerda, clique em Data Sources.
Clique em Add Data Source, pesquise e selecione HttpFile.
-
Na página Add HttpFile Data Source, configure os parâmetros abaixo. Use esses valores tanto para o ambiente de desenvolvimento quanto para o de produção. Mantenha os valores padrão para quaisquer parâmetros não listados.
Parâmetro
Valor
Data Source Name
user_behavior_analysis_httpfileData Source Description
Esta fonte de dados destina-se aos tutoriais do DataWorks. Leia dados desta fonte ao configurar uma tarefa de sincronização offline para acessar os dados de teste fornecidos pela plataforma. Esta fonte só pode ser lida em cenários de Data Integration. Outros módulos não podem utilizá-la.
URL
https://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com -
Na seção Connection Configuration, clique em Test Network Connectivity para ambos os ambientes. Confirme se o status exibe Connected.
ImportanteO grupo de recursos deve estar associado ao workspace com o acesso à rede pública ativado. Caso contrário, a sincronização de dados falhará.
Clique em Complete Creation.
Etapa 2: Crie um pipeline de sincronização
Crie um workflow que orquestre as duas tarefas de sincronização e seja executado diariamente conforme agendamento.
Clique no ícone
no canto superior esquerdo e selecione All Products > Data Development And Task Operation > DataStudio. Mude para o workspace criado para este tutorial.No painel de navegação à esquerda, clique em
para abrir a página Data Development. Na área Workspace Directories, clique em
, selecione Create Workflow e nomeie-o como user_profile_analysis.-
Na tela do workflow, arraste um Zero Load Node e dois nós Batch Synchronization do painel esquerdo para a tela. Nomeie-os da seguinte forma:
Tipo de nó
Nome do nó
Função
Zero Load Node
workshop_startNó ancestral de execução simulada que gerencia todo o workflow. Não requer edição de código.
Batch Synchronization
ods_user_info_dSincroniza informações básicas de usuários do MySQL para a tabela
ods_user_info_dno MaxCompute.Batch Synchronization
ods_raw_log_dSincroniza logs de acesso ao site por usuários do OSS para a tabela
ods_raw_log_dno MaxCompute. -
Arraste conexões para definir
workshop_startcomo o nó ancestral de ambos os nós Batch Synchronization, conforme mostrado abaixo. -
Configure o agendamento do workflow. Na tela, clique em Scheduling no painel direito e defina os seguintes parâmetros. Mantenha os valores padrão para quaisquer parâmetros não listados.
Parâmetro de agendamento
Valor
Scheduling Parameters
bizdate=$[yyyymmdd-1]— passa a data do dia anterior para todos os nós internosScheduling Cycle
DayScheduling Time
00:30Scheduling Dependencies
Clique em Use Workspace Root Node para vincular o workflow ao nó raiz (formato:
workspace_name_root).
Etapa 3: Configure tarefas de sincronização
Configure o nó inicial
Na tela do workflow, passe o mouse sobre
workshop_starte clique em Open Node.-
No painel direito, clique em Scheduling e defina os seguintes parâmetros. Mantenha os valores padrão para quaisquer parâmetros não listados.
Parâmetro de agendamento
Valor
Scheduling Type
dry-run schedulingResource Group
Selecione o grupo de recursos Serverless criado em Preparar o ambiente.
Scheduling Dependencies
Clique em Use Workspace Root Node para acionar a execução a partir do nó raiz do workspace (
workspace_name_root).
Configure a tarefa de sincronização de dados de usuário (ods_user_info_d)
Na tela do workflow, passe o mouse sobre
ods_user_info_de clique em Open Node.-
Configure a origem e o destino:
Parâmetro
Valor
Source — Tipo de fonte de dados
MySQLSource — Nome da fonte de dados
user_behavior_analysis_mysqlResource Group
Selecione o grupo de recursos Serverless de Preparar o ambiente.
Destination — Tipo de destino de dados
MaxCompute(ODPS)Destination — Nome da fonte de dados
Selecione o recurso MaxCompute associado em Preparar o ambiente, por exemplo
MaxCompute_Source. -
Clique em Next para configurar os detalhes da tarefa de sincronização.
-
Configure source and destination. Defina os seguintes parâmetros. Mantenha os valores padrão para quaisquer parâmetros não listados.
Módulo
Configuration Item
Value
Data source
Table
ods_user_info_dDestination
Split key
uid(a chave primária da tabelaods_user_info_dno MySQL)Destination
Tunnel Resource Group
Recursos de transmissão comuns (padrão). Se você tiver uma Tunnel Quota exclusiva, poderá selecioná-la na lista suspensa. Para mais informações, consulte Comprar e usar grupos de recursos exclusivos de transmissão de dados.
Destination
Table
Clique em Generate Destination Table Schema. Na caixa Statement for Creating Table, cole o seguinte DDL e clique em Create Table:
Módulo
Configuration Item
Value
Destination
Partition information
${bizdate}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;O uso de
${bizdate}permite passar uma constante durante testes e um valor dinâmico durante execuções agendadas. Para formatos de variáveis suportados, consulte Parâmetros de Agendamento. Confirme o mapeamento de campos e o controle de canal. O DataWorks mapeia os campos de origem para os de destino com base na configuração de mapeamento de campos. Defina Policy for Dirty Data Records como Disallow Dirty Data Records. Mantenha os valores padrão para todas as outras configurações. Para detalhes, consulte Configurar uma tarefa de sincronização usando a interface sem código.
-
-
Configure os parâmetros de depuração. No painel direito, clique em Debugging Configurations e defina o seguinte:
Item de configuração
Valor
Resource Group
Selecione o grupo de recursos Serverless de Preparar o ambiente.
Script Parameters
Deixe em branco. Ao executar o workflow na Etapa 4, defina Value Used in This Run como uma constante, por exemplo
20250223. O job substituirá${bizdate}por esse valor. (Opcional) Configure as propriedades de agendamento. No painel direito, clique em Source. Os parâmetros de agendamento no nível do workflow já se aplicam a este nó; nenhuma configuração separada é necessária. Para detalhes, consulte Agendamento de nós.
Na barra de ferramentas do nó, clique em Save.
Configure a tarefa de sincronização de logs de usuário (ods_raw_log_d)
Na tela do workflow, passe o mouse sobre
ods_raw_log_de clique em Destination.-
Configure a origem e o destino:
Parâmetro
Valor
Destination — Tipo de fonte de dados
HttpFileSource — Nome da fonte de dados
user_behavior_analysis_httpfileResource Group
Selecione o grupo de recursos Serverless de Preparar o ambiente.
Destination — Tipo de destino de dados
MaxCompute(ODPS)Data source — Nome da fonte de dados
Selecione o recurso MaxCompute de Preparar o ambiente, por exemplo
MaxCompute_Source. -
Clique em Next para configurar os detalhes da tarefa de sincronização.
-
Configure source and destination. Defina os seguintes parâmetros. Mantenha os valores padrão para quaisquer parâmetros não listados.
ImportanteApós configurar as definições da fonte de dados, clique em Confirm Data Structure para verificar se o DataWorks consegue ler o arquivo de log corretamente antes de prosseguir.
Módulo
Data source
Value
Data source
File path
/user_log.txtData source
Text type
textTunnel Resource Group
Column Delimiter
``
Table
Advanced configuration > Skip Header
NoDestination
Destination
Recursos de transmissão comuns (padrão). Se você tiver uma Tunnel Quota exclusiva, poderá selecioná-la na lista suspensa. Para mais informações, consulte Comprar e usar grupos de recursos exclusivos de transmissão de dados.
Destination
Table
Clique em Generate Destination Table Schema. Na caixa Statement for Creating Table, cole o seguinte DDL e clique em Create Table:
Módulo
Resource Group
Script Parameters
Value Used in This Run
Partition information
${bizdate}CREATE TABLE IF NOT EXISTS ods_raw_log_d ( col STRING ) PARTITIONED BY ( dt STRING ) LIFECYCLE 7; Confirm field mapping and channel control. Defina Policy for Dirty Data Records como Value Used in This Run. Mantenha os valores padrão para todas as outras configurações. Para detalhes, consulte Configurar uma tarefa de sincronização usando a interface sem código.
-
-
Configure os parâmetros de depuração. No painel direito, clique em Debugging Configurations e defina o seguinte:
Item de configuração
Valor
Value Used in This Run
Selecione o grupo de recursos Serverless de Preparar o ambiente.
Script Parameters
Deixe em branco. Ao executar o workflow na Etapa 4, defina Value Used in This Run como uma constante, por exemplo
20250223. (Opcional) Configure as propriedades de agendamento. No painel direito, clique em Scheduling. Os parâmetros no nível do workflow aplicam-se automaticamente a este nó. Para detalhes, consulte Agendamento de nós.
Na barra de ferramentas do nó, clique em Save.
Etapa 4: Sincronizar dados
Na barra de ferramentas do workflow, clique em Run. Defina Value Used in This Run para a variável
bizdate— por exemplo,20250223— e clique em OK. Aguarde a conclusão da execução.-
Verifique os resultados.
No painel de navegação à esquerda do DataStudio, clique em
para abrir a página Data Development. Na área de pasta pessoal, clique em
para criar um arquivo com a extensão .sql.Na parte inferior da página, confirme se o modo de linguagem é
MaxCompute SQL.
-
Execute as consultas a seguir para contar os registros carregados em cada tabela. Substitua
your_data_timestamppelo valor debizdateusado na execução (por exemplo,20250223).-- Replace your_data_timestamp with the actual bizdate value (e.g., 20250223) SELECT count(*) FROM ods_user_info_d WHERE dt='your_data_timestamp'; SELECT count(*) FROM ods_raw_log_d WHERE dt='your_data_timestamp';Se ambas as consultas retornarem uma contagem diferente de zero, a sincronização de dados foi concluída.
Caso uma consulta retorne zero, confirme se o Value Used in This Run corresponde ao valor
dtna consulta. Para verificar, clique no workflow, abra Running History no painel direito e clique em View na coluna Actions para inspecionar o valor da partição (partition=[pt=xxx]) no log de execução.
O que você aprendeu
Neste tutorial, você:
Adicionou uma fonte de dados MySQL e uma fonte de dados HttpFile ao seu workspace do DataWorks.
Criou um workflow
user_profile_analysiscom um Zero Load Node e dois nós Batch Synchronization.Configurou tabelas de origem e destino, parâmetros de partição e política de dados incorretos para cada tarefa de sincronização.
Executou o pipeline e verificou se os dados foram gravados nas tabelas
ods_user_info_deods_raw_log_dno MaxCompute.
Próximos passos
Prossiga para Processar dados para transformar e analisar os dados sincronizados no MaxCompute.