O DataWorks permite construir e agendar pipelines de big data em clusters do E-MapReduce (EMR) sem escrever scripts de linha de comando. Crie nós Hive, MapReduce (MR), Presto, Spark SQL e outros no DataStudio, ative o agendamento periódico e monitore jobs no Operation Center — tudo em um único console.
Como funciona
A Alibaba Cloud oferece EMR on ECS, EMR on ACK e EMR Serverless StarRocks para atender aos requisitos de negócios de diferentes usuários.
O desenvolvimento no DataWorks segue três etapas:
Configuração — Adquira a edição adequada do DataWorks e o grupo de recursos, crie um cluster EMR e registre-o no workspace.
Desenvolvimento — Construa e agende nós do EMR no DataStudio. Use o Data Integration para mover dados para dentro e para fora do EMR Hive.
Operação — Monitore tarefas agendadas no Operation Center, governe metadados no Data Map e aplique regras do Data Quality para garantir a qualidade dos dados.
Tipos de cluster suportados
Limitações
Permissões
Apenas as identidades abaixo podem registrar um cluster EMR no DataWorks:
Uma conta Alibaba Cloud (conta raiz)
Um usuário RAM ou função RAM com a Workspace Administrator role do DataWorks e a política
AliyunEMRFullAccessUm usuário RAM ou função RAM com as políticas
AliyunDataWorksFullAccesseAliyunEMRFullAccess
Para mais detalhes, consulte Grant permissions to a RAM user.
Disponibilidade por região
O EMR Serverless Spark está disponível nas seguintes regiões: China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen), China (Chengdu), China (Hong Kong), Japão (Tóquio), Singapura, Indonésia (Jacarta), Alemanha (Frankfurt) e EUA (Virgínia).
Restrições de tipo de tarefa
O DataWorks não suporta tarefas EMR Flink.
Execute tarefas do EMR usando grupos de recursos serverless (recomendado) ou grupos de recursos exclusivos para agendamento (legado).
Linhagem de dados
Somente tarefas SQL em nós EMR Hive, EMR Spark e EMR Spark SQL geram linhagem de dados:
|
Versão do cluster |
Suporte a linhagem |
|
5.9.1, 3.43.1 ou posterior (Hive e Spark SQL) |
Linhagem no nível de tabela e de campo |
|
5.8.0, 3.42.0 ou posterior (nós do tipo Spark) |
Linhagem no nível de tabela e de campo |
|
Anterior a 5.8.0 ou 3.42.0 (nós do tipo Spark) |
Linhagem no nível de tabela (apenas Spark 2.x) |
Para usar o gerenciamento de metadados em clusters DataLake ou personalizados, configure primeiro o EMR-HOOK no cluster. Sem o EMR-HOOK, os metadados não aparecem em tempo real, logs de auditoria não são gerados e a linhagem de dados fica indisponível no DataWorks. O EMR-HOOK suporta apenas os serviços EMR Hive e EMR Spark SQL. Consulte Configure EMR-HOOK for Hive e Configure EMR-HOOK for Spark SQL.
Clusters Kerberos
Para clusters EMR com autenticação Kerberos ativada, adicione uma regra de entrada no grupo de segurança para permitir acesso UDP a partir do bloco CIDR do vSwitch associado ao grupo de recursos.
Para localizar o grupo de segurança e adicionar a regra:
Na aba Basic Information do cluster EMR, clique em ao lado de Cluster Security Group para abrir Security Group Details.
Na seção Rule, clique em Inbound e selecione Add Rule.
Defina Protocol Type como Custom UDP.
Para Port Range, verifique a porta do KDC no arquivo
/etc/krb5.confdo cluster EMR.Defina Destination como o bloco CIDR do vSwitch associado ao grupo de recursos.
Pré-requisitos
Antes de começar, certifique-se de ter:
Uma conta Alibaba Cloud com um usuário RAM ou função que possua as permissões necessárias para registrar um cluster EMR (consulte Permissões acima)
DataWorks ativado e um workspace criado — consulte Purchase e Manage workspaces
Um cluster EMR criado — consulte Create a cluster. Consulte a seção Sugestões de configuração de cluster EMR para selecionar os serviços adequados ao cluster.
Um grupo de recursos serverless do DataWorks adquirido — consulte Use serverless resource groups. Grupos de recursos serverless suportam sincronização de dados e agendamento de tarefas, sendo adequados para a maioria dos casos de uso. Novos usuários podem adquirir apenas grupos de recursos serverless.
Se você possui um grupo de recursos exclusivo legado, ainda pode usá-lo para executar tarefas do EMR. Use um grupo de recursos exclusivo para Data Integration em tarefas de sincronização de dados e um grupo de recursos exclusivo para agendamento em tarefas de agendamento. Consulte Use legacy resource groups .
Faturamento
Os custos provêm de duas fontes ao executar tarefas do EMR no DataWorks.
Compreenda a estrutura de custos antes de criar recursos. As cobranças de clusters EMR variam conforme o tipo de instância, a região e o tempo de execução. Para evitar cobranças inesperadas, exclua clusters e grupos de recursos desnecessários.
Cobranças do DataWorks
|
Item |
Descrição |
|
Edição do DataWorks |
A ativação das edições Standard, Professional ou Enterprise gera taxas de edição. |
|
Grupo de recursos de agendamento |
A aquisição de um grupo de recursos serverless ou exclusivo para agendamento gera taxas de grupo de recursos. |
|
Grupo de recursos de sincronização de dados |
Tarefas de sincronização de dados consomem recursos de agendamento. Um grupo de recursos serverless cobre o agendamento de tarefas e a sincronização de dados. |
Para um detalhamento completo dos itens faturáveis do DataWorks, consulte Billing overview.
Cobranças de outros serviços da Alibaba Cloud
As cobranças a seguir aparecem em faturas separadas dos respectivos serviços da Alibaba Cloud, e não na fatura do DataWorks.
|
Item |
Quando ocorrem as cobranças |
|
Taxas de banco de dados |
Quando tarefas de sincronização de dados leem ou gravam em bancos de dados. |
|
Taxas de computação e armazenamento |
Quando tarefas são executadas em um cluster EMR. Para informações sobre faturamento do EMR, consulte Billing. |
|
Taxas de serviço de rede |
Quando conexões de rede são estabelecidas entre o DataWorks e outros serviços (por exemplo, Express Connect ou Elastic IP Address). |
Preparação do ambiente
Preparação de recursos
|
Item |
Descrição |
Referências |
|
Edição do DataWorks |
A Basic Edition cobre operações essenciais: migração de dados, desenvolvimento de tarefas, agendamento do EMR e governança de dados. Faça upgrade para as edições Standard, Professional ou Enterprise para obter recursos avançados de governança e segurança. |
|
|
Grupo de recursos |
Use grupos de recursos serverless (recomendado) ou grupos de recursos exclusivos legados para executar tarefas do EMR. |
Preparação do ambiente de desenvolvimento
Registre um cluster EMR no workspace do DataWorks e adicione membros da equipe antes de iniciar o desenvolvimento colaborativo.
|
Item |
Descrição |
Referências |
|
Ambiente de sincronização de dados |
Antes de executar tarefas de sincronização de dados, adicione o serviço EMR como fonte de dados no DataWorks. |
|
|
Ambiente de desenvolvimento e análise de dados |
Registre o cluster EMR como fonte de dados no DataWorks para habilitar o desenvolvimento, a análise e o agendamento periódico de dados. |
|
|
Ambiente de desenvolvimento colaborativo |
Para permitir que membros da equipe desenvolvam dados juntos em um workspace: (1) Adicione usuários RAM ao workspace e atribua a eles a função Development. (2) Adicione membros do workspace ao cluster EMR. |
Gerenciamento de permissões
O DataWorks oferece gerenciamento de permissões em dois níveis: acesso a dados e recursos de serviço.
Permissões de acesso a dados
Configure mapeamentos entre usuários RAM e contas do cluster EMR para garantir que os membros do workspace tenham as permissões corretas no nível do cluster. Consulte Configure cluster identity mapping.
Se o Data Lake Formation (DLF) for seu serviço de armazenamento de metadados, gerencie as permissões de acesso a dados diretamente no Security Center do DataWorks — incluindo solicitações de permissão, aprovações e auditorias. Consulte DLF data access control.
Permissões de serviço e recursos
Atribua funções no nível do workspace aos usuários RAM antes que eles comecem a desenvolver dados. Para uma configuração guiada, consulte Best practices: Grant permissions to RAM users.
Para controlar o acesso a módulos globais do DataWorks (por exemplo, restringir o acesso ao Data Map ou permitir a exclusão de workspaces), consulte Global module permission control.
Para controlar o acesso a módulos no nível do workspace (por exemplo, conceder acesso ao DataStudio ou restringir o Data Security Guard), consulte Workspace-level module permission control.
Primeiros passos
Integração de dados
O Data Integration permite ler dados do EMR Hive e gravar dados nele. Adicione o serviço Hive como fonte de dados primeiro e, em seguida, configure pipelines de sincronização. Os cenários suportados incluem sincronização em lote, completa e incremental. Consulte Data Integration overview.
Modelagem e desenvolvimento de dados
Data Modeling
O Data Modeling estrutura e gerencia grandes volumes de dados não ordenados utilizando a metodologia de mid-end de dados da Alibaba. Ele abrange planejamento de data warehouse, padrões de dados, modelagem dimensional e métricas de dados, ajudando as equipes a compartilharem um entendimento comum dos dados de negócios. Consulte Data Modeling overview.
DataStudio
O DataStudio é o ambiente de desenvolvimento onde você cria, agenda e depura nós do EMR sem usar ferramentas de linha de comando.
Tipos de nó EMR disponíveis:
|
Tipo de nó |
Guia de criação |
|
Nó EMR Hive |
|
|
Nó EMR MR |
|
|
Nó EMR Spark SQL |
|
|
Nó EMR Spark |
|
|
Nó EMR Shell |
|
|
Nó EMR Presto |
|
|
Nó EMR Spark Streaming |
|
|
Nó EMR Kyuubi |
|
|
Nó EMR Trino |
|
|
Tabela EMR |
|
|
Recurso EMR |
|
|
Função EMR |
Tipos de nós de uso geral também estão disponíveis para lógicas complexas de fluxo de trabalho:
|
Categoria |
Tipos de nó |
|
Controle de fluxo de trabalho |
Nó Zero load |
|
Gatilhos orientados a eventos |
Nó HTTP Trigger, nó OSS object inspection, nó FTP Check |
|
Passagem de parâmetros |
Nó Assignment, nó Parameter |
|
Lógica de loop e ramificação |
Nó Do-while, nó For-each, nó Branch |
|
Outros |
Nó Common Shell, nó MySQL database |
Consulte os guias de referência: Zero load node, HTTP Trigger node, OSS object inspection node, FTP Check node, Assignment node, Parameter node, Do-while node logic, For-each node logic e Configure a branch node.
Após desenvolver os nós, as próximas etapas típicas são:
Configure propriedades de agendamento — Defina dependências e parâmetros de agendamento para habilitar a execução periódica. Consulte Scheduling properties overview.
Depure os nós — Execute e valide tarefas antes da implantação para evitar desperdício de recursos de computação. Consulte Task debugging process.
Implante os nós — Implante tarefas no ambiente de produção para que apareçam no Operation Center. Consulte Publish tasks.
Gerencie os nós — Realize operações em massa, como implantar, desimplantar e atualizar propriedades de agendamento em vários nós. Consulte Batch operations.
Aplique controles de processo — Aplique revisão de código, testes de fumaça e lógica de revisão personalizada para garantir a precisão do desenvolvimento. Consulte Development process control.
Operation Center
O Operation Center é a plataforma de O&M de produção onde você monitora tarefas agendadas e resolve problemas. Os principais recursos incluem diagnósticos inteligentes, reexecução de tarefas e monitoramento de linha de base para garantir que tarefas críticas sejam concluídas no prazo. Consulte Perform basic O&M operations on scheduled tasks.
Data Quality
O Data Quality monitora seus dados durante todo o ciclo de vida de desenvolvimento, anexando regras de qualidade às tarefas de agendamento. Isso identifica problemas de dados precocemente e evita que afetem sistemas downstream. Consulte Data Quality overview.
Governança de dados
Após registrar um cluster EMR, o DataWorks coleta automaticamente metadados do cluster. Os módulos a seguir ajudam a gerenciar e governar esses dados:
|
Módulo |
Descrição |
Referência |
|
Data Map |
Plataforma empresarial de gerenciamento de metadados para descobrir, pesquisar e compreender ativos de dados. |
|
|
Security Center / Data Security Guard / Approval Center |
Plataforma de segurança de dados ponta a ponta que abrange classificação de dados, identificação de dados sensíveis, gerenciamento de autorização, mascaramento de dados, auditoria de acesso e resposta a riscos. |
Security Center overview / Data Security Guard overview / Approval Center overview |
|
Data Governance Center |
Identifica automaticamente problemas de governança em várias dimensões com base em regras de melhores práticas e fornece ações de governança preventivas e corretivas. |
Para obter uma visão geral dos problemas detectados e das ações disponíveis, consulte Data Governance Center overview.
Análise de dados e serviços
|
Módulo |
Descrição |
Referência |
|
DataAnalysis |
Execute consultas SQL online, crie cartões de gráficos a partir dos resultados das consultas e gere relatórios de dados para reportes diários. |
|
|
DataService Studio |
Gerencie e exponha serviços de API para sistemas internos e externos em um hub de serviços centralizado. |
Open Platform
Integre seus sistemas de aplicativos ao DataWorks programaticamente usando os seguintes recursos:
|
Módulo |
Descrição |
Referência |
|
OpenAPI |
Chame operações de API do DataWorks para automatizar fluxos de trabalho de big data, reduzir operações manuais e minimizar riscos de dados. |
|
|
OpenEvent |
Assine eventos de alteração do DataWorks para detectar e responder a mudanças no workspace em tempo real. |
|
|
Extensions |
Registre programas locais como extensões para gerenciar eventos de pontos de extensão e personalizar processos do DataWorks. |
Sugestões de configuração de cluster EMR
Ajuste os seguintes serviços do EMR antes de executar cargas de trabalho de produção no DataWorks.
Kyuubi
No ambiente de produção, defina:
kyuubi_java_opts: 10g ou maiorkyuubi_beeline_opts: 2g ou maior
Spark
A alocação padrão de memória para o Spark é pequena. Ajuste os seguintes parâmetros com base na escala do cluster:
spark.driver.memoryspark.driver.memoryOverheadspark.executor.memory
Passe as configurações de memória via CLI spark-submit ou configure-as no cluster. Para obter todas as opções de configuração, consulte Spark memory management.
Somente nós EMR Hive, EMR Spark e EMR Spark SQL geram linhagem de dados. Nós EMR Hive suportam linhagem no nível de tabela e de coluna. Nós EMR baseados em Spark suportam apenas linhagem no nível de tabela.
HDFS
Ajuste os seguintes parâmetros com base na escala do cluster:
hadoop_namenode_heapsizehadoop_datanode_heapsizehadoop_secondary_namenode_heapsizehadoop_namenode_opts