![](/img/trans.png)
[英]Spark 1.5.2 + Hadoop 2.6.2 spark-submit and pyspark not utilizing all nodes in standalone
[英]Exec pyspark standalone script without spark-submit
我是在Linux机器上安装Spark的新手,可能有一个基本问题:我已经安装了Spark版本1.6.0和Python 2.6.6。
在星火交互模式下,我能够运行这些简单的命令来计数README.md文件中的行数。
但是,我希望能够创建一个独立的Python脚本并获得相同的结果,但是却出现错误。
我在test.py中的 python代码-
#!/usr/bin/python
import pyspark
from pyspark import SparkContext, SparkConf
if __name__ == "__main__":
conf = SparkConf().setAppName("word count").setMaster("local[3]")
sc = SparkContext(conf = conf)
rdd = sc.textFile("/opt/spark/README.md")
print(rdd.count())
如果我以-
spark-submit ./test.py
我得到正确的结果。
95
我的问题是,为什么我不能这样运行-
./test.py
因为我在python脚本中导入pyspark和SparkContext。
我得到了错误-
Traceback (most recent call last):
File "./test.py", line 8, in <module>
sc = SparkContext(conf = conf)
File "/usr/local/lib/python2.7/site-packages/pyspark/context.py", line 118, in __init__
conf, jsc, profiler_cls)
File "/usr/local/lib/python2.7/site-packages/pyspark/context.py", line 188, in _do_init
self._javaAccumulator = self._jvm.PythonAccumulatorV2(host, port)
TypeError: 'JavaPackage' object is not callable
我知道我想根据我的google搜索在某处添加一些jar,但是我不明白我到底在做什么。 如果有人可以向我介绍如何设置Spark变量和CLASSPATH的基础教程,我将不胜感激。
我已经读过这个问题,但是没有那么详细-
谢谢。
让我们关注两个信息:
我已经安装了Spark版本1.6.0和Python 2.6.6
self._javaAccumulator = self._jvm.PythonAccumulatorV2(host, port)
这些部分表明您错误地配置了Spark安装:
这很可能是由于错误设置了PYTHONPATH
或等效的环境变量导致的。
user8371915-您为我指明了正确的方向,这是根本没有设置PYTHONPATH的问题。
我发现此链接涵盖了我需要的所有信息,并且能够使我的代码仅运行-
./test.py
95
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.