从Sparkcontext Object读取应用程序配置

时间:2014-12-28 23:24:41

标签: apache-spark

我正在使用pyspark shell开发Spark应用程序。

我使用以下命令启动了iPython笔记本服务,请参阅here我是如何创建个人资料的:

IPYTHON_OPTS="notebook --port 8889 --profile pyspark" pyspark

根据文档,我已经为我创建了一个sc spark上下文对象,其中包含一些默认配置。

  

"在PySpark shell中,一个特殊的解释器感知SparkContext   已经为你创建了一个名为sc的变量。制作自己的   SparkContext不起作用。"

我基本上有两个问题:

(1)如何获取默认sc对象的配置摘要? 我想知道已经分配了多少内存,我可以使用多少内核......等等。但是,我只是从pyspark API找到了一个名为getLocalProperty的方法,它不知道我应该调用的关键参数是什么。

(2)是否可以修改使用iPythonnotebook的sparkcontext。如果在启动iPython笔记本后无法修改配置,是否有某个文件可以在某处配置sc?

我对Spark来说相当新,你可以提供的信息(资源)越多,它就越好。谢谢!

1 个答案:

答案 0 :(得分:0)

不需要使用pyspark:您可以导入pyspark类,然后自己实例化SparkContext

from pyspark import SparkContext, SparkConf

设置自定义配置:

conf = SparkConf().setAppName(appName).setMaster(master)
# set values into conf here ..
sc = SparkContext(conf=conf)

您可能还想查看一般的spark-env.sh

conf / spark-env.sh.template #copy to conf / spark-env.sh然后修改val对你有用

例如。您可以自定义的一些值:

# Options read when launching programs locally with
# ./bin/run-example or ./bin/spark-submit
# - HADOOP_CONF_DIR, to point Spark towards Hadoop configuration files
# - SPARK_LOCAL_IP, to set the IP address Spark binds to on this node
# - SPARK_PUBLIC_DNS, to set the public dns name of the driver program
# - SPARK_CLASSPATH, default classpath entries to append