O Presto, também conhecido como PrestoDB, é um mecanismo de consulta SQL distribuído flexível e escalável que oferece suporte a análises interativas e consultas de big data usando SQL padrão. O nó EMR Presto no DataWorks permite escrever e agendar tarefas SQL do Presto em um cluster EMR.
Pré-requisitos
Antes de começar, verifique se você possui:
Um cluster EMR da Alibaba Cloud vinculado ao DataWorks. Consulte Data Studio: Associate an EMR computing resource.
-
(Opcional) Se você for um usuário do Resource Access Management (RAM): associação ao workspace de destino com a função Developer ou Workspace Administrator atribuída.
A função Workspace Administrator possui permissões amplas. Conceda-a com cautela. Para adicionar membros a um workspace, consulte Add members to a workspace . Usuários de conta da Alibaba Cloud podem pular esta etapa.
Limitações
Tipos de cluster compatíveis
Há suporte apenas para versões anteriores de clusters de data lake baseados em Hadoop. Não há suporte para clusters DataLake nem para clusters personalizados.
Grupos de recursos compatíveis
Execute tarefas EMR Presto em um Serverless resource group (recomendado) ou em um grupo de recursos exclusivo para agendamento.
Linhagem de dados
Não há suporte para linhagem de dados em nós EMR Presto.
Desenvolver um nó EMR Presto
Etapa 1: Escrever código SQL
Escreva o código SQL no editor SQL da página de edição do nó. Para passar valores dinâmicos durante a execução, defina variáveis usando a sintaxe ${variable_name} e atribua valores na seção Scheduling Parameters da aba Scheduling Configuration. Para mais detalhes, consulte Sources and expressions of scheduling parameters.
Exemplo:
select '${var}'; -- Use with scheduling parameters.
select * from userinfo;
As instruções SQL estão sujeitas aos seguintes limites:
Uma única instrução SQL não pode exceder 130 KB.
Uma consulta retorna no máximo 10.000 registros. O tamanho total dos dados retornados não pode exceder 10 MB.
Etapa 2: Configurar parâmetros avançados (opcional)
Na aba Scheduling Configuration, configure os seguintes parâmetros em EMR Node Parameters > DataWorks Parameters. Esses parâmetros aplicam-se a clusters Hadoop (EMR on ECS).
Hadoop cluster: EMR on ECS
|
Parâmetro |
Padrão |
Descrição |
|
|
|
Controla o comportamento da sessão Java Database Connectivity (JDBC). Defina como |
|
|
|
Controla como as instruções SQL são executadas. Defina como |
|
|
|
Prioridade do job. |
|
|
|
Fila de agendamento YARN para envio de jobs. Para detalhes sobre configuração de filas, consulte Basic queue configurations. |
Para configurar propriedades do Spark open-source, use a seção EMR Node Parameters > Spark Parameters. Consulte Spark configuration para ver as propriedades disponíveis.
Etapa 3: Executar a tarefa SQL
-
Em Run Configuration, defina o Computing Resource e o Resource Group na seção Computing Resource.
Opcionalmente, ajuste as Scheduling CUs conforme os recursos necessários para a execução da tarefa. O valor padrão é
0.25. Para acessar fontes de dados via rede pública ou VPC, utilize um grupo de recursos de agendamento aprovado no teste de conectividade com a fonte de dados. Consulte Network connectivity solutions . Na caixa de diálogo de parâmetros da barra de ferramentas, selecione a source de dados e clique em Run.
Etapa 4: Configurar o agendamento
Para executar o nodo em uma programação recorrente, configure suas propriedades de agendamento. Consulte Configure node scheduling.
Etapa 5: Publicar o nó
Publique o nó para ativá-lo. Consulte Publish nodes and workflows.
Após a publicação, monitore as execuções de tarefas acionadas automaticamente no Operation Center. Consulte Get started with Operation Center.
Perguntas frequentes
Por que o erro "Error executing query" aparece?

O cluster não é uma versão anterior de um cluster de data lake baseado em Hadoop. Há suporte apenas para esse tipo de cluster. Mude para um cluster compatível e tente novamente.
Por que ocorre um tempo limite de conexão durante a execução do nó?
O grupo de recursos não consegue alcançar o cluster. Acesse a página da lista de recursos de computação, localize o recurso e clique em Re-initialize na caixa de diálogo exibida. Verifique se a inicialização foi concluída com sucesso.

