Este tópico descreve os itens de configuração e o procedimento para desenvolver uma tarefa em lote ou de streaming.
Pré-requisitos
Um workspace foi criado. Para mais informações, consulte Gerenciar workspaces.
Procedimento
-
Acesse a página Data Development.
Faça login no console do E-MapReduce.
No painel de navegação à esquerda, escolha .
Na página Spark, clique em nome do workspace desejado.
Na página EMR Serverless Spark, clique em Development no painel de navegação à esquerda.
-
Crie uma tarefa.
Na aba Development, clique em ícone
.Na caixa de diálogo, insira um Name, selecione o tipo de tarefa em lote ou de streaming e clique em OK.
No canto superior direito, selecione uma fila de recursos.
-
No editor da nova tarefa, edite os parâmetros conforme o tipo de tarefa.
JAR
Parâmetro
Descrição
Main JAR Resource
Pacote JAR principal necessário para executar a tarefa.
Workspace: Arquivos enviados anteriormente para a página Artifacts.
OSS: Arquivo armazenado no Object Storage Service (OSS) do Alibaba Cloud.
Engine Version
Versão do Spark. Para mais informações, consulte Versões do mecanismo.
Main class
Classe principal especificada ao enviar a tarefa Spark.
Execution Parameters
Itens de configuração necessários durante a execução da tarefa ou parâmetros personalizados passados para a classe principal. Separe múltiplos parâmetros com espaços.
Timeout
Tempo máximo permitido para a conclusão desta tarefa. Se a execução exceder esse limiar, o sistema interrompe a tarefa automaticamente. O valor padrão é vazio, indicando que não há limite de tempo definido.
Network Connection
Selecione uma conexão de rede existente para acessar fontes de dados em uma VPC ou serviços externos. Para mais informações sobre como criar uma conexão de rede, consulte Conectividade de rede entre o EMR Serverless Spark e outras VPCs.
Mount Integrated File Directory
Esse recurso está desativado por padrão. Para utilizá-lo, adicione um diretório de arquivos na página Artifacts, na aba Integrated File Directory. Para mais informações, consulte Gerenciar o diretório de arquivos integrado.
A ativação deste recurso monta o diretório de arquivos gerenciado na aplicação, permitindo leitura e escrita direta nos arquivos do diretório.
A operação de montagem consome recursos de computação do driver. A quantidade consumida corresponde ao maior dos dois valores abaixo:
Recursos fixos: 0,3 vCPUs + 1 GB de memória.
Recursos dinâmicos: 10% dos recursos do
spark.driver(ou seja, 10% dos núcleos e da memória dospark.driver).
Por exemplo, se o
spark.driverestiver configurado com 4 núcleos e 8 GB de memória, os recursos dinâmicos serão 0,4 vCPUs + 0,8 GB de memória. Nesse caso, os recursos realmente consumidos sãomax(0,3 vCPUs + 1 GB, 0,4 vCPUs + 0,8 GB), resultando em 0,4 vCPUs + 1 GB de memória.NotaEscopo de montagem: Por padrão, o diretório de arquivos é montado apenas no driver. Para montá-lo também nos executors, ative Mount to Executor.
Múltiplos diretórios: É possível montar vários diretórios de arquivos integrados. No entanto, diretórios CPFS não podem ser usados junto com outros tipos. Por exemplo, você pode montar múltiplos diretórios OSS e NAS simultaneamente, mas não pode combinar CPFS com diretórios OSS ou NAS.
Requisitos de rede: Ao montar um diretório de arquivos NAS ou CPFS, é obrigatório configurar uma conexão de rede. A VPC da conexão de rede deve ser a mesma do ponto de montagem NAS ou CPFS.
Mount to Executor
A ativação deste recurso monta o diretório de arquivos gerenciado nos executors da aplicação, permitindo que eles leiam e escrevam diretamente nos arquivos do diretório.
Essa operação de montagem consome recursos do executor. A quantidade de recursos consumidos varia conforme o uso dos arquivos montados.
File Resources
Ao enviar a tarefa, os arquivos especificados pelo parâmetro
--filessão copiados para o diretório de trabalho do executor. Isso garante que a tarefa Spark possa acessar esses arquivos durante a execução.É possível selecionar arquivos do Workspace ou do OSS.
Archive Resources
Durante o envio da tarefa, os arquivos indicados pelo parâmetro
--archivessão descompactados e distribuídos para os objetos arquivados no executor.Os arquivos podem ser selecionados do Workspace ou do OSS.
JAR Resources
Ao submeter a tarefa, especifique os arquivos de dependência JAR necessários usando o parâmetro
--jars.Selecione os JARs no Workspace ou no OSS.
spark.driver.cores
Número de núcleos de CPU utilizados pelo driver na aplicação Spark.
spark.driver.memory
Quantidade de memória disponível para o driver na aplicação Spark.
spark.executor.cores
Número de núcleos virtuais de CPU usados por cada executor na aplicação Spark.
spark.executor.memory
Memória disponível para cada executor na aplicação Spark.
spark.executor.instances
Quantidade de executors alocados pelo Spark.
Dynamic Resource Allocation
Desativado por padrão. Quando ativado, configure os seguintes parâmetros:
Minimum Number of Executors: O valor padrão é 2.
Maximum Number of Executors: Caso spark.executor.instances não esteja definido, o valor padrão é 10.
More Memory Configurations
spark.driver.memoryOverhead: Memória non-heap disponível para o driver. Se este parâmetro não for definido, o Spark aloca automaticamente um valor baseado no padrão, que é
max(384 MB, 10% * spark.driver.memory).spark.executor.memoryOverhead: Memória non-heap disponível para cada executor. Na ausência dessa configuração, o Spark atribui automaticamente o valor padrão:
max(384 MB, 10% * spark.executor.memory).spark.memory.offHeap.size: Quantidade de memória off-heap disponível para o Spark. O valor padrão é 1 GB.
Este parâmetro só entra em vigor quando
spark.memory.offHeap.enabledestá definido comotrue. Ao usar o mecanismo Fusion, esse recurso é habilitado por padrão com 1 GB de memória off-heap.
Spark Configuration
Insira as informações de configuração do Spark. Separe os pares chave-valor com um espaço. Exemplo:
key value.Tags
Defina pares chave-valor para tags. Elas facilitam o gerenciamento preciso das tarefas.
PySpark
Parâmetro
Descrição
Main Python Resources
Arquivo Python principal necessário para executar a tarefa.
Workspace: Arquivo enviado na página Artifacts.
OSS: Arquivo armazenado no Object Storage Service (OSS).
Engine Version
Versão do Spark. Para mais detalhes, veja Versões do mecanismo.
Execution Parameters
Itens de configuração exigidos durante a execução da tarefa ou parâmetros personalizados passados para a classe principal.
Timeout
Tempo máximo permitido para a conclusão desta tarefa. Se a execução exceder esse limiar, o sistema interrompe a tarefa automaticamente. O valor padrão é vazio, indicando que não há limite de tempo definido.
Environment
Os recursos necessários para executar a tarefa são pré-configurados com base no ambiente selecionado.
Network Connection
Selecione uma conexão de rede existente para acessar fontes de dados em uma VPC ou serviços externos. Para mais informações sobre como criar uma conexão de rede, consulte Conectividade de rede entre o EMR Serverless Spark e outras VPCs.
Mount Integrated File Directory
Esse recurso está desativado por padrão. Para utilizá-lo, adicione um diretório de arquivos na página Artifacts, na aba Integrated File Directory. Para mais informações, consulte Gerenciar o diretório de arquivos integrado.
Quando ativado, este recurso monta o diretório de arquivos gerenciado na tarefa, permitindo acesso direto de leitura e escrita aos arquivos do diretório.
A operação de montagem consome recursos de computação do driver. A quantidade consumida corresponde ao maior dos dois valores abaixo:
Recursos fixos: 0,3 vCPUs + 1 GB de memória.
Recursos dinâmicos: 10% dos recursos do
spark.driver(ou seja, 10% dos núcleos e da memória dospark.driver).
Por exemplo, se o
spark.driverestiver configurado com 4 núcleos e 8 GB de memória, os recursos dinâmicos serão 0,4 vCPUs + 0,8 GB de memória. Nesse caso, os recursos realmente consumidos sãomax(0,3 vCPUs + 1 GB, 0,4 vCPUs + 0,8 GB), resultando em 0,4 vCPUs + 1 GB de memória.NotaEscopo de montagem: Por padrão, o diretório de arquivos é montado apenas no driver. Para montá-lo também nos executors, ative Mount to Executor.
Múltiplos diretórios: É possível montar vários diretórios de arquivos integrados. No entanto, diretórios CPFS não podem ser usados junto com outros tipos. Por exemplo, você pode montar múltiplos diretórios OSS e NAS simultaneamente, mas não pode combinar CPFS com diretórios OSS ou NAS.
Requisitos de rede: Ao montar um diretório de arquivos NAS ou CPFS, é obrigatório configurar uma conexão de rede. A VPC da conexão de rede deve ser a mesma do ponto de montagem NAS ou CPFS.
Mount to Executor
Quando ativado, este recurso monta o diretório de arquivos gerenciado nos executors da tarefa, concedendo-lhes acesso direto de leitura e escrita aos arquivos.
Essa operação de montagem consome recursos do executor. A porcentagem de recursos consumidos varia conforme o uso dos arquivos montados.
File Resources
Lista de arquivos a serem distribuídos para todos os nós executors no cluster.
Para o tipo de recurso, selecione Workspace ou OSS.
Pyfiles Resources
Ao enviar a tarefa, os arquivos especificados pelo parâmetro
--py-filessão distribuídos como arquivos de dependência Python.Quanto ao tipo de recurso, escolha Workspace ou OSS.
Archive Resources
Durante o envio da tarefa, os arquivos indicados pelo parâmetro
--archivessão descompactados e distribuídos para os objetos arquivados no executor.Os arquivos podem ser selecionados do Workspace ou do OSS.
JAR Resources
Ao submeter a tarefa, especifique os arquivos de dependência JAR necessários usando o parâmetro
--jars.Selecione os JARs no Workspace ou no OSS.
spark.driver.cores
Número de núcleos de CPU utilizados pelo driver na aplicação Spark.
spark.driver.memory
Quantidade de memória disponível para o driver na aplicação Spark.
spark.executor.cores
Número de núcleos virtuais de CPU usados por cada executor na aplicação Spark.
spark.executor.memory
Memória disponível para cada executor na aplicação Spark.
spark.executor.instances
Quantidade de executors alocados pelo Spark.
Dynamic Resource Allocation
Desativado por padrão. Quando ativado, configure os seguintes parâmetros:
Minimum Number of Executors: O valor padrão é 2.
Maximum Number of Executors: Caso spark.executor.instances não esteja definido, o valor padrão é 10.
More Memory Configurations
spark.driver.memoryOverhead: Memória non-heap disponível para o driver. Se este parâmetro não for definido, o Spark aloca automaticamente um valor baseado no padrão, que é
max(384 MB, 10% * spark.driver.memory).spark.executor.memoryOverhead: Memória non-heap disponível para cada executor. Na ausência dessa configuração, o Spark atribui automaticamente o valor padrão:
max(384 MB, 10% * spark.executor.memory).spark.memory.offHeap.size: Quantidade de memória off-heap disponível para o Spark. O valor padrão é 1 GB.
Este parâmetro só entra em vigor quando
spark.memory.offHeap.enabledestá definido comotrue. Ao usar o mecanismo Fusion, esse recurso é habilitado por padrão com 1 GB de memória off-heap.
Spark Configuration
Insira as informações de configuração do Spark. Separe os pares chave-valor com um espaço. Exemplo:
key value.Tags
Defina pares chave-valor para tags. Elas facilitam o gerenciamento preciso das tarefas.
SQL
Parâmetro
Descrição
SQL File
Arquivo necessário ao enviar a tarefa.
Workspace: Um arquivo da página Artifacts.
OSS: Um arquivo do OSS do Alibaba Cloud.
Execute Statement: Execute instruções SQL diretamente sem fazer upload de um arquivo.
Engine Version
Versão do Spark. Para mais detalhes, veja Versões do mecanismo.
Timeout
Tempo máximo permitido para a conclusão desta tarefa. Se a execução exceder esse limiar, o sistema interrompe a tarefa automaticamente. O valor padrão é vazio, indicando que não há limite de tempo definido.
Network Connection
Selecione uma conexão de rede existente para acessar fontes de dados em uma VPC ou serviços externos. Para mais informações sobre como criar uma conexão de rede, consulte Conectividade de rede entre o EMR Serverless Spark e outras VPCs.
Mount Integrated File Directory
Esse recurso está desativado por padrão. Para utilizá-lo, adicione um diretório de arquivos na página Artifacts, na aba Integrated File Directory. Para mais informações, consulte Gerenciar o diretório de arquivos integrado.
Quando ativado, o sistema monta o diretório de arquivos gerenciado na tarefa, permitindo leitura e escrita no diretório.
A operação de montagem consome recursos de computação do driver. A quantidade consumida corresponde ao maior dos dois valores abaixo:
Recursos fixos: 0,3 vCPUs + 1 GB de memória.
Recursos dinâmicos: 10% dos recursos do
spark.driver(ou seja, 10% dos núcleos e da memória dospark.driver).
Por exemplo, se o
spark.driverestiver configurado com 4 núcleos e 8 GB de memória, os recursos dinâmicos serão 0,4 vCPUs + 0,8 GB de memória. Nesse caso, os recursos realmente consumidos sãomax(0,3 vCPUs + 1 GB, 0,4 vCPUs + 0,8 GB), resultando em 0,4 vCPUs + 1 GB de memória.NotaEscopo de montagem: Por padrão, o diretório de arquivos é montado apenas no driver. Para montá-lo também nos executors, ative Mount to Executor.
Múltiplos diretórios: É possível montar vários diretórios de arquivos integrados. No entanto, diretórios CPFS não podem ser usados junto com outros tipos. Por exemplo, você pode montar múltiplos diretórios OSS e NAS simultaneamente, mas não pode combinar CPFS com diretórios OSS ou NAS.
Requisitos de rede: Ao montar um diretório de arquivos NAS ou CPFS, é obrigatório configurar uma conexão de rede. A VPC da conexão de rede deve ser a mesma do ponto de montagem NAS ou CPFS.
Mount to Executor
Quando ativado, o sistema monta o diretório de arquivos gerenciado nos Executors da tarefa, permitindo que eles leiam e escrevam no diretório.
A operação de montagem consome recursos do Executor. A porcentagem de recursos consumidos varia conforme o uso dos arquivos.
spark.driver.cores
Número de núcleos de CPU utilizados pelo driver na aplicação Spark.
spark.driver.memory
Quantidade de memória disponível para o driver na aplicação Spark.
spark.executor.cores
Número de núcleos virtuais de CPU usados por cada executor na aplicação Spark.
spark.executor.memory
Memória disponível para cada executor na aplicação Spark.
spark.executor.instances
Quantidade de executors alocados pelo Spark.
Dynamic Resource Allocation
Desativado por padrão. Quando ativado, configure os seguintes parâmetros:
Minimum Number of Executors: O valor padrão é 2.
Maximum Number of Executors: Caso spark.executor.instances não esteja definido, o valor padrão é 10.
More Memory Configurations
spark.driver.memoryOverhead: Memória non-heap disponível para o driver. Se este parâmetro não for definido, o Spark aloca automaticamente um valor baseado no padrão, que é
max(384 MB, 10% * spark.driver.memory).spark.executor.memoryOverhead: Memória non-heap disponível para cada executor. Na ausência dessa configuração, o Spark atribui automaticamente o valor padrão:
max(384 MB, 10% * spark.executor.memory).spark.memory.offHeap.size: Quantidade de memória off-heap disponível para o Spark. O valor padrão é 1 GB.
Este parâmetro só entra em vigor quando
spark.memory.offHeap.enabledestá definido comotrue. Ao usar o mecanismo Fusion, esse recurso é habilitado por padrão com 1 GB de memória off-heap.
Spark Configuration
Insira as informações de configuração do Spark. Separe os pares chave-valor com um espaço. Exemplo:
key value.Tags
Defina pares chave-valor para tags. Elas facilitam o gerenciamento preciso das tarefas.
Spark Submit
Parâmetro
Descrição
Engine Version
Versão do Spark. Para mais informações, consulte Versões do mecanismo.
Script
Insira seu script Spark Submit.
O código a seguir fornece um exemplo:
--class org.apache.spark.examples.SparkPi \ --conf spark.executor.memory=2g \ oss://<YourBucket>/spark-examples_2.12-3.5.2.jarTimeout
Tempo máximo permitido para a conclusão desta tarefa. Se a execução exceder esse limiar, o sistema interrompe a tarefa automaticamente. O valor padrão é vazio, indicando que não há limite de tempo definido.
Network Connection
Selecione uma conexão de rede existente para acessar fontes de dados em uma VPC ou serviços externos. Para mais informações sobre como criar uma conexão de rede, consulte Conectividade de rede entre o EMR Serverless Spark e outras VPCs.
Mount Integrated File Directory
Esse recurso está desativado por padrão. Para utilizá-lo, adicione um diretório de arquivos na página Artifacts, na aba Integrated File Directory. Para mais informações, consulte Gerenciar o diretório de arquivos integrado.
Quando ativado, este recurso monta o diretório de arquivos gerenciado na aplicação, permitindo leitura e escrita direta no diretório.
A operação de montagem consome recursos de computação do driver. A quantidade consumida corresponde ao maior dos dois valores abaixo:
Recursos fixos: 0,3 vCPUs + 1 GB de memória.
Recursos dinâmicos: 10% dos recursos do
spark.driver(ou seja, 10% dos núcleos e da memória dospark.driver).
Por exemplo, se o
spark.driverestiver configurado com 4 núcleos e 8 GB de memória, os recursos dinâmicos serão 0,4 vCPUs + 0,8 GB de memória. Nesse caso, os recursos realmente consumidos sãomax(0,3 vCPUs + 1 GB, 0,4 vCPUs + 0,8 GB), resultando em 0,4 vCPUs + 1 GB de memória.NotaEscopo de montagem: Por padrão, o diretório de arquivos é montado apenas no driver. Para montá-lo também nos executors, ative Mount to Executor.
Múltiplos diretórios: É possível montar vários diretórios de arquivos integrados. No entanto, diretórios CPFS não podem ser usados junto com outros tipos. Por exemplo, você pode montar múltiplos diretórios OSS e NAS simultaneamente, mas não pode combinar CPFS com diretórios OSS ou NAS.
Requisitos de rede: Ao montar um diretório de arquivos NAS ou CPFS, é obrigatório configurar uma conexão de rede. A VPC da conexão de rede deve ser a mesma do ponto de montagem NAS ou CPFS.
Mount to Executor
Quando ativado, este recurso monta o diretório de arquivos gerenciado nos executors da aplicação, permitindo que eles leiam e escrevam diretamente no diretório.
A quantidade de recursos do executor consumidos depende de como os arquivos montados são utilizados.
spark.driver.cores
Número de núcleos de CPU utilizados pelo driver na aplicação Spark.
spark.driver.memory
Quantidade de memória disponível para o driver na aplicação Spark.
spark.executor.cores
Número de núcleos virtuais de CPU usados por cada executor na aplicação Spark.
spark.executor.memory
Memória disponível para cada executor na aplicação Spark.
spark.executor.instances
Quantidade de executors alocados pelo Spark.
Dynamic Resource Allocation
Desativado por padrão. Quando ativado, configure os seguintes parâmetros:
Minimum Number of Executors: O valor padrão é 2.
Maximum Number of Executors: Caso spark.executor.instances não esteja definido, o valor padrão é 10.
More Memory Configurations
spark.driver.memoryOverhead: Memória non-heap disponível para o driver. Se este parâmetro não for definido, o Spark aloca automaticamente um valor baseado no padrão, que é
max(384 MB, 10% * spark.driver.memory).spark.executor.memoryOverhead: Memória non-heap disponível para cada executor. Na ausência dessa configuração, o Spark atribui automaticamente o valor padrão:
max(384 MB, 10% * spark.executor.memory).spark.memory.offHeap.size: Quantidade de memória off-heap disponível para o Spark. O valor padrão é 1 GB.
Este parâmetro só entra em vigor quando
spark.memory.offHeap.enabledestá definido comotrue. Ao usar o mecanismo Fusion, esse recurso é habilitado por padrão com 1 GB de memória off-heap.
Spark Configuration
Insira as informações de configuração do Spark. Separe os pares chave-valor com um espaço. Exemplo:
key value.Tags
Defina pares chave-valor para tags. Elas facilitam o gerenciamento preciso das tarefas.
(Opcional) No lado direito da página de desenvolvimento de tarefas, clique em aba Version Information para visualizar ou comparar versões.
-
Execute e publique a tarefa.
-
Clique em Run.
Para visualizar detalhes da tarefa, vá até a área Execution Records na parte inferior após a execução da tarefa e clique em Details na coluna Actions.
No canto superior direito, clique em Publish.
Na caixa de diálogo Publish, insira Remarks e clique em OK.
-
Documentos relacionados
Perguntas frequentes
P1: Como definir uma política de nova tentativa automática para tarefas com falha?
Para melhorar a tolerância a falhas das tarefas de streaming, defina uma política de nova tentativa automática usando os dois itens de configuração do Spark a seguir:
spark.emr.serverless.streaming.fail.retry.interval 60 # Retry interval: 60 seconds
spark.emr.serverless.streaming.fail.retry.time 3 # Maximum retries: 3