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?
Sí : 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