Crie um nó E-MapReduce (EMR) Hive para usar instruções semelhantes a SQL na leitura, escrita e no gerenciamento de grandes conjuntos de dados armazenados em sistemas distribuídos. Esse recurso é ideal para analisar grandes volumes de logs e executar tarefas de desenvolvimento relacionadas.
Pré-requisitos
Você deve ter criado e registrado um cluster Alibaba Cloud EMR no DataWorks. Para mais informações, consulte Data Studio (legacy): Register an EMR cluster.
(Obrigatório se você usar um usuário RAM para desenvolver tarefas) O usuário RAM deve estar adicionado ao workspace do DataWorks como membro e possuir a função Develop ou Workspace Administrator. A função Workspace Administrator concede mais permissões do que o necessário; portanto, tenha cautela ao atribuí-la. Para mais detalhes sobre como adicionar membros, consulte Add members to a workspace.
Você deve ter adquirido e configurado um grupo de recursos serverless, incluindo a associação a um workspace e as definições de rede. Para mais informações, consulte Create and use a serverless resource group.
-
Você deve ter criado um workflow no DataStudio.
As operações de desenvolvimento em diferentes tipos de mecanismos de computação baseiam-se em workflows no DataStudio. Por isso, crie um workflow antes de criar um nó. Para mais informações, consulte Create a workflow.
Limitações
Os nós EMR Hive só podem ser executados em um serverless resource group (recomendado) ou em um grupo de recursos exclusivo para agendamento.
Para gerenciar metadados de um cluster DataLake ou personalizado no DataWorks, configure o EMR-HOOK no cluster. Sem essa configuração, o DataWorks não exibe metadados em tempo real, não gera logs de auditoria, não mostra linhagem de dados e não executa tarefas de governança relacionadas ao EMR. Para obter instruções, consulte Configure the EMR-HOOK for Hive.
Etapa 1: Criar um nó EMR Hive
-
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 Data Development.
-
Crie um nó EMR Hive.
-
Clique com o botão direito no workflow desejado e escolha .
NotaAlternativamente, passe o mouse sobre Create e escolha .
-
Na caixa de diálogo Create Node, insira um Name e selecione uma Engine Instance, o Node Type e o Path. Clique em Confirm para abrir a página de edição do nó.
NotaO nome do nó pode conter letras maiúsculas, minúsculas, caracteres chineses, dígitos, sublinhados (_) e pontos (.).
-
Etapa 2: Desenvolver a tarefa EMR Hive
Na página de edição do nó EMR Hive, clique duas vezes no nó criado para abrir a página de desenvolvimento da tarefa. Em seguida, siga estas etapas.
Escrever código SQL
No editor SQL, escreva o código da tarefa. Defina variáveis no código usando o formato ${variable_name} e atribua valores a elas na seção Scheduling > Scheduling Parameter do painel à direita. Isso permite a passagem dinâmica de parâmetros para execuções agendadas. Para mais informações sobre os formatos suportados, consulte Supported formats for scheduling parameters. Exemplo de código:
show tables;
select '${var}'; -- You can use this with scheduling parameters.
select * from userinfo;
O tamanho total das instruções SQL não pode exceder 130 KB.
Se o seu workspace no DataStudio estiver associado a vários mecanismos de computação EMR, selecione o mecanismo apropriado conforme suas necessidades de negócio. Caso haja apenas um mecanismo EMR associado, nenhuma seleção será necessária.
Para alterar as atribuições de parâmetros no código, clique em Advanced Run na barra de ferramentas. Para mais detalhes sobre a lógica de atribuição de parâmetros, consulte Differences in parameter assignment logic among Run, Run with Parameters, and smoke testing.
(Opcional) Configurar parâmetros avançados
Configure propriedades específicas do nó na seção Advanced Settings. Para mais informações sobre as configurações disponíveis, consulte Configuração do Spark. Os parâmetros avançados disponíveis variam conforme o tipo de cluster EMR, como mostram as tabelas a seguir.
Clusters DataLake e personalizados
|
Parâmetro |
Descrição |
|
queue |
Fila de agendamento para envio de jobs. A fila padrão é default. Para mais informações sobre o YARN no E-MapReduce, consulte Basic queue configurations. |
|
priority |
Define a prioridade do job. O valor padrão é 1. |
|
FLOW_SKIP_SQL_ANALYZE |
Controla a execução das instruções SQL. Valores válidos:
Nota
Este parâmetro está disponível apenas para execuções de teste de workflow no ambiente de desenvolvimento. |
|
DATAWORKS_SESSION_DISABLE |
Aplica-se a execuções de teste diretas no ambiente de desenvolvimento. Valores válidos:
Nota
Quando este parâmetro está definido como |
|
Outros |
Também é possível adicionar parâmetros de conexão personalizados do Hive nas configurações avançadas. |
Cluster Hadoop
|
Parâmetro |
Descrição |
|
queue |
Fila de agendamento para envio de jobs. A fila padrão é default. Para mais informações sobre o YARN no E-MapReduce, consulte Basic queue configurations. |
|
priority |
Define a prioridade do job. O valor padrão é 1. |
|
FLOW_SKIP_SQL_ANALYZE |
Controla a execução das instruções SQL. Valores válidos:
Nota
Este parâmetro está disponível apenas para execuções de teste de workflow no ambiente de desenvolvimento. |
|
USE_GATEWAY |
Define se os jobs deste nó devem ser enviados por meio de um cluster gateway. Valores válidos:
Nota
Se o cluster do nó não estiver associado a um cluster gateway, definir este parâmetro como |
Executar a tarefa SQL
-
Na barra de ferramentas, clique no ícone
. Na caixa de diálogo Parameter, selecione o grupo de recursos de agendamento criado e clique em Running.NotaPara acessar um mecanismo de computação na internet pública ou em uma VPC, use um grupo de recursos de agendamento que possa se conectar a esse mecanismo. Para mais informações, consulte Network connection solutions.
Para alternar para um grupo de recursos diferente nas execuções subsequentes, clique no ícone Run with Parameters
e selecione outro grupo de recursos de agendamento.Ao consultar dados com um nó EMR Hive, os resultados ficam limitados a 10.000 registros e a um tamanho total de 10 MB.
Clique no ícone
para salvar as instruções SQL.-
(Opcional) Realize testes de fumaça (smoke testing).
Para realizar testes de fumaça no ambiente de desenvolvimento, execute-os antes ou depois de enviar o nó. Para mais informações, consulte Perform smoke testing.
Etapa 3: Configurar propriedades de agendamento
Para que o sistema execute periodicamente uma tarefa no nó, clique em Properties no painel de navegação à direita, na aba de configuração do nó, e defina as propriedades de agendamento conforme suas necessidades de negócio. Para mais informações, consulte Overview.
É obrigatório configurar os parâmetros Rerun e Parent Nodes na aba Properties antes de enviar a tarefa.
Etapa 4: Implantar a tarefa
Após configurar uma tarefa em um nó, envie-a e implante-a. Em seguida, o sistema executará a tarefa regularmente com base nas configurações de agendamento.
Clique no ícone
na barra de ferramentas superior para salvar a tarefa.-
Clique no ícone
na barra de ferramentas superior para enviar a tarefa.Na caixa de diálogo Submit, configure o parâmetro Change description. Em seguida, decida se deseja revisar o código da tarefa após o envio, conforme suas necessidades de negócio.
NotaÉ obrigatório configurar os parâmetros Rerun e Parent Nodes na aba Properties antes de enviar a tarefa.
Use o recurso de revisão de código para garantir a qualidade das tarefas e evitar erros de execução causados por código inválido. Se você ativar a revisão de código, o código enviado só poderá ser implantado após aprovação. Para mais informações, consulte Code review.
Se você usar um workspace no modo padrão, implante a tarefa no ambiente de produção após enviá-la. Para implantar uma tarefa em um nó, clique em Deploy no canto superior direito da aba de configuração do nó. Para mais informações, consulte Deploy a node.
Mais operações
Depois de enviar e implantar a tarefa, ela será executada periodicamente conforme as configurações de agendamento. Clique em Operation Center no canto superior direito da aba de configuração do nó correspondente para acessar o Operation Center e visualizar o status de agendamento da tarefa. Para mais informações, consulte Manage scheduled tasks.
Perguntas frequentes
P: Por que ocorre um tempo limite de conexão (ConnectException) ao executar um nó?
EMR execute task failed!
SQL: {"name":"dw20251018","type":"HIVE_SQL","launcher":{"allocationSpec":{}},"properties":{"envs":{"FLOW_SKIP_SQL_ANALYZE":false},"arguments":["select * from default.dim_customers"],"tags":[],"description":"DataWorks"}}
TASK-MESSAGE:
FAILED: Build connection error! Could not open client transport with JDBC Uri: jdbc:hive2://xxx:10000: java.net.ConnectException: Connection timed out
R: Verifique se o grupo de recursos e o cluster possuem conectividade de rede entre si. Acesse a lista de recursos de computação e clique em Resource Initialization. Na caixa de diálogo exibida, clique em Re-initialize. Confirme se a inicialização foi concluída com sucesso.