O Apache Kyuubi é um gateway distribuído e multilocatário que fornece SQL e outros services de consulta para mecanismos de consulta de data lake, como Spark, Flink e Trino. No DataWorks, você pode usar nós EMR Kyuubi para desenvolver, agendar periodicamente e integrar tarefas do Kyuubi a outros jobs. Este tópico descreve como criar e configurar um nó EMR Kyuubi.
Pré-requisitos
Um cluster do Alibaba Cloud EMR foi criado e registrado 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 foi adicionado ao workspace do DataWorks como membro e recebeu a função Develop ou Workspace Administrator. A função Workspace Administrator possui mais permissões do que o necessário. Tenha cuidado ao atribuir essa função. Para mais informações sobre como adicionar um membro, consulte Add members to a workspace.
Um grupo de recursos serverless foi adquirido e configurado. As configurações incluem associação a um workspace e configuração de rede. Para mais informações, consulte Create and use a serverless resource group.
-
Um workflow foi criado no DataStudio.
As operações de desenvolvimento em diferentes tipos de mecanismos de computação são realizadas com base em workflows no DataStudio. Portanto, antes de criar um nó, crie um workflow. Para mais informações, consulte Create a workflow.
Limitações
Esse tipo de tarefa só pode ser executado em um serverless resource group (recomendado) ou em um grupo de recursos exclusivo para agendamento.
Etapa 1: Criar um nó EMR Kyuubi
-
Faça login no console do DataWorks. Na região de destino, 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 Kyuubi.
-
Clique com o botão direito no workflow de destino e escolha .
NotaAlternativamente, passe o mouse sobre o ícone Create e escolha .
-
Na caixa de diálogo Create Node, insira um Name e selecione uma Engine Instance, um Node Type e um Path. Clique em OK para abrir o editor de nós EMR Kyuubi.
NotaO nome do nó pode conter letras maiúsculas e minúsculas, caracteres chineses, dígitos, sublinhados (_) e pontos (.).
-
Etapa 2: Desenvolver uma tarefa EMR Kyuubi****
No editor de nós EMR Kyuubi, clique duas vezes no nó criado para abrir a página de desenvolvimento de tarefas.
Desenvolver código SQL
No editor SQL, desenvolva o código da tarefa. Defina variáveis no código usando o formato ${variable_name}. Em seguida, atribua valores a essas variáveis no painel de navegação à direita, em Scheduling > Scheduling Parameter. Isso permite passar parâmetros dinamicamente durante execuções agendadas. Para mais informações sobre os formatos suportados de parâmetros de agendamento, consulte Supported formats of scheduling parameters. O exemplo a seguir é fornecido.
show tables;
select * from kyuubi040702 where age >= '${a}'; -- You can use scheduling parameters.
A instrução SQL não pode exceder 130 KB de tamanho.
Se o seu workspace estiver associado a vários recursos de computação EMR no DataStudio, selecione o mecanismo apropriado. Se apenas um recurso de computação EMR estiver vinculado, não será necessário selecionar um mecanismo.
(Opcional) Configurar parâmetros avançados
Configure propriedades avançadas para o nó na seção Advanced Settings. Para mais informações sobre as configurações de propriedades, consulte Configuração do Spark.
|
Parâmetro |
Descrição |
|
queue |
A fila de agendamento onde os jobs são enviados. O valor padrão é a fila Nota
Se você configurar uma YARN resource queue no nível do workspace ao registrar um cluster EMR em um workspace do DataWorks, o DataWorks usará as seguintes regras para selecionar uma fila de agendamento para uma tarefa Kyuubi em tempo de execução:
Para mais informações sobre o EMR YARN, consulte Basic queue configurations. Para mais informações sobre como configurar uma fila ao registrar um cluster EMR, consulte Configure a global YARN resource queue. |
|
priority |
A prioridade. O valor padrão é 1. |
|
FLOW_SKIP_SQL_ANALYZE |
Controla como as instruções SQL são executadas. Valores válidos:
Nota
Este parâmetro se aplica apenas a execuções de teste no ambiente de desenvolvimento. |
|
DATAWORKS_SESSION_DISABLE |
Aplica-se a execuções de teste diretas no ambiente de desenvolvimento. Valores válidos:
Nota
Se você 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 uma fonte de dados pela Internet ou por uma VPC, use um grupo de recursos de agendamento com conectividade de rede confirmada à fonte de dados. Para mais informações, consulte Network connectivity solutions.
Se precisar alterar o grupo de recursos para uma execução subsequente da tarefa, clique no ícone Run with Custom Parameters
e selecione o grupo de recursos desejado.
Clique no ícone
para salvar o código SQL.-
(Opcional) Realize testes de fumaça (smoke testing).
Para realizar testes de fumaça no ambiente de desenvolvimento, faça-o 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 guia de configuração do nó, e configure as propriedades de agendamento da tarefa conforme seus requisitos de negócio. Para mais informações, consulte Overview.
Configure os parâmetros Rerun e Parent Nodes na guia Properties antes de enviar a tarefa.
Etapa 4: Implantar a tarefa
Após configurar uma tarefa em um nó, envie e implante a tarefa. Depois de enviar e implantar a tarefa, o sistema a executa 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 seus requisitos de negócio.
NotaConfigure os parâmetros Rerun e Parent Nodes na guia Properties antes de enviar a tarefa.
Use o recurso de revisão de código para garantir a qualidade do código das tarefas e evitar erros de execução causados por código inválido. Se você ativar esse recurso, o código da tarefa enviado só poderá ser implantado após ser aprovado na revisã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 guia 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 guia 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: O nó falha com um erro de tempo limite de conexão. O que fazer?
R: Garanta que o grupo de recursos e o cluster possam se conectar mutuamente pela rede. Acesse a lista de recursos de computação e clique em Resource Initialization. Na caixa de diálogo exibida, clique em Re-initialize. Verifique se a inicialização foi bem-sucedida.
Uma mensagem no topo da caixa de diálogo indica que você deve inicializar o grupo de recursos ao vincular o cluster pela primeira vez ou quando as configurações de service do cluster forem alteradas, como modificações em
hive-site.xml. Caso contrário, as tarefas podem falhar. Após a inicialização bem-sucedida, a coluna de status mostrará Successfully initialized com o horário de conclusão.