Este tutorial apresenta um experimento de análise de perfil de usuário com DataWorks e E-MapReduce (EMR). Ao concluir este tutorial, você saberá como:
Sincronizar dados de várias fontes — ApsaraDB RDS for MySQL e Object Storage Service (OSS) — para o EMR.
Processar e dividir logs brutos de acesso web em campos analisáveis.
Agregar informações de usuários aos dados de log processados para gerar um perfil de usuário.
Monitorar a qualidade dos dados com regras automatizadas para identificar dados incorretos antes que cheguem aos nós downstream.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma conta Alibaba Cloud com acesso ao DataWorks e ao EMR.
Conhecimento básico de SQL e conceitos de pipeline de dados.
Design do experimento
Contexto
Para viabilizar operações detalhadas sobre o tráfego do site, este experimento constrói um pipeline periódico de análise de perfil de usuário. O pipeline abrange atributos geográficos e sociais dos usuários e utiliza o DataWorks para:
Sincronizar dados de diferentes origens.
Processar e transformar dados brutos.
Gerencie a qualidade dos dados.
Disponibilizar os dados para consumo.
Funcionamento
O pipeline executa quatro etapas:
Sincronização: O Data Integration extrai informações básicas de usuários do ApsaraDB RDS for MySQL e logs de acesso web do OSS e carrega ambos no EMR.
Processamento: Divida os logs de acesso brutos em campos estruturados usando funções e expressões regulares. Em seguida, agregue os logs divididos às informações de usuários no EMR.
Transformação: Processe os dados agregados para produzir um perfil de usuário completo.
Monitoramento: Aplique regras de Data Quality para detectar dados incorretos nas saídas dos nós de agendamento e impedir sua propagação para nós descendentes.
Serviços do DataWorks envolvidos
A tabela a seguir associa cada etapa do pipeline ao serviço do DataWorks utilizado e às habilidades praticadas.
|
Etapa |
Operação |
O que você aprenderá |
|
Sincronizar dados |
Configure um nó de sincronização para carregar informações de usuários do ApsaraDB RDS for MySQL e logs de acesso do OSS no EMR |
Sincronize dados de diferentes fontes para o EMR; crie uma tabela para a source de dados relacionada; acione um nó manualmente; visualize logs do nó |
|
Processar dados |
No DataStudio, divida os logs de acesso em campos usando funções ou expressões regulares e, em seguida, agregue logs e informações de usuários para gerar um perfil de usuário |
Crie e configure nós em um workflow do DataWorks; execute um workflow |
|
Configurar regras de monitoramento de qualidade de dados |
No Data Quality, configure regras de monitoramento para tabelas geradas por nós de agendamento a fim de detectar dados incorretos |
Defina regras de qualidade de dados para identificar dados incorretos causados por alterações na source e evitar que afetem nós descendentes |
Dados do experimento
Dados de log de acesso
O experimento utiliza logs brutos de acesso web armazenados no objeto do OSS user_log.txt. Cada linha de log segue este formato:
$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent"$http_referer" "$http_user_agent" [unknown_content];
A tabela a seguir descreve cada campo extraído do log bruto.
|
Campo |
Descrição |
|
|
Endereço IP do cliente |
|
|
Nome de usuário usado para fazer login no cliente |
|
|
Hora local no servidor |
|
|
Solicitação HTTP, incluindo tipo de solicitação, URL e versão HTTP |
|
|
Código de status HTTP retornado pelo servidor |
|
|
Número de bytes enviados ao cliente, excluindo bytes de cabeçalho |
|
|
URL de origem da solicitação |
|
|
Informações do cliente, como o tipo de navegador |
Dados de informações do usuário
As informações básicas do usuário estão armazenadas no ApsaraDB RDS for MySQL, na tabela ods_user_info_d.
|
Campo |
Descrição |
|
|
Nome do usuário |
|
|
Gênero |
|
|
Faixa etária |
|
|
Signo do zodíaco |
Dados de saída final
Após processar e agregar as duas fontes de dados, o pipeline produz uma tabela de resultados com o seguinte esquema.
|
Campo |
Descrição |
|
|
Nome do usuário |
|
|
Região |
|
|
Tipo de terminal |
|
|
Visualizações de página |
|
|
Gênero |
|
|
Faixa etária |
|
|
Signo do zodíaco |
Próximos passos
Depois de concluir o experimento, estenda o pipeline com as operações a seguir.
|
Operação |
Descrição |
Referências |
|
Gerencie metadados |
No Data Map, visualize e gerencie os metadados da tabela de origem |
|
|
Consumir dados |
No DataAnalysis, execute consultas SQL na tabela de resultados para analisar a distribuição geográfica dos usuários e rankings de cidades. Utilize o recurso API no DataService Studio para expor a tabela de resultados como uma API. |
Visualizar dados em um painel e Usar uma API para fornecer serviços de dados |