Crie um nó E-MapReduce (EMR) Trino para executar consultas SQL distribuídas em várias fontes de dados, permitindo agregação de dados em grande escala e análise de relatórios. Para obter mais informações sobre o Trino, consulte Trino.
Pré-requisitos
-
Um cluster Alibaba Cloud EMR criado e registrado no workspace do DataWorks.
Antes de criar nós relacionados ao EMR, registre o cluster EMR no workspace do DataWorks. Para mais detalhes, consulte Bind EMR compute resources in legacy DataStudio.
(Opcional, para usuários RAM) O usuário RAM responsável pelo desenvolvimento de tarefas deve estar adicionado ao workspace e ter a função Development ou Workspace Administrator. A função Workspace Administrator possui permissões amplas; atribua-a com cautela. Para mais informações, consulte Add members to a workspace.
Um grupo de recursos serverless adquirido e configurado, incluindo a vinculação do grupo de recursos a um workspace e a configuração de rede. Para mais informações, consulte Use a serverless resource group.
-
Um workflow criado no DataStudio.
O DataStudio organiza as operações de desenvolvimento por workflow. Crie um workflow antes de criar um nó. Para mais informações, consulte Create a workflow.
Limites
Esse tipo de tarefa executa apenas em grupos de recursos serverless.
Para gerenciar metadados de clusters DataLake ou personalizados no DataWorks, configure o EMR-HOOK no cluster. Sem o EMR-HOOK, não é possível visualizar metadados em tempo real, gerar logs de auditoria, exibir linhagem de dados ou executar tarefas de governança relacionadas ao EMR no DataWorks. Para mais informações, consulte Configure EMR-HOOK for Hive.
Se a autenticação LDAP (Lightweight Directory Access Protocol) estiver ativada para o Trino, faça logon no nó mestre do cluster EMR e baixe o arquivo de keystore do diretório
/etc/taihao-apps/trino-conf. Em seguida, faça logon no console do DataWorks. No painel de navegação à esquerda, clique em . Selecione o workspace desejado na lista suspensa e clique em Go to Management Center. Ainda no painel de navegação à esquerda, clique em Cluster Management. Localize o cluster EMR registrado. Na aba Account Mappings, clique em Edit Account Mappings e, em seguida, em Upload Keystore File para enviar o arquivo.
Etapa 1: Criar um nó EMR Trino
-
Faça logon 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.
Clique com o botão direito no workflow desejado e selecione .
-
Na caixa de diálogo Create Node, insira um Name, selecione uma Compute Engine Instance, um Node Type e um Path. Clique em Confirm para acessar a página do editor de nós EMR Trino.
NotaO nome do nó pode conter letras maiúsculas, minúsculas, caracteres chineses, dígitos, sublinhados (_) e pontos (.).
Etapa 2: Desenvolver uma tarefa EMR Trino
Clique duas vezes no nó para abrir a página de desenvolvimento de tarefas e conclua as configurações a seguir.
(Opcional) Selecionar uma instância de cluster EMR
Se houver vários clusters EMR registrados no workspace, selecione o cluster apropriado na lista suspensa na parte superior da página do editor de nós. Caso haja apenas um cluster EMR registrado, o DataWorks o selecionará automaticamente.
Para acessar domínios com lista de permissões de endereços IP, utilize um grupo de recursos de agendamento dedicado.
Configuração do conector
Antes de consultar tabelas MySQL, configure o conector integrado do EMR Trino. Para mais informações, consulte MySQL connector.
Para consultar tabelas Hive, configure o conector integrado do EMR Trino. Para mais detalhes, consulte Hive connector.
Para consultar tabelas em outras fontes de dados, consulte Configure connectors e obtenha instruções sobre como configurar os conectores integrados.
Editar código SQL
Insira o código da tarefa no editor SQL. Exemplo:
-- Usage
-- SELECT * FROM <catalog>.<schema>.<table>;
-- Parameter description
-- <catalog>: the name of the data source to connect to.
-- <schema>: the name of the database to use.
-- <table>: the table to query.
-- Example: To view data in the hive_table table in the default database of a Hive data source:
-- Query a Hive table
SELECT * FROM hive.default.hive_table;
-- Example: To view data in the rt_user table in the user-created rt_data database of a MySQL data source:
-- Query a MySQL table
SELECT * FROM mysql.rt_data.rt_user;
-- Join a Hive table and a MySQL table
SELECT DISTINCT a.id, a.name,b.rt_name FROM hive.default.hive_table a INNER JOIN mysql.rt_data.rt_user b ON a.id = b.id;
-- Query a Hive table using a scheduling parameter
SELECT * FROM hive.default.${table_name};
O DataWorks oferece o recurso Scheduling Parameter para passar valores dinamicamente ao código em cenários de agendamento periódico. Defina variáveis no formato ${variable_name} no código do nó e atribua valores na aba Scheduling Settings no painel de navegação à direita. Na seção Scheduling Parameter, atribua um valor a cada variável. Para mais informações sobre formatos e configurações compatíveis, consulte Supported formats of scheduling parameters e Configure and use scheduling parameters.
Para alterar valores de parâmetros no código, clique em Advanced Run na barra de ferramentas. Para mais detalhes sobre a atribuição de valores, consulte What is the difference in the value assignment logic among Run, Advanced Run, and smoke testing in the development environment?
Executar a tarefa SQL
-
Na barra de ferramentas, clique no ícone
. Na caixa de diálogo Parameter, selecione um grupo de recursos de agendamento e clique em Running.NotaPara acessar recursos de computação pela internet pública ou em uma VPC, utilize um grupo de recursos de agendamento com conectividade a esses recursos. Para mais informações, consulte Network connectivity solutions.
Para alterar o grupo de recursos nas execuções subsequentes, clique no ícone Running with Parameters
e selecione o grupo de recursos desejado.Consultas em nós EMR Trino retornam no máximo 10.000 registros, e o tamanho total dos dados não pode exceder 10 MB.
Clique no ícone
para salvar o código SQL.
(Opcional) Configurar parâmetros avançados
Para ajustar a execução das instruções SQL, clique em Advanced Settings no painel de navegação à direita.
|
Parâmetro |
Descrição |
|
FLOW_SKIP_SQL_ANALYZE |
Define como as instruções SQL são executadas. Valores válidos:
|
|
DATAWORKS_SESSION_DISABLE |
Este parâmetro aplica-se a execuções de teste no ambiente de desenvolvimento. Valores válidos:
|
Etapa 3: Configurar o agendamento da tarefa
Para executar a tarefa do nó periodicamente, clique em Scheduling no lado direito da página de edição do nó e defina as configurações de agendamento conforme necessário. Para mais informações, consulte Overview of task scheduling properties.
Configure o Rerun attribute e os Parent Nodes do nó antes de enviá-lo.
Etapa 4: Enviar e implantar a tarefa
Após configurar o nó, envie-o e implante-o. Depois de implantada, a tarefa executa periodicamente com base na configuração de agendamento.
Clique no ícone
na barra de ferramentas para salvar o nó.-
Clique no ícone
na barra de ferramentas para enviar a tarefa do nó.Na caixa de diálogo Submission, insira uma Change Description e escolha se deseja realizar revisão de código após o envio do nó.
NotaDefina a propriedade Rerun attribute e especifique os Parent Nodes do nó antes de enviá-lo.
A revisão de código ajuda a controlar a qualidade e evita erros decorrentes da implantação de código não revisado em produção. Se você ativar a revisão de código, os revisores deverão aprovar o código enviado antes da implantação. Para mais informações, consulte Code review.
Se o workspace operar no modo padrão, clique em Deploy no canto superior direito da página do editor de nós após enviar a tarefa. Essa ação implanta a tarefa no ambiente de produção. Para mais informações, consulte Deploy tasks.
Próximas etapas
Depois de enviada e implantada, a tarefa executa periodicamente conforme a configuração de agendamento. Clique em O&M no canto superior direito da página do editor de nós para visualizar o status operacional e de agendamento. Para mais informações, consulte Manage periodic tasks.
Perguntas frequentes
-
P: Ocorre um tempo limite de conexão ao executar o nó. Por quê?
EMR execute task failed! SQL: {"name":"dw20251018","type":"TRINO_SQL","launcher":{"allocationSpec":{}},"properties":{"envs":{"FLOW_SKIP_SQL_ANALYZE":false},"arguments":["select * from default.dim_customers;"],"tags":[]},"description":"DataWorks"} TASK-MESSAGE: FAILED: Error executing queryR: Certifique-se de que o grupo de recursos e o cluster tenham conectividade de 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.
A caixa de diálogo exibe a seguinte mensagem na parte superior: Se esta for a primeira vez que você vincula um cluster ou se a configuração do service do cluster (por exemplo, o arquivo hive-site) foi alterada, inicialize o grupo de recursos. Caso contrário, as tarefas podem falhar durante a execução.