Envío de un trabajo de DLI Spark
Ejecute el comando ma-cli dli-job submit para enviar un trabajo de DLI Spark.
Antes de ejecutar este comando, configure YAML_FILE para especificar la ruta al archivo de configuración del trabajo de destino. Si no se especifica este parámetro, el archivo de configuración estará vacío. El archivo de configuración está en formato de YAML y sus parámetros son el parámetro option del comando. Si especifica tanto el archivo de configuración YAML_FILE como el parámetro option en la CLI, el valor del parámetro option lo sobrescribirá en el archivo de configuración.
Parámetros de CLI
ma-cli dli-job submit -h Usage: ma-cli dli-job submit [OPTIONS] [YAML_FILE]... Submit DLI Spark job. Example: ma-cli dli-job submit --name test-spark-from-sdk --file test/sub_dli_task.py --obs-bucket dli-bucket --queue dli_test --spark-version 2.4.5 --driver-cores 1 --driver-memory 1G --executor-cores 1 --executor-memory 1G --num-executors 1 Options: --file TEXT Python file or app jar. -cn, --class-name TEXT Your application's main class (for Java / Scala apps). --name TEXT Job name. --image TEXT Full swr custom image path. --queue TEXT Execute queue name. -obs, --obs-bucket TEXT DLI obs bucket to save logs. -sv, --spark-version TEXT Spark version. -st, --sc-type [A|B|C] Compute resource type. --feature [basic|custom|ai] Type of the Spark image used by a job (default: basic). -ec, --executor-cores INTEGER Executor cores. -em, --executor-memory TEXT Executor memory (eg. 2G/2048MB). -ne, --num-executors INTEGER Executor number. -dc, --driver-cores INTEGER Driver cores. -dm, --driver-memory TEXT Driver memory (eg. 2G/2048MB). --conf TEXT Arbitrary Spark configuration property (eg. <PROP=VALUE>). --resources TEXT Resources package path. --files TEXT Files to be placed in the working directory of each executor. --jars TEXT Jars to include on the driver and executor class paths. -pf, --py-files TEXT Python files to place on the PYTHONPATH for Python apps. --groups TEXT User group resources. --args TEXT Spark batch job parameter args. -q, --quiet Exit without waiting after submit successfully. -C, --config-file PATH Configure file path for authorization. -D, --debug Debug Mode. Shows full stack trace when error occurs. -P, --profile TEXT CLI connection profile to use. The default profile is "DEFAULT". -H, -h, --help Show this message and exit.
Vista previa del archivo de YAML
# dli-demo.yaml name: test-spark-from-sdk file: test/sub_dli_task.py obs-bucket: ${your_bucket} queue: dli_notebook spark-version: 2.4.5 driver-cores: 1 driver-memory: 1G executor-cores: 1 executor-memory: 1G num-executors: 1 ## [Optional] jars: - ./test.jar - obs://your-bucket/jars/test.jar - your_group/test.jar ## [Optional] files: - ./test.csv - obs://your-bucket/files/test.csv - your_group/test.csv ## [Optional] python-files: - ./test.py - obs://your-bucket/files/test.py - your_group/test.py ## [Optional] resources: - name: your_group/test.py type: pyFile - name: your_group/test.csv type: file - name: your_group/test.jar type: jar - name: ./test.py type: pyFile - name: obs://your-bucket/files/test.py type: pyFile ## [Optional] groups: - group1 - group2
Ejemplo de envío de un trabajo de DLI Spark con options especificado:
$ ma-cli dli-job submit --name test-spark-from-sdk \ --file test/sub_dli_task.py \ --obs-bucket ${your_bucket} \ --queue dli_test \ --spark-version 2.4.5 \ --driver-cores 1 \ --driver-memory 1G \ --executor-cores 1 \ --executor-memory 1G \ --num-executors 1
Parámetro |
Tipo |
Obligatorio |
Descripción |
---|---|---|---|
YAML_FILE |
String, una ruta de acceso de archivo local |
No |
Archivo de configuración de un trabajo de DLI Spark. Si no se especifica este parámetro, el archivo de configuración estará vacío. |
--file |
String |
Sí |
Archivo de entrada para ejecutar el programa. El valor puede ser una ruta de archivo local, una ruta de OBS o el nombre de un paquete de JAR o de PyFile cargado en el sistema de gestión de recursos de DLI. |
-cn / --class_name |
String |
Sí |
Clase principal de Java/Spark del trabajo de procesamiento por lotes. |
--name |
String |
No |
Nombre del trabajo especificado. El valor tiene un máximo de 128 caracteres. |
--image |
String |
No |
Ruta de acceso a una imagen personalizada con el formato "Organization name/Image name:Image version". Este parámetro solo es válido cuando feature se establece en custom. Puede utilizar este parámetro con el parámetro feature para especificar una imagen de Spark personalizada para ejecutar el trabajo. |
-obs / --obs-bucket |
String |
No |
Bucket de OBS para almacenar un trabajo de Spark. Configure este parámetro cuando necesite guardar trabajos. También se puede utilizar como estación de tránsito para enviar archivos locales a los recursos. |
-sv/ --spark-version |
String |
No |
Versión del componente de Spark utilizada por un trabajo. |
-st / `--sc-type |
String |
No |
Si la versión actual del componente de Spark es 2.3.2, deje este parámetro en blanco. Si la versión actual del componente de Spark es 2.3.3, configure este parámetro cuando feature se establezca en basic o ai. Si no se especifica este parámetro, se utilizará la versión 2.3.2 por defecto del componente de Spark. |
--feature |
String |
No |
Función de trabajo, que indica el tipo de imagen de Spark utilizada por un trabajo. El valor predeterminado es basic.
|
--queue |
String |
No |
Nombre de la cola. Configure este parámetro como el nombre de una cola de DLI creada. La cola debe ser del tipo común. Para obtener detalles sobre cómo obtener un nombre de cola, véase Tabla 1. |
-ec / --executor-cores |
String |
No |
Cantidad de núcleos de CPU de cada ejecutor en la aplicación de Spark. Esta configuración reemplazará la predeterminada de sc_type. |
-em / --executor-memory |
String |
No |
Memoria del ejecutor de la aplicación de Spark, por ejemplo, 2 GB o 2048 MB. Esta configuración reemplazará la predeterminada de sc_type. Se debe proveer la unidad. De lo contrario, el inicio falla. |
-ne / --num-executors |
String |
No |
Número de ejecutores en una aplicación de Spark. Esta configuración reemplazará la predeterminada de sc_type. |
-dc / --driver-cores |
String |
No |
Número de núcleos de CPU del controlador de la aplicación de Spark. Esta configuración reemplazará la predeterminada de sc_type. |
-dm / --driver-memory |
String |
No |
Memoria del controlador de la aplicación de Spark, por ejemplo, 2 GB o 2048 MB. Esta configuración reemplazará la predeterminada de sc_type. Se debe proveer la unidad. De lo contrario, el inicio falla. |
--conf |
Array of string |
No |
Configuración de Batch. Para obtener más detalles, véase Configuración de Spark. Para especificar varios parámetros, utilice --conf conf1 --conf conf2. |
--resources |
Array of string |
No |
Nombre de un paquete de recursos, que puede ser un archivo local, una ruta de OBS o un archivo cargado en el sistema de gestión de recursos de DLI. Para especificar varios parámetros, utilice --resources resource1 --resources resource2. |
--files |
Array of string |
No |
Nombre del paquete de archivos que se cargó en el sistema de gestión de recursos de DLI. También puede especificar una ruta de OBS, por ejemplo, obs://Bucket name/Package name. También se admiten archivos locales. Para especificar varios parámetros, utilice --files file1 --files file2. |
--jars |
Array of string |
No |
Nombre del paquete de JAR que se ha cargado en el sistema de gestión de recursos de DLI. También puede especificar una ruta de OBS, por ejemplo, obs://Bucket name/Package name. También se admiten archivos locales. Para especificar varios parámetros, utilice --jars jar1 --jars jar2. |
-pf /--python-files |
Array of string |
No |
Nombre del paquete de PyFile que se ha cargado en el sistema de gestión de recursos de la DLI. También puede especificar una ruta de OBS, por ejemplo, obs://Bucket name/Package name. También se admiten archivos locales. Para especificar varios parámetros, utilice --python-files py1 --python-files py2. |
--groups |
Array of string |
No |
Nombre del grupo de recursos. Para especificar varios parámetros, utilice --groups group1 --groups group2. |
--args |
Array of string |
No |
Parámetros de entrada de la clase principal, que son parámetros de aplicación. Para especificar varios parámetros, utilice --args arg1 --args arg2. |
-q / --quiet |
Bool |
No |
Después de enviar un trabajo de DLI Spark, el sistema sale directamente y no imprime el estado del trabajo de manera sincrónica. |
Ejemplos
- Envíe un trabajo de DLI Spark mediante el archivo YAML_FILE.
$ma-cli dli-job submit dli_job.yaml
- Enviar un trabajo de DLI Spark especificando el parámetro options en la CLI.
$ma-cli dli-job submit --name test-spark-from-sdk \ > --file test/jumpstart-trainingjob-gallery-pytorch-sample.ipynb \ > --queue dli_ma_notebook \ > --spark-version 2.4.5 \ > --driver-cores 1 \ > --driver-memory 1G \ > --executor-cores 1 \ > --executor-memory 1G \ > --num-executors 1