¿Cómo puedo modificar la configuración de Spark en un bloc de notas de Amazon EMR?

2 minutos de lectura
0

¿Cómo puedo personalizar la configuración de un trabajo de Apache Spark en un bloc de notas de Amazon EMR?

Descripción breve

Un bloc de notas Amazon EMR es un bloc de notas Jupyter sin servidor. Un cuaderno de Jupyter utiliza el núcleo de Sparkmagic como cliente para trabajar de forma interactiva con Spark en un clúster EMR remoto a través de un servidor Apache Livy. Puede usar los comandos de Sparkmagic para personalizar la configuración de Spark. Una configuración personalizada resulta útil cuando desea hacer lo siguiente:

  • Cambiar la memoria del ejecutor y los núcleos del ejecutor para un trabajo de Spark
  • Cambiar la asignación de recursos para Spark

Resolución

Modificar la sesión actual

1.    En una celda de un cuaderno de Jupyter, ejecute el comando %%configure para modificar la configuración del trabajo. En el siguiente ejemplo, el comando cambia la memoria del ejecutor del trabajo de Spark.

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

2.    Para las configuraciones adicionales que normalmente se utilizan con la opción --conf, utilice un objeto JSON anidado, como se muestra en el siguiente ejemplo. Utilice este método en lugar de pasar explícitamente un objeto conf a SparkContext o SparkSession.

%%configure -f
{"conf":{"spark.dynamicAllocation.enabled":"false"}}

Confirme que el cambio de configuración se ha realizado correctamente

1.    En el lado del cliente, ejecute el comando %%info en Jupyter para ver la configuración de la sesión actual. Ejemplo de salida:

Current session configs: {'executorMemory': '4G', 'conf': {'spark.dynamicAllocation.enabled': 'false'}, 'kind': 'pyspark'}

2.    En el lado del servidor, compruebe el registro /var/log/livy/livy-livy-server.outdel clúster de EMR. Si se inició una SparkSession, debería ver una entrada de registro como esta:

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]]

Información relacionada

Apache Livy - REST API

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años