Crie um nó Serverless Spark SQL para processar dados estruturados com um mecanismo de consulta SQL distribuído baseado em um recurso de computação EMR Serverless Spark. Essa abordagem aumenta a eficiência na execução de jobs.
Observações de uso
Limitações de recursos de computação: O sistema oferece suporte apenas a recursos de computação EMR Serverless Spark vinculados. Garanta que o grupo de recursos e o recurso de computação tenham comunicação via rede.
Restrições de grupos de recursos: Esta tarefa é executada exclusivamente em um grupo de recursos Serverless.
-
(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 função Development ou Workspace Administrator (esta função possui permissões amplas e deve ser concedida com cautela). Para mais informações, consulte Adicionar membros ao workspace.
Caso esteja utilizando uma conta raiz, ignore esta etapa.
Criar um nó
Para obter instruções, consulte Criar um nó.
Desenvolver o nó
Desenvolva o código da tarefa no editor SQL. A sintaxe aceita o formato catalog.database.tablename. Se você omitir catalog, o sistema usará o Data Catalog padrão do cluster. Se omitir catalog.database, o sistema usará o banco de dados padrão do Data Catalog padrão do cluster.
Para mais informações sobre o Data Catalog, consulte Gerenciar um Data Catalog no EMR Serverless Spark .
-- Substitua <catalog.database.tablename> pelos seus identificadores reais. SELECT * FROM <catalog.database.tablename>
Defina variáveis no código usando o formato ${variable_name}. Em seguida, atribua valores a essas variáveis na seção Scheduling Parameters do painel Scheduling Settings. Isso permite a passagem dinâmica de parâmetros em cenários agendados. Para mais detalhes sobre parâmetros de agendamento, consulte Fontes e expressões de parâmetros de agendamento. O código abaixo apresenta um exemplo.
SHOW TABLES; -- Use ${var} para definir uma variável chamada var. Se você atribuir o valor ${yyyymmdd} a essa variável, poderá usar uma tarefa agendada para criar uma tabela com a data comercial como sufixo. CREATE TABLE IF NOT EXISTS userinfo_new_${var} ( ip STRING COMMENT'IP address', uid STRING COMMENT'User ID' )PARTITIONED BY( dt STRING ); --Isso pode ser usado com parâmetros de agendamento.
Uma instrução SQL não pode exceder 130 KB.
Depurar o nó
-
Na seção Run Configuration, selecione um Compute Resource e um Resource Group.
Parâmetro
Descrição
Compute Resource
Selecione um recurso de computação EMR Serverless Spark vinculado. Se nenhum recurso de computação estiver disponível, selecione Create Compute Resource na lista suspensa.
Resource Group
Selecione um grupo de recursos associado ao workspace.
Script Parameters
Ao configurar o conteúdo do nó, defina variáveis usando o formato
${parameter_name}. Depois, configure o Parameter name e o Parameter Value na seção Script Parameters. Essas variáveis são substituídas dinamicamente pelos valores reais durante a execução. Para mais informações, consulte Fontes e expressões de parâmetros de agendamento.ServerlessSpark Node Parameters
Parâmetros de runtime do Spark. Os seguintes tipos são suportados:
-
Parâmetros de runtime personalizados do DataWorks. Para mais informações, consulte Apêndice: Parâmetros do DataWorks.
-
Parâmetros de propriedade nativos do Spark. Para mais informações, consulte Parâmetros de propriedade do Spark open-source. Carregue diretamente um modelo de configuração Spark do Serverless Spark sem entrada manual para simplificar o processo de configuração e garantir consistência.
-
-
Na barra de ferramentas na parte superior do editor de nós, clique em Run para executar a tarefa SQL.
ImportanteAntes da implantação, sincronize os Serverlessspark Node Parameters da Run Configuration para os Serverlessspark Node Parameters nas Scheduling Settings.
Modos de execução SQL
O DataWorks oferece dois modos de execução SQL: execução dentro do nó e execução a partir do painel de workflow. Esses dois modos possuem contextos de execução diferentes e podem produzir resultados distintos.
Executar dentro do nó: Selecione todas as instruções SQL no editor SQL e clique em Run. Apenas as instruções SQL selecionadas serão executadas. Este modo utiliza o recurso de computação e os parâmetros configurados para o nó, sem acionar relações de dependência com nós upstream ou downstream.
Executar a partir do painel de workflow: Clique com o botão direito no nó atual no painel de workflow e execute o nó atual juntamente com seus nós downstream. O nó atual e todos os seus nós downstream são executados sequencialmente com base nas dependências de agendamento. Este modo usa o recurso de computação e os parâmetros especificados nas configurações de agendamento, que podem diferir do ambiente de runtime da execução dentro do nó.
As causas comuns para diferenças entre os dois modos incluem valores distintos de parâmetros de agendamento, configurações inconsistentes de recursos de computação e a saída de nós upstream afetando o contexto de execução do nó atual. Para solucionar problemas, compare os parâmetros de agendamento e as configurações de recursos de computação utilizados pelos dois modos.
Próximas etapas
Configurar o agendamento do nó: Se precisar executar um nó periodicamente, configure sua Scheduling Policy no painel Scheduling Settings à direita.
Publicar um nó: Para executar uma tarefa no ambiente de produção, clique no ícone
para publicar o nó. Um nó só é executado conforme o agendamento após ser publicado no ambiente de produção.O&M de tarefas: Após a publicação de uma tarefa, monitore o status de suas execuções periódicas no Operation Center. Para mais informações, consulte Introdução ao Operation Center.
Apêndice: Parâmetros do DataWorks
Parâmetro avançado | Descrição |
FLOW_SKIP_SQL_ANALYZE | O modo de execução de instruções SQL. Valores válidos:
Nota Este parâmetro é suportado apenas para execuções de teste no ambiente de desenvolvimento de dados. |
DATAWORKS_SESSION_DISABLE | O método de envio de tarefas. Durante o desenvolvimento de dados, as tarefas são enviadas ao SQL Compute para execução por padrão. Use este parâmetro para especificar se a tarefa é executada através do SQL Compute ou enviada para uma fila de execução.
|
SERVERLESS_RELEASE_VERSION | A versão do mecanismo Spark. Por padrão, a Default Engine Version configurada nas definições do cluster em Compute Resource no Management Center é utilizada. Para definir uma versão diferente do mecanismo para uma tarefa específica, configure este parâmetro. Nota O parâmetro |
SERVERLESS_QUEUE_NAME | A fila de recursos para a qual as tarefas são enviadas. Quando uma tarefa é configurada para ser enviada a uma fila para execução, a Default Resource Queue configurada nas definições do cluster em Clusters no Management Center é usada por padrão. Se você tiver requisitos de isolamento e gerenciamento de recursos, poderá adicionar filas. Para mais informações, consulte Gerenciar filas de recursos. Métodos de configuração:
Nota
|
SERVERLESS_SQL_COMPUTE | O SQL Compute (sessão SQL) a ser utilizado. Por padrão, o Default SQL Compute configurado nas definições do cluster em Compute Resource no Management Center é usado. Para definir uma sessão SQL diferente para uma tarefa específica, configure este parâmetro. Para obter informações sobre como criar e gerenciar sessões SQL, consulte Gerenciar sessões do SQL Compute. |
Outros | Parâmetros personalizados de Configuração do Spark. Adicione parâmetros de propriedade específicos do Spark. Formato de configuração: Nota O DataWorks permite configurar parâmetros globais do Spark no nível do workspace para cada módulo do DataWorks. Especifique se a prioridade dos parâmetros globais do Spark deve ser superior à dos parâmetros do Spark configurados dentro de um módulo específico. Para mais informações sobre a configuração de parâmetros globais do Spark, consulte Configurar parâmetros globais do Spark. |