Todos los productos
Search
Centro de documentos

E-MapReduce:Developing batch or streaming tasks

Última actualización: Sep 18, 2026

Este tema describe los elementos de configuración y el procedimiento para desarrollar una tarea por lotes o de streaming.

Requisitos previos

Se creó un espacio de trabajo. Para obtener más información, consulte Manage workspaces.

Procedimiento

  1. Vaya a la página Data Development.

    1. Inicie sesión en la consola de E-MapReduce.

    2. En el panel de navegación izquierdo, elija EMR Serverless > Spark.

    3. En la página Spark, haga clic en el nombre del espacio de trabajo deseado.

    4. En la página EMR Serverless Spark, haga clic en Development en el panel de navegación izquierdo.

  2. Cree una tarea.

    1. En la pestaña Development, haga clic en el icono image.

    2. En el cuadro de diálogo, introduzca un Name, seleccione un tipo de tarea por lotes o de streaming y haga clic en OK.

    3. En la esquina superior derecha, seleccione a resource queue.

    4. En el editor de la nueva tarea, edite los parámetros según el tipo de tarea.

      JAR

      Parámetro

      Descripción

      Main JAR Resource

      Paquete JAR principal necesario para ejecutar la tarea.

      • Workspace: archivos que haya subido previamente a la página Artifacts.

      • OSS: archivo almacenado en Alibaba Cloud Object Storage Service (OSS).

      Engine Version

      Versión de Spark. Para obtener más información, consulte Engine versions.

      Main class

      Clase principal especificada al enviar la tarea de Spark.

      Execution Parameters

      Elementos de configuración necesarios durante la ejecución de la tarea o parámetros personalizados pasados a la clase principal. Separe varios parámetros con espacios.

      Timeout

      Tiempo máximo permitido para que esta tarea finalice. Si la tarea se ejecuta por más tiempo que este umbral, el sistema la detiene automáticamente. El valor predeterminado está vacío, lo que significa que no se establece ningún límite de tiempo de espera.

      Network Connection

      Conexión de red existente para acceder a fuentes de datos en una VPC o a servicios externos. Para obtener más información, consulte Network connectivity between EMR Serverless Spark and other VPCs.

      Mount Integrated File Directory

      Deshabilitada de forma predeterminada. Para usar esta función, agregue un directorio de archivos en la página Artifacts, en la pestaña Integrated File Directory. Para obtener más información, consulte Manage the integrated file directory.

      Al habilitar esta función, se monta el directorio de archivos administrado en la aplicación. Esto permite leer y escribir directamente los archivos del directorio.

      La operación de montaje consume recursos de cómputo del controlador. La cantidad consumida corresponde al mayor de los dos valores siguientes:

      • Recursos fijos: 0.3 vCPU + 1 GB de memoria.

      • Recursos dinámicos: 10 % de los recursos de spark.driver (es decir, 10 % de los núcleos y la memoria de spark.driver).

      Por ejemplo, si spark.driver se configura con 4 núcleos y 8 GB de memoria, los recursos dinámicos son 0.4 vCPU + 0.8 GB de memoria. En este caso, los recursos consumidos realmente son max(0.3 vCPUs + 1 GB, 0.4 vCPUs + 0.8 GB), es decir, 0.4 vCPU + 1 GB de memoria.

      Nota
      • Ámbito de montaje: de forma predeterminada, el directorio de archivos se monta solo en el controlador. Para montarlo también en los ejecutores, habilite Mount to Executor.

      • Varios directorios: puede montar varios directorios de archivos integrados. Sin embargo, los directorios CPFS no pueden usarse junto con otros tipos. Por ejemplo, puede montar varios directorios OSS y NAS juntos, pero no puede montar CPFS con directorios OSS o NAS.

      • Requisitos de red: cuando monte un directorio de archivos NAS o CPFS, debe configurar una conexión de red. La VPC de la conexión de red debe ser la misma que la VPC del destino de montaje de NAS o CPFS.

      Mount to Executor

      Al habilitar esta función, se monta el directorio de archivos administrado en los ejecutores de la aplicación. Esto les permite leer y escribir directamente los archivos del directorio.

      Esta operación de montaje consume recursos de los ejecutores. La cantidad de recursos consumidos varía según el uso de los archivos montados.

      File Resources

      Cuando envíe la tarea, los archivos especificados mediante el parámetro --files se copian al directorio de trabajo del ejecutor. Esto garantiza que la tarea de Spark pueda acceder a estos archivos durante la ejecución.

      Puede seleccionar archivos de Workspace o de OSS.

      Archive Resources

      Cuando envíe la tarea, los archivos especificados mediante el parámetro --archives se descomprimen y se distribuyen a los objetos archivados en el ejecutor.

      Puede seleccionar archivos de Workspace o de OSS.

      JAR Resources

      Cuando envíe la tarea, especifique los archivos JAR de dependencia necesarios mediante el parámetro --jars.

      Puede seleccionar archivos JAR de Workspace o de OSS.

      spark.driver.cores

      Número de núcleos de CPU que usa el controlador en la aplicación de Spark.

      spark.driver.memory

      Cantidad de memoria disponible para el controlador en la aplicación de Spark.

      spark.executor.cores

      Número de núcleos de CPU virtuales que usa cada ejecutor en la aplicación de Spark.

      spark.executor.memory

      Cantidad de memoria disponible para cada ejecutor en la aplicación de Spark.

      spark.executor.instances

      Número de ejecutores asignados por Spark.

      Dynamic Resource Allocation

      Deshabilitada de forma predeterminada. Cuando la habilite, configure los siguientes parámetros:

      • Minimum Number of Executors: el valor predeterminado es 2.

      • Maximum Number of Executors: si no se establece spark.executor.instances, el valor predeterminado es 10.

      More Memory Configurations

      • spark.driver.memoryOverhead: memoria fuera del heap disponible para el controlador. Si no se establece este parámetro, Spark asigna automáticamente un valor basado en el valor predeterminado, que es max(384 MB, 10% * spark.driver.memory).

      • spark.executor.memoryOverhead: memoria fuera del heap disponible para cada ejecutor. Si no se establece este parámetro, Spark asigna automáticamente un valor basado en el valor predeterminado, que es max(384 MB, 10% * spark.executor.memory).

      • spark.memory.offHeap.size: cantidad de memoria fuera del heap disponible para Spark. El valor predeterminado es 1 GB.

        Este parámetro surte efecto solo cuando spark.memory.offHeap.enabled se establece en true. Cuando se usa el motor Fusion, esta función se habilita de forma predeterminada con 1 GB de memoria fuera del heap.

      Spark Configuration

      Introduzca la información de configuración de Spark. Separe los pares clave-valor con un espacio. Por ejemplo, key value.

      Tags

      Introduzca pares clave-valor para las etiquetas. Las etiquetas le ayudan a gestionar las tareas con mayor comodidad y precisión.

      PySpark

      Parámetro

      Descripción

      Main Python Resources

      Archivo de Python principal necesario para ejecutar la tarea.

      • Workspace: archivo que haya subido a la página Artifacts.

      • OSS: archivo almacenado en Object Storage Service (OSS).

      Engine Version

      Versión de Spark. Para obtener más información, consulte Engine versions.

      Execution Parameters

      Elementos de configuración necesarios durante la ejecución de la tarea o parámetros personalizados pasados a la clase principal.

      Timeout

      Tiempo máximo permitido para que esta tarea finalice. Si la tarea se ejecuta por más tiempo que este umbral, el sistema la detiene automáticamente. El valor predeterminado está vacío, lo que significa que no se establece ningún límite de tiempo de espera.

      Environment

      Los recursos necesarios para ejecutar la tarea se preconfiguran según el entorno seleccionado.

      Network Connection

      Conexión de red existente para acceder a fuentes de datos en una VPC o a servicios externos. Para obtener más información, consulte Network connectivity between EMR Serverless Spark and other VPCs.

      Mount Integrated File Directory

      Deshabilitada de forma predeterminada. Para usar esta función, agregue un directorio de archivos en la página Artifacts, en la pestaña Integrated File Directory. Para obtener más información, consulte Manage the integrated file directory.

      Cuando se habilita, esta función monta el directorio de archivos administrado en la tarea. Esto permite el acceso directo de lectura y escritura a los archivos del directorio.

      La operación de montaje consume recursos de cómputo del controlador. La cantidad consumida corresponde al mayor de los dos valores siguientes:

      • Recursos fijos: 0.3 vCPU + 1 GB de memoria.

      • Recursos dinámicos: 10 % de los recursos de spark.driver (es decir, 10 % de los núcleos y la memoria de spark.driver).

      Por ejemplo, si spark.driver se configura con 4 núcleos y 8 GB de memoria, los recursos dinámicos son 0.4 vCPU + 0.8 GB de memoria. En este caso, los recursos consumidos realmente son max(0.3 vCPUs + 1 GB, 0.4 vCPUs + 0.8 GB), es decir, 0.4 vCPU + 1 GB de memoria.

      Nota
      • Ámbito de montaje: de forma predeterminada, el directorio de archivos se monta solo en el controlador. Para montarlo también en los ejecutores, habilite Mount to Executor.

      • Varios directorios: puede montar varios directorios de archivos integrados. Sin embargo, los directorios CPFS no pueden usarse junto con otros tipos. Por ejemplo, puede montar varios directorios OSS y NAS juntos, pero no puede montar CPFS con directorios OSS o NAS.

      • Requisitos de red: cuando monte un directorio de archivos NAS o CPFS, debe configurar una conexión de red. La VPC de la conexión de red debe ser la misma que la VPC del destino de montaje de NAS o CPFS.

      Mount to Executor

      Cuando se habilita, esta función monta el directorio de archivos administrado en los ejecutores de la tarea. Esto les otorga acceso directo de lectura y escritura a los archivos del directorio.

      Esta operación de montaje consume recursos de los ejecutores. El porcentaje de recursos consumidos varía según el uso de los archivos montados.

      File Resources

      Lista de archivos que se distribuirán a todos los nodos ejecutores del clúster.

      Para el tipo de recurso, puede seleccionar Workspace u OSS.

      Pyfiles Resources

      Cuando envíe la tarea, los archivos especificados mediante el parámetro --py-files se distribuyen como archivos de dependencia de Python.

      Para el tipo de recurso, puede seleccionar Workspace u OSS.

      Archive Resources

      Cuando envíe la tarea, los archivos especificados mediante el parámetro --archives se descomprimen y se distribuyen a los objetos archivados en el ejecutor.

      Para el tipo de recurso, puede seleccionar Workspace u OSS.

      JAR Resources

      Cuando envíe la tarea, especifique los archivos JAR de dependencia necesarios mediante el parámetro --jars.

      Para el tipo de recurso, puede seleccionar Workspace u OSS.

      spark.driver.cores

      Número de núcleos de CPU que usa el controlador en la aplicación de Spark.

      spark.driver.memory

      Cantidad de memoria disponible para el controlador en la aplicación de Spark.

      spark.executor.cores

      Número de núcleos de CPU virtuales que usa cada ejecutor en la aplicación de Spark.

      spark.executor.memory

      Cantidad de memoria disponible para cada ejecutor en la aplicación de Spark.

      spark.executor.instances

      Número de ejecutores asignados por Spark.

      Dynamic Resource Allocation

      Deshabilitada de forma predeterminada. Cuando la habilite, configure los siguientes parámetros:

      • Minimum Number of Executors: el valor predeterminado es 2.

      • Maximum Number of Executors: si no se establece spark.executor.instances, el valor predeterminado es 10.

      More Memory Configurations

      • spark.driver.memoryOverhead: memoria fuera del heap disponible para el controlador. Si no se establece este parámetro, Spark asigna automáticamente un valor basado en el valor predeterminado, que es max(384 MB, 10% * spark.driver.memory).

      • spark.executor.memoryOverhead: memoria fuera del heap disponible para cada ejecutor. Si no se establece este parámetro, Spark asigna automáticamente un valor basado en el valor predeterminado, que es max(384 MB, 10% * spark.executor.memory).

      • spark.memory.offHeap.size: cantidad de memoria fuera del heap disponible para Spark. El valor predeterminado es 1 GB.

        Este parámetro surte efecto solo cuando spark.memory.offHeap.enabled se establece en true. Cuando se usa el motor Fusion, esta función se habilita de forma predeterminada con 1 GB de memoria fuera del heap.

      Spark Configuration

      Introduzca la información de configuración de Spark. Separe los pares clave-valor con un espacio. Por ejemplo, key value.

      Tags

      Introduzca pares clave-valor para las etiquetas. Las etiquetas le ayudan a gestionar las tareas con mayor comodidad y precisión.

      SQL

      Parámetro

      Descripción

      SQL File

      Archivo necesario cuando envía la tarea.

      • Workspace: archivo de la página Artifacts.

      • OSS: archivo de Alibaba Cloud OSS.

      • Execute Statement: ejecute instrucciones SQL directamente sin subir un archivo.

      Engine Version

      Versión de Spark. Para obtener más información, consulte Engine versions.

      Timeout

      Tiempo máximo permitido para que esta tarea finalice. Si la tarea se ejecuta por más tiempo que este umbral, el sistema la detiene automáticamente. El valor predeterminado está vacío, lo que significa que no se establece ningún límite de tiempo de espera.

      Network Connection

      Conexión de red existente para acceder a fuentes de datos en una VPC o a servicios externos. Para obtener más información, consulte Network connectivity between EMR Serverless Spark and other VPCs.

      Mount Integrated File Directory

      Deshabilitada de forma predeterminada. Para usar esta función, agregue un directorio de archivos en la página Artifacts, en la pestaña Integrated File Directory. Para obtener más información, consulte Manage the integrated file directory.

      Cuando se habilita, el sistema monta el directorio de archivos administrado en la tarea. Esto le permite leer y escribir en el directorio.

      La operación de montaje consume recursos de cómputo del controlador. La cantidad consumida corresponde al mayor de los dos valores siguientes:

      • Recursos fijos: 0.3 vCPU + 1 GB de memoria.

      • Recursos dinámicos: 10 % de los recursos de spark.driver (es decir, 10 % de los núcleos y la memoria de spark.driver).

      Por ejemplo, si spark.driver se configura con 4 núcleos y 8 GB de memoria, los recursos dinámicos son 0.4 vCPU + 0.8 GB de memoria. En este caso, los recursos consumidos realmente son max(0.3 vCPUs + 1 GB, 0.4 vCPUs + 0.8 GB), es decir, 0.4 vCPU + 1 GB de memoria.

      Nota
      • Ámbito de montaje: de forma predeterminada, el directorio de archivos se monta solo en el controlador. Para montarlo también en los ejecutores, habilite Mount to Executor.

      • Varios directorios: puede montar varios directorios de archivos integrados. Sin embargo, los directorios CPFS no pueden usarse junto con otros tipos. Por ejemplo, puede montar varios directorios OSS y NAS juntos, pero no puede montar CPFS con directorios OSS o NAS.

      • Requisitos de red: cuando monte un directorio de archivos NAS o CPFS, debe configurar una conexión de red. La VPC de la conexión de red debe ser la misma que la VPC del destino de montaje de NAS o CPFS.

      Mount to Executor

      Cuando se habilita, el sistema monta el directorio de archivos administrado en los ejecutores de la tarea. Esto les permite leer y escribir en el directorio.

      La operación de montaje consume recursos de los ejecutores. El porcentaje de recursos consumidos varía según el uso de los archivos.

      spark.driver.cores

      Número de núcleos de CPU que usa el controlador en la aplicación de Spark.

      spark.driver.memory

      Cantidad de memoria disponible para el controlador en la aplicación de Spark.

      spark.executor.cores

      Número de núcleos de CPU virtuales que usa cada ejecutor en la aplicación de Spark.

      spark.executor.memory

      Cantidad de memoria disponible para cada ejecutor en la aplicación de Spark.

      spark.executor.instances

      Número de ejecutores asignados por Spark.

      Dynamic Resource Allocation

      Deshabilitada de forma predeterminada. Cuando la habilite, configure los siguientes parámetros:

      • Minimum Number of Executors: el valor predeterminado es 2.

      • Maximum Number of Executors: si no se establece spark.executor.instances, el valor predeterminado es 10.

      More Memory Configurations

      • spark.driver.memoryOverhead: memoria fuera del heap disponible para el controlador. Si no se establece este parámetro, Spark asigna automáticamente un valor basado en el valor predeterminado, que es max(384 MB, 10% * spark.driver.memory).

      • spark.executor.memoryOverhead: memoria fuera del heap disponible para cada ejecutor. Si no se establece este parámetro, Spark asigna automáticamente un valor basado en el valor predeterminado, que es max(384 MB, 10% * spark.executor.memory).

      • spark.memory.offHeap.size: cantidad de memoria fuera del heap disponible para Spark. El valor predeterminado es 1 GB.

        Este parámetro surte efecto solo cuando spark.memory.offHeap.enabled se establece en true. Cuando se usa el motor Fusion, esta función se habilita de forma predeterminada con 1 GB de memoria fuera del heap.

      Spark Configuration

      Introduzca la información de configuración de Spark. Separe los pares clave-valor con un espacio. Por ejemplo, key value.

      Tags

      Introduzca pares clave-valor para las etiquetas. Las etiquetas le ayudan a gestionar las tareas con mayor comodidad y precisión.

      Spark Submit

      Parámetro

      Descripción

      Engine Version

      Versión de Spark. Para obtener más información, consulte Engine versions.

      Script

      Introduzca su script de Spark Submit.

      A continuación se muestra un ejemplo de código:

      --class org.apache.spark.examples.SparkPi \
      --conf spark.executor.memory=2g \
      oss://<YourBucket>/spark-examples_2.12-3.5.2.jar

      Timeout

      Tiempo máximo permitido para que esta tarea finalice. Si la tarea se ejecuta por más tiempo que este umbral, el sistema la detiene automáticamente. El valor predeterminado está vacío, lo que significa que no se establece ningún límite de tiempo de espera.

      Network Connection

      Conexión de red existente para acceder a fuentes de datos en una VPC o a servicios externos. Para obtener más información, consulte Network connectivity between EMR Serverless Spark and other VPCs.

      Mount Integrated File Directory

      Deshabilitada de forma predeterminada. Para usar esta función, agregue un directorio de archivos en la página Artifacts, en la pestaña Integrated File Directory. Para obtener más información, consulte Manage the integrated file directory.

      Cuando se habilita, esta función monta el directorio de archivos administrado en la aplicación. Esto le permite leer y escribir directamente en el directorio.

      La operación de montaje consume recursos de cómputo del controlador. La cantidad consumida corresponde al mayor de los dos valores siguientes:

      • Recursos fijos: 0.3 vCPU + 1 GB de memoria.

      • Recursos dinámicos: 10 % de los recursos de spark.driver (es decir, 10 % de los núcleos y la memoria de spark.driver).

      Por ejemplo, si spark.driver se configura con 4 núcleos y 8 GB de memoria, los recursos dinámicos son 0.4 vCPU + 0.8 GB de memoria. En este caso, los recursos consumidos realmente son max(0.3 vCPUs + 1 GB, 0.4 vCPUs + 0.8 GB), es decir, 0.4 vCPU + 1 GB de memoria.

      Nota
      • Ámbito de montaje: de forma predeterminada, el directorio de archivos se monta solo en el controlador. Para montarlo también en los ejecutores, habilite Mount to Executor.

      • Varios directorios: puede montar varios directorios de archivos integrados. Sin embargo, los directorios CPFS no pueden usarse junto con otros tipos. Por ejemplo, puede montar varios directorios OSS y NAS juntos, pero no puede montar CPFS con directorios OSS o NAS.

      • Requisitos de red: cuando monte un directorio de archivos NAS o CPFS, debe configurar una conexión de red. La VPC de la conexión de red debe ser la misma que la VPC del destino de montaje de NAS o CPFS.

      Mount to Executor

      Cuando se habilita, esta función monta el directorio de archivos administrado en los ejecutores de la aplicación. Esto les permite leer y escribir directamente en el directorio.

      La cantidad de recursos de ejecutor consumidos depende del uso que se dé a los archivos montados.

      spark.driver.cores

      Número de núcleos de CPU que usa el controlador en la aplicación de Spark.

      spark.driver.memory

      Cantidad de memoria disponible para el controlador en la aplicación de Spark.

      spark.executor.cores

      Número de núcleos de CPU virtuales que usa cada ejecutor en la aplicación de Spark.

      spark.executor.memory

      Cantidad de memoria disponible para cada ejecutor en la aplicación de Spark.

      spark.executor.instances

      Número de ejecutores asignados por Spark.

      Dynamic Resource Allocation

      Deshabilitada de forma predeterminada. Cuando la habilite, configure los siguientes parámetros:

      • Minimum Number of Executors: el valor predeterminado es 2.

      • Maximum Number of Executors: si no se establece spark.executor.instances, el valor predeterminado es 10.

      More Memory Configurations

      • spark.driver.memoryOverhead: memoria fuera del heap disponible para el controlador. Si no se establece este parámetro, Spark asigna automáticamente un valor basado en el valor predeterminado, que es max(384 MB, 10% * spark.driver.memory).

      • spark.executor.memoryOverhead: memoria fuera del heap disponible para cada ejecutor. Si no se establece este parámetro, Spark asigna automáticamente un valor basado en el valor predeterminado, que es max(384 MB, 10% * spark.executor.memory).

      • spark.memory.offHeap.size: cantidad de memoria fuera del heap disponible para Spark. El valor predeterminado es 1 GB.

        Este parámetro surte efecto solo cuando spark.memory.offHeap.enabled se establece en true. Cuando se usa el motor Fusion, esta función se habilita de forma predeterminada con 1 GB de memoria fuera del heap.

      Spark Configuration

      Introduzca la información de configuración de Spark. Separe los pares clave-valor con un espacio. Por ejemplo, key value.

      Tags

      Introduzca pares clave-valor para las etiquetas. Las etiquetas le ayudan a gestionar las tareas con mayor comodidad y precisión.

    5. (Opcional) En el lado derecho de la página de desarrollo de la tarea, haga clic en la pestaña Version Information para consultar o comparar versiones.

  3. Ejecute y publique la tarea.

    1. Haga clic en Run.

      Para consultar los detalles de la tarea, vaya al área Execution Records en la parte inferior después de que la tarea se haya ejecutado y haga clic en Details en la columna Actions.

    2. En la esquina superior derecha, haga clic en Publish.

    3. En el cuadro de diálogo Publish, introduzca Remarks y haga clic en OK.

Documentos relacionados

Preguntas frecuentes

P1: ¿Cómo establezco una política de reintento automático para las tareas con errores?

Para mejorar la tolerancia a fallos de las tareas de streaming, establezca una política de reintento automático mediante los dos elementos de configuración de Spark que se muestran a continuación:

spark.emr.serverless.streaming.fail.retry.interval 60    # Retry interval: 60 seconds
spark.emr.serverless.streaming.fail.retry.time 3        # Maximum retries: 3

**P2: ¿Qué hago si al llamar a la operación StartJobRun se devuelve el error "ApplicationConfigs is empty"?**

Este error ocurre cuando el campo ApplicationConfigs de los parámetros de la solicitud está vacío o tiene un formato incorrecto. Para resolverlo, consulte el código de ejemplo para iniciar un trabajo de Spark con el SDK de Python y asegúrese de que la solicitud incluya un parámetro ApplicationConfigs configurado correctamente y que no esté vacío.

Palabras clave: StartJobRun, ApplicationConfigs, SDK, error de API.

P3: ¿Qué hago si un trabajo falla durante el inicio del contenedor por falta de recursos?

Este problema suele deberse a la falta de recursos, lo que provoca que el contenedor falle inmediatamente al iniciarse. Para resolverlo, vaya a la consola de EMR Serverless Spark, localice el recurso de cómputo correspondiente y aumente el número de núcleos del executor (spark.executor.cores) y el tamaño de memoria del executor (spark.executor.memory) en la configuración de recursos del trabajo. Después, envíe nuevamente el trabajo para comprobar que el problema se haya resuelto.

Palabras clave: fallo de contenedor, recursos insuficientes, Executor Core, Executor Memory, OOM.