O Apache Kyuubi é um gateway distribuído e multilocatário que fornece service de consulta SQL para mecanismos de consulta de data lake, como Spark, Flink e Trino. Use o nó EMR Kyuubi no DataWorks para desenvolver e agendar periodicamente tarefas do Kyuubi, além de integrá-las a outros jobs.
Pré-requisitos
Crie um cluster do Alibaba Cloud EMR e registre-o no DataWorks. Para mais informações, consulte New Data Studio: Attach an EMR compute resource.
-
(Opcional, para usuários RAM) Adicione o usuário do Resource Access Management (RAM) responsável pelo desenvolvimento da tarefa ao workspace e atribua a ele a função Development ou Workspace Administrator (esta função inclui permissões amplas; conceda-a com cautela). Para mais informações, consulte Add workspace members.
Se você estiver usando uma conta root, pule esta etapa.
Limitações
Essas tarefas só podem ser executadas em um serverless resource group (recomendado) ou em um grupo de recursos de agendamento exclusivo.
Procedimento
-
Na página de edição do nó EMR Kyuubi, execute as operações a seguir.
Desenvolver código SQL
No editor SQL, desenvolva o código da tarefa. Defina variáveis no código usando o formato ${variable_name}. No painel à direita, acesse Scheduling Settings e atribua valores a essas variáveis no campo Scheduling Parameters para passar parâmetros dinâmicos durante execuções agendadas. Para mais informações, consulte Sources and expressions of scheduling parameters. Exemplo:
SHOW TABLES; SELECT * FROM kyuubi040702 WHERE age >= '${a}'; -- You can use scheduling parameters.NotaA instrução SQL não pode exceder 130 KB.
(Opcional) Configurar parâmetros avançados
No painel à direita, acesse Scheduling Settings > .
NotaPara configurar outras propriedades open-source do Spark, acesse Scheduling Settings > no painel à direita.
Parâmetro
Descrição
queue
Fila de recursos YARN para o job. Padrão:
default.NotaSe uma YARN Resource Queue no nível do workspace for configurada ao registrar o cluster EMR no workspace do DataWorks, as regras de seleção de fila para tarefas Kyuubi serão:
-
Quando Global Settings Take Precedence estiver definido como Yes, o sistema usará a fila de agendamento configurada durante o registro do cluster EMR.
-
Caso Global Settings Take Precedence não esteja configurado, o sistema usará a fila de agendamento definida para o nó EMR Kyuubi.
Para mais informações sobre o YARN do EMR, consulte Basic queue configurations. Para detalhes sobre a configuração de fila durante o registro do cluster EMR, consulte Set a global YARN resource queue.
priority
Prioridade do job. Padrão: 1.
FLOW_SKIP_SQL_ANALYZE
Modo de execução da instrução SQL. Valores válidos:
-
true: Executa múltiplas instruções SQL simultaneamente. -
false(padrão): Executa uma instrução SQL por vez.
NotaEste parâmetro aplica-se apenas a execuções de teste no ambiente de desenvolvimento de dados.
DATAWORKS_SESSION_DISABLE
Controla o comportamento da conexão JDBC para execuções de teste diretas no ambiente de desenvolvimento. Valores válidos:
-
true: Cria uma nova conexão JDBC para cada execução de instrução SQL. -
false(padrão): Reutiliza a mesma conexão JDBC para diferentes instruções SQL dentro do mesmo nó.
NotaSe este parâmetro estiver definido como
false, oyarn applicationIddo Hive não será impresso no log. Para imprimir oyarn applicationId, defina este parâmetro comotrue.Executar a tarefa SQL
-
Na seção Compute Resource de Run Configuration, selecione o Compute Resource e o DataWorks Resource Group.
NotaAjuste as CUs for Scheduling conforme os requisitos de recursos da tarefa. O valor padrão é
0.25.Para acessar uma source de dados via rede pública ou em uma VPC, utilize um grupo de recursos de agendamento com conectividade verificada a essa source de dados. Para mais informações, consulte Network connectivity solutions.
Na caixa de diálogo de parâmetros na barra de ferramentas, selecione a source de dados e clique em Run.
-
Configure as informações de agendamento do nó de acordo com seus requisitos de negócio. Para mais informações, consulte Node scheduling configuration.
Implante o nó. Para mais informações, consulte Deploy nodes and workflows.
Após a implantação, visualize o status de execução da tarefa no Operation Center. Para mais informações, consulte Get started with Operation Center.
Perguntas frequentes
-
P: O nó falha com um erro de tempo limite de conexão. O que fazer?
R: Verifique se o grupo de recursos e o cluster têm 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 bem-sucedida.
Uma mensagem no topo da caixa de diálogo indica que é necessário inicializar o grupo de recursos ao vincular o cluster pela primeira vez ou quando houver alterações nas configurações de service do cluster, como modificações em
hive-site.xml. Caso contrário, as tarefas podem falhar. Após o sucesso da inicialização, a coluna de status exibirá Successfully initialized com o horário de conclusão.