O Apache Kyuubi é um gateway distribuído e multilocatário que fornece serviços de consulta SQL para mecanismos de consulta de data lake, como Spark, Flink e Trino. O nó EMR Kyuubi no DataWorks permite desenvolver e agendar periodicamente tarefas do Kyuubi, além de integrá-las a outros jobs. Este tópico descreve como configurar e usar um nó EMR Kyuubi para desenvolvimento de dados.
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 de tarefas ao workspace e atribua a ele a função Development ou Workspace Administrator (esta função inclui permissões amplas e deve ser concedida com cautela). Para mais informações, consulte Add workspace members.
Se você estiver usando uma conta raiz, pule esta etapa.
Limitações
Essas tarefas executam apenas 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 seguintes operações de desenvolvimento.
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 a seção Scheduling Settings e atribua valores a essas variáveis no campo Scheduling Parameters. Esse método permite passar parâmetros dinâmicos ao código durante execuções agendadas. Para mais informações sobre parâmetros de agendamento, consulte Sources and expressions of scheduling parameters. O código a seguir apresenta um 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 do Spark open-source, acesse Scheduling Settings > no painel à direita.
Parâmetro
Descrição
queue
Fila de recursos YARN para o job. A fila padrão é
default.NotaSe você configurar uma YARN Resource Queue no nível do workspace ao registrar o cluster EMR no workspace do DataWorks, as regras de seleção de fila para tarefas Kyuubi serão as seguintes:
-
Se 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. O valor padrão é 1.
FLOW_SKIP_SQL_ANALYZE
Define como as instruções SQL são executadas. 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
Aplica-se a 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 ao executar 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 fonte de dados pela rede pública ou em uma VPC, use um grupo de recursos de agendamento com conectividade verificada a essa source. 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.
-
Para executar tarefas de nó conforme um cronograma, configure as informações de agendamento de acordo com seus requisitos de negócio. Para mais informações, consulte Node scheduling configuration.
Após configurar o nó, implante-o. Para mais informações, consulte Deploy nodes and workflows.
Depois de implantar a tarefa, visualize o status de execução 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: Certifique-se de que o grupo de recursos e o cluster tenham 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. Verifique 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 serviço do cluster, 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 exibe Successfully initialized e mostra o horário de conclusão.