Apache spark spark submit:将运行时变量传递给spark脚本
我正在使用spark提交选项提交Pyspark/SparkSQL脚本,我需要将运行时变量(数据库名称)传递给脚本 spark提交命令:Apache spark spark submit:将运行时变量传递给spark脚本,apache-spark,pyspark,apache-spark-sql,pyspark-sql,spark-submit,Apache Spark,Pyspark,Apache Spark Sql,Pyspark Sql,Spark Submit,我正在使用spark提交选项提交Pyspark/SparkSQL脚本,我需要将运行时变量(数据库名称)传递给脚本 spark提交命令: spark-submit --conf database_parameter=my_database my_pyspark_script.py pyspark脚本 database_parameter = SparkContext.getConf().get("database_parameter") DF = sqlContext.s
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")
spark版本为:1.5.2Python版本为:2.7.5 我尝试的解决方案不起作用。错误是:AttributeError:type对象“SparkConf”没有属性“getConf”
我正在寻找通过spark submit调用脚本时传递运行时变量的方法,并在脚本中使用这些变量。您可以使用常用的
sys.argv
args.py
#!/usr/bin/python
import sys
print sys.argv[1]
然后您spark提交它:
spark-submit args.py my_database
这将打印:
my_database
您可以使用常用的sys.argv
args.py
#!/usr/bin/python
import sys
print sys.argv[1]
然后您spark提交它:
spark-submit args.py my_database
这将打印:
my_database
感谢您的回复,有一些方法可以通过spark submit中的--conf完成,并通过getconf获取脚本中的值,但我记不起来了。您通过--conf
传递的参数应该与spark相关,否则您将得到警告:忽略非spark配置属性
是的,我收到了这个警告。但如果我没记错的话,运行时变量也有类似的东西。感谢您的响应,有一些方法可以通过spark submit中的--conf来实现,并通过getconf在脚本中获取值,但是我想不起来了。你通过--conf
传递的参数应该与spark相关,否则你会得到警告:忽略非spark配置属性
是的,我得到了这个警告。但若我能正确回忆的话,运行时变量也有类似的情况。