1、首先在官网上下载:spark-1.6.0-bin-hadoop2.6.tgz
2、解压后,放到D盘下,并改名为spark-1.6.0,将D:\spark-1.6.0\bin加入到环境变量中,在终端中输入:pyspark,能打开交互界面,但是提示:
ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary path
3、在网上下载对应的winutils.exe,放到相应目录,比如D:\hadoop\bin\winutils.exe,设置环境变量HADOOP_HOME=D:\hadoop\(不要忘记最后那个'\'),并将路径D:\hadoop\回到的path中。再启动pyspark时,就不会再出现错误了。
4、验证spark:
参考这个博客:Spark入门(Python版),在这里,我们将在windows上,运行博客里的统计航班延迟的spark应用。
我的python环境是python3.5,操作系统环境是win7 32位:
需要将里面的部分代码修改一下:
① # from StringIO import StringIO
from io import StringIO #python3中的写法
② # return reader.next()
return next(reader) #python3中的写法
对应错误:AttributeError: '_csv.reader' object has no attribute 'next'
③ # index = list(xrange(len(airlines)))
index = list(range(len(airlines))) #python3中的写法
④ 最后,修改print语句:
print("%0.0f minutes delayed\t%s" % (d[1], d[0]))
好了,可以运行了,效果图如下:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
记录一段来自stackoverflow的代码,链接:查看链接
import csv
with open("AAPL.csv", "rb") as f:
CSV = csv.reader(f)
header = next(CSV) # read the header row
column_data = zip(*CSV) # read data and arrange by columns instead of by rows
# do stuff with column_lists
关于zip的讲解:
zip的用法
-------------------------------------------------------------------------
按照“Spark入门(Python版)”来配置ipython notebook 使用spark集群,最后,启动时,不再需要--profile参数(加上反而会出错),也能成功,与我的python3最新版本有关。
注意问题:
要设置PYTHONPATH环境变量:PYTHONPATH=D:\spark-1.6.0\python\;D:\spark-1.6.0\python\lib\py4j-0.9-src.zip