que propias procedimientos por parametros opcionales omision linea funciones comando argumentos python apache-spark cluster-mode

propias - python parametros linea comando



¿Puedo agregar argumentos al código de Python cuando presento el trabajo de chispa? (3)

Ah, es posible. http://caen.github.io/hadoop/user-spark.html

spark-submit / --master yarn-client / # Run this as a Hadoop job --queue <your_queue> / # Run on your_queue --num-executors 10 / # Run with a certain number of executors, for example 10 --executor-memory 12g / # Specify each executor''s memory, for example 12GB --executor-cores 2 / # Specify each executor''s amount of CPUs, for example 2 job.py ngrams/input ngrams/output

Estoy tratando de usar spark-submit para ejecutar mi código python en spark cluster.

En general, ejecutamos spark-submit con el código python como se muestra a continuación.

# Run a Python application on a cluster ./bin/spark-submit / --master spark://207.184.161.138:7077 / my_python_code.py / 1000

Pero quiero ejecutar my_python_code.py pasando varios argumentos. ¿Hay una manera inteligente de pasar argumentos?


: ponga esto en un archivo llamado args.py

#import sys print sys.argv

Si tu corres

spark-submit args.py a b c d e

Ya verás:

[''/spark/args.py'', ''a'', ''b'', ''c'', ''d'', ''e'']


Incluso sys.argv es una solución ganadora, prefiero esta forma adecuada de manejar los argumentos de comando de línea en mis trabajos de Spark:

import argparse parser = argparse.ArgumentParser() parser.add_argument("--ngrams", help="some useful description.") args = parser.parse_args() if args.ngrams: ngrams = args.ngrams

A continuación, inicie su trabajo de la siguiente manera:

spark-submit job.py --ngrams 3

Se puede encontrar más información sobre el módulo argparse en Argparse Tutorial