Las variables de entorno de Spark se pueden configurar en tres niveles distintos.

Definición de la configuración del nivel de servicio

Las variables de entorno de Spark definidas a nivel de servicio (tanto inmutables como mutables) en el recurso personalizado de Analytics Engine son configuraciones globales que afectan a todas las instancias y trabajos bajo el servicio de Analytics Engine.

apiVersion: ae.cpd.ibm.com/v1
kind: AnalyticsEngine
metadata:
  name: analyticsengine-sample
  namespace: cpd-instance
spec:
  blockStorageClass: managed-nfs-storage
  fileStorageClass: managed-nfs-storage
  sparkDefaults:
    immutableConfigs:
      spark.ui.requestheadersize: "12k"
    mutableConfigs:
      ae.kernel.idle_timeout: "1000"
    immutableEnvVars:
      SPARK_WORKER_CORES: "4"
      SPARK_EXECUTOR_INSTANCES: "2"
    mutableEnvVars:
      SPARK_EXECUTOR_MEMORY: "8g"
      SPARK_DRIVER_MEMORY: "4g"
  license:
    accept: true

Definición de la configuración a nivel de instancia

Las variables de entorno de Spark definidas a nivel de instancia (mutables e inmutables) se almacenan en la base de datos de la tabla de instancias.

Utilice la siguiente configuración para las variables de entorno inmutables

curl -k -X PUT/PATCH <cpd-route>/v4/analytics_engines/<instance_id>/immutable_env_vars -H "Authorization: Bearer $TOKEN" --data-raw '{
  "SPARK_WORKER_CORES": "4",
  "SPARK_EXECUTOR_INSTANCES": "2"
}'

Utilice la siguiente configuración para las variables de entorno mutables

curl -k -X PUT/PATCH <cpd-route>/v4/analytics_engines/<instance_id>/default_env_vars -H "Authorization: Bearer $TOKEN" --data-raw '{
"SPARK_EXECUTOR_MEMORY": "10g",
"SPARK_DRIVER_MEMORY": "6g"
}'

Definición de la configuración a nivel de núcleo

Las variables de entorno de Spark definidas a nivel de kernel se especifican al enviar trabajos de Spark.

curl -k -X POST "$job_endpoint" -H "Authorization: Bearer $token" -H "Content-Type: application/json" -d '{
"name": "spark-job",
"engine": {
 "env": {
   "SPARK_EXECUTOR_MEMORY": "12g",   # Overrides mutable setting
   "SPARK_WORKER_CORES": "4"        # Ignored (immutable setting)
 }
}
}'