在windows安装部署spark(python版)


在部署spark之前你得先确定你已经成功部署了Hadoop,如果没有的话,请看我上一篇文章:https://blog.csdn.net/zhongjunlang/article/details/80812669

1.首先下载Spark http://spark.apache.org/downloads.html 选择合适的版本,这里我下载了最近的版本 

下载完解压包之后对解压包进行解压,注意存放的路径一定不能带空格,例如放到C:\Program Files就不行。这里我放到了G:\spark 

2添加环境变量,并在Path中添加

%SPARK_HOME%
%SPARK_HOME%\bin 
%SPARK_HOME%\sbin

 

3.这时,你可以利用打开cmd,输入pySpark。没有问题的话,你可以看到下图 

如果想再命令行中使用,那到这里就可以了。如果想再pycharm中使用,请继续往下看。

4.要想在PyCharm中调用pySpark,需要加载包。
G:\spark\spark_2.3.1_bin_hadoop2.7\python文件夹下pySpark文件夹拷贝到C:\Python27\Lib\site-packages(注:我的python安装目录是这个路径,可能有的读者利用anaconda等,这个路径根据实际情况改变)
5.pyCharm spark_test2示例
新建spark_test2.py文件,写代码

import sys
from operator import add

from pyspark import SparkContext


if __name__ == "__main__":
sc = SparkContext(appName="PythonWordCount")
lines = sc.textFile('words.txt')
counts = lines.flatMap(lambda x: x.split(' ')) \
  .map(lambda x: (x, 1)) \
  .reduceByKey(add)
output = counts.collect()
for (word, count) in output:
print "%s: %i" % (word, count)

sc.stop()

代码中words.txt内容如下

good bad cool
hadoop spark mlib
good spark mlib
cool spark bad

然后运行,运行后应该会出错了,我的错误如下:

 

 稳住,先不慌,我们再pycharm中配置一下

 

我们在runconfig 中加入环境变量 再次运行,就会得到如下结果:

 

如果不用这种方法的话,其实也还有一种方法,那就是在py文件里添加2行代码:

os.environ['SPARK_HOME']="G:\spark\spark_2.3.1_bin_hadoop2.7"
sys.path.append("G:\spark\spark_2.3.1_bin_hadoop2.7\python")

例如:

import os
import sys

os.environ['SPARK_HOME']="G:\spark\spark_2.3.1_bin_hadoop2.7"
sys.path.append("G:\spark\spark_2.3.1_bin_hadoop2.7\python")


from pyspark import SparkContext

sc = SparkContext('local')
doc = sc.parallelize([['a','b','c'],['b','d','d']])
words = doc.flatMap(lambda d:d).distinct().collect()
word_dict = {w:i for w,i in zip(words,range(len(words)))}
word_dict_b = sc.broadcast(word_dict)

def wordCountPerDoc(d):
dict={}
wd = word_dict_b.value
for w in d:
if dict.has_key(wd[w]):
dict[wd[w]] +=1
else:
dict[wd[w]] = 1
return dict
print doc.map(wordCountPerDoc).collect()
print "successful!"

这样也会运行成功的:

 


再附加一个骚骚的图,打码部分不适合可见吐舌头



  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值