Os modelos de configuração do Spark permitem definir um conjunto reutilizável de configurações padrão globais para a execução de tarefas. Em vez de especificar memória do driver, quantidade de executores e outros parâmetros sempre que enviar um job, crie um modelo uma única vez e carregue-o pelo Data Development, spark-submit, Livy Gateway ou Kyuubi Gateway. Os modelos aceitam atualizações dinâmicas; assim, é possível ajustar as configurações a qualquer momento para atender às necessidades do negócio.
Interação entre modelos e parâmetros no nível do job: As definições do modelo funcionam como padrões. Qualquer parâmetro informado diretamente no envio do job substitui o valor correspondente do modelo. Por exemplo, definir spark.emr.serverless.jr.timeout=-1 durante o envio remove o limite de tempo, independentemente do que estiver especificado no modelo.
Pré-requisitos
Antes de começar, verifique se você tem:
Um workspace. Para mais informações, consulte Gerenciar workspaces.
Crie um modelo de configuração
Faça login no console do E-MapReduce.
No painel de navegação à esquerda, escolha EMR Serverless > Spark.
Na página Spark, clique em o nome do seu workspace.
Na página EMR Serverless Spark, clique em Configurations no painel de navegação à esquerda.
Na página Task Templates, clique em Create Template.
Na página Create Task Template, configure os parâmetros descritos abaixo e clique em Create.
Parâmetros do modelo
Configurações básicas
|
Parâmetro |
Descrição |
|
Template Name |
Nome do modelo. Use um nome descritivo que reflita o tipo de carga de trabalho ou perfil de recursos — por exemplo, |
|
Engine Version |
Versão do mecanismo de computação. Para obter detalhes, consulte Versões do mecanismo. |
|
Timeout |
Duração máxima permitida para a conclusão de uma tarefa. Para remover o limite de tempo de um job específico no momento do envio, defina |
Recursos de driver e executor
|
Parâmetro |
Descrição |
|
spark.driver.cores |
Número de núcleos de CPU para o processo do driver. |
|
spark.driver.memory |
Quantidade de memória para o processo do driver. |
|
spark.executor.cores |
Número de núcleos de CPU para cada executor. |
|
spark.executor.memory |
Quantidade de memória para cada executor. |
|
spark.executor.instances |
Número de executores a alocar. |
Dynamic resource allocation
Desativado por padrão. Quando ativado, o Spark ajusta a quantidade de executores conforme a demanda da carga de trabalho. Configure os seguintes subparâmetros:
|
Parâmetro |
Padrão |
Descrição |
|
Minimum number of executors |
2 |
Limite inferior para a contagem de executores durante o dimensionamento dinâmico. |
|
Maximum number of executors |
10 (se |
Limite superior para a contagem de executores durante o dimensionamento dinâmico. |
More memory configurations
|
Parâmetro |
Descrição |
|
spark.driver.memoryOverhead |
Memória non-heap por driver. Se deixado em branco, o Spark define este valor como |
|
spark.executor.memoryOverhead |
Memória non-heap por executor. Se deixado em branco, o Spark define este valor como |
|
spark.memory.offHeap.size |
Memória off-heap para a aplicação Spark. Padrão: 1 GB. Aplica-se apenas quando |
Spark configuration
Pares chave-valor adicionais de configuração do Spark. Separe cada chave e valor com um espaço e separe múltiplos pares com espaços — por exemplo, spark.sql.catalog.paimon.metastore dlf. Para parâmetros integrados do EMR Serverless Spark, consulte Parâmetros personalizados do Spark Conf.
Após criar o modelo, clique em Edit ou Delete na coluna Actions para modificá-lo ou removê-lo.
Aplicar um modelo
Carregar a partir do Data Development
Ao criar um job de processamento em lote ou streaming no Data Development, defina Load from template como um modelo existente. O console carrega automaticamente todos os parâmetros de configuração do modelo selecionado.

Carregar com spark-submit
Defina spark.emr.serverless.templateId na flag --conf. O EMR Serverless Spark carrega os parâmetros do modelo como padrões para o job.
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master yarn \
--conf spark.emr.serverless.templateId=<template_id> \
/path/to/your/spark-job.jar
Encontre o id do modelo na página Task Templates.
Carregar a partir de um Livy Gateway
Ao criar um Livy Gateway, defina Load from template no canto superior direito da página Create Livy Gateway para carregar os parâmetros de um modelo existente.
Carregar a partir de um Kyuubi Gateway
Ao criar um Kyuubi Gateway, defina Load from template no canto superior direito da página Create Kyuubi Gateway para carregar os parâmetros de um modelo existente.
Gerencie modelos
Redefinir um modelo para os padrões do sistema
Na página Task Templates, clique em Edit na coluna Actions.
Na página Edit Task Template, clique em Reset to system defaults na parte inferior e, em seguida, clique em Save Changes.
Defina um modelo como padrão
Na página Task Templates, clique em Set as default na coluna Actions.
Na caixa de diálogo, clique em OK.