Ir para o conteúdo

Como faço para modificar a configuração do Spark no meu Workspace do Amazon EMR Studio?

3 minuto de leitura
0

Quero modificar a configuração do Spark no meu Workspace do Amazon EMR Studio.

Breve descrição

Para personalizar sua configuração do Spark em clusters remotos do Amazon Elastic Compute Cloud (Amazon EC2) ou EMR Sem Servidor, use comandos do Sparkmagic para alterar executorMemory, executorCores e alocação de recursos.

Em clusters remotos do Amazon Elastic Kubernetes Service (Amazon EKS), defina a configuração do Spark no objeto SparkContext. O Amazon EKS não oferece suporte aos comandos do Sparkmagic. Para obter mais informações, consulte Considerações e limitações.

Resolução

Personalize a configuração do Spark em clusters remotos do Amazon EC2 ou do EMR Sem Servidor

Siga estas etapas:

  1. Para modificar a configuração do trabalho, execute o comando %%configure na célula Workspace.

    Exemplo:

    %%configure -f
    {"executorMemory":"4G"}

    Observação: no exemplo anterior, executorMemory foi modificado para a tarefa do Spark.

  2. Para outras configurações que você passa com a opção -conf, use um objeto JSON aninhado.
    Observação: para passar um objeto para um SparkContext ou Sparksession, use -conf em vez de conf. Para obter mais informações, consulte Spark Configuration (Configuração do Spark) no site do Apache Livy.

  3. Exemplo:

    %%configure -f
    {
      "driverMemory": "4G",
      "driverCores": 4,
      "executorMemory" : "8G",
      "executorCores": 2,
      "conf": {
         "spark.dynamicAllocation.maxExecutors" : 10,
         "spark.dynamicAllocation.minExecutors": 1
      }
    }

Para personalizar a configuração do Spark em um Workspace conectado a um cluster do Amazon EKS, defina a configuração do Spark no objeto SparkContext:

spark.conf.set("spark.executor.memory", "8g")

Confirme a configuração do Spark

Faça o seguinte:

  • No Amazon EC2 e o EMR Sem Servidor, execute o comando %%info no Workspace do lado do cliente:

    Exemplo de saída:

    Current session configs: {'driverMemory': '4G', 'driverCores': 4, 'executorMemory': '8G', 'executorCores': 2, 'conf': {'spark.dynamicAllocation.maxExecutors': 10, 'spark.dynamicAllocation.minExecutors': 1}, 'proxyUser': 'assumed-role_Admin_biditdas-Isengard', 'kind': 'pyspark'}
  • No Amazon EC2, verifique os logs em /var/log/livy/livy-livy-server.out no nó primário do cluster. Se uma sessão do Spark foi iniciada, você verá uma entrada de log semelhante à seguinte:

    20/06/24 10:11:22 INFO InteractiveSession$: Creating Interactive session 2: [owner: null, request: [kind: pyspark, proxyUser: None, executorMemory: 4G, conf: spark.dynamicAllocation.enabled -> false, heartbeatTimeoutInSecond: 0]]
  • No Amazon EKS, use a interface do usuário do Spark. 

Informações relacionadas

Enhanced kernels with magic commands (Aprimoramento de kernels com comandos magic no EMR Studio)

REST API (API REST) no site da Apache Livy

Recursos disponíveis com os novos kernels no site do GitHub

AWS OFICIALAtualizada há 2 anos