spark-submit:将运行时变量传递给spark脚本

时间:2017-07-25 09:04:44

标签: apache-spark pyspark apache-spark-sql pyspark-sql spark-submit

我使用spark-submit选项提交Pyspark / SparkSQL脚本,我需要将运行时变量(数据库名称)传递给脚本

spark-submit命令:

spark-submit --conf database_parameter=my_database my_pyspark_script.py

pyspark脚本

database_parameter = SparkContext.getConf().get("database_parameter")           

DF = sqlContext.sql("SELECT count(*) FROM database_parameter.table_name")
火花版是:1.5.2
Python版本是:2.7.5

我正在尝试的解决方案无效。错误是:AttributeError:类型对象'SparkConf'没有属性'getConf'。

我正在寻找一种在通过spark-submit调用脚本时传递运行时变量的方法,并在脚本中使用这些变量。

1 个答案:

答案 0 :(得分:2)

您可以使用通常的sys.argv

<强> args.py

#!/usr/bin/python

import sys
print sys.argv[1]

然后你 spark-submit

spark-submit args.py my_database 

这将打印:

my_database