Я новичок в установке spark на компьютере с Linux и, возможно, у меня есть основной вопрос: я установил Spark версии 1.6.0 и Python 2.6.6
В интерактивном режиме spark я могу запустить этипростые команды для подсчета строк в файле README.md.
Однако я хочу иметь возможность создать автономный скрипт Python и достичь того же результата, но получаю ошибки.
Мой код Python в test.py -
#!/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
, поскольку я импортирую pyspark и SparkContext в свой скрипт на python.
Я получаю сообщение об ошибке -
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, но я не думаю, что понимаю, что именно здесь происходит.Буду признателен, если кто-нибудь подскажет мне базовый урок о том, как настроить искровые переменные и CLASSPATH.
Я уже читал этот вопрос, но он не настолько подробен -
Чточем разница между spark-submit и pyspark?
Спасибо.