Spark+Python+Pycharm在Windows下的配置

来源:互联网 发布:知圆链条索具 编辑:程序博客网 时间:2024/06/06 20:22
初次学习在大数据平台下做数据分析和数据挖掘,之前主要是在MATLAB上在一些数据分析,虽然很熟悉了,然而受速度和方便程度的影响,毕竟还是不太方便做实时的、集群的、超大数据量的分析,因此决定放下用了6年的MATLAB,转战python+spark。为何选择python+spark?选择spark是毋庸置疑的,目前最先进的大数据平台,可是为什么选择python而不选择spark同样支持的scala、Java和R呢?这个纯粹是个人爱好,目前还没有找到具体的理由,也可能是最近看了几个java开发的应用程序,觉得java的程序量非常大,对这一点没有多少好感吧,而对Scala不熟悉,python和R的风格感觉跟MATLAB还是比较像的,个人觉得,python的适用范围可能比R更加广泛一些吧,因此就选择了python+spark。本系列的博客我想写一些我个人学习使用spark的一些亲历过程,可能有些是原创的,有些会是转载修改的,如果有问题,欢迎大家给我邮件(xlydq1206@sina.com),批评指正,以期能帮助更多的想学但现在正陷入困境的同行们!好啦,啰嗦了半天,现在开始进入正题了,第一节比较简单,旨在讲述本人安装spark的一些问题和解决方法。刚开始的时候我是按照网上的教程一步步做,可是出了不少错,因为我不知道到底要干嘛,只是跟着一步步做,现在学会了,我总结后就是几个问题:
  1. 选择系统平台
  2. python安装
  3. pycharm安装
  4. Hadoop和spark的安装

现在来逐一分析,把这几个问题分析和调试做好了,环境也就搭建好了。
第一,在系统的选择上我尝试了三种:Linux系统、VM虚拟机+Ubuntu和Windows7。很不幸,前两种我都没能在我的PC上搭建成功,第一种可能是我的电脑硬件不支持双系统吧,安装Linux的时候总是在关键的时候直接自动关机了;第二种下现在在Windows的安装经验下,是可以装成功的,之前要装什么都不熟悉,而且对Linux的一些操作方式还不是很熟悉,折腾了很久也没能成功,但留下了一些宝贵的经验,仅供参考,可能有些我没注意的地方会有问题,接受大家的指正——

1) sudo wget http://... 从网上获取资源,即下载2) sudo tar zxvf *.tar.gz 解压缩文件3) sudo mv a/ b/ 将文件夹a重命名为b4) vi ~/ .bashrc 编辑环境变量(Vi的使用每次都出问题,感觉很不方便编辑,有好的方法希望大家推荐一下!)5) 设置java的环境变量    sudo gedit /etc/profile 在文件末尾加上   /home/ydq/spark/software/jdk1.7/jre    export JAVA_HOME=~/spark/software/jdk1.7/    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH    source /etc/profile 立即执行    java -version 测试安装成功没6) sudo apt-get install tree 直接安装的方法,不需要给网址

相信对于刚入门的人来说,还是只对Windows熟悉的居多,因此建议在这个阶段还是先在Windows下搭建,反正spark和python都是跨平台的,转过去也容易,这么做不影响后面核心的算法实现,想通了这一点我毫不犹豫的选择了Windows7
第二,python在Windows下的安装非常简单,可以参照http://jingyan.baidu.com/article/8cdccae97f7d26315413cd88.html,后面需要学会用pip来安装库文件,没有强大的库文件,python可就不那么好用了哟!比如安装matplotlib
pip search matplotlib
pip install matplotlib
matplotlib安装的提示情况

这个可以参照的网址为:http://blog.csdn.net/wishchin/article/details/45021103

第三,在此也不赘述Pycharm的安装了,都可以在官网上找到.exe或者.msi文件,下载下来双击安装即可,在Pycharm中选好解释器为Python即可
pycharm成功引入python解释器的效果

第四步,Hadoop和spark的安装。其实也是最重要的一步和最困惑我的一步,现在做好了其实这一步也是很简单的。首先在官网上去下载这两个压缩包,解压后都是免安装的
要下载的两个文件 之后就是环境变量的配置了,
HADOOP_HOME:G:\Windows_Spark\hadoop2.6_Win_x64-master
SPARK_HOME:G:\Windows_Spark\spark-1.6.2-bin-hadoop2.6
path:%HADOOP_HOME%\bin;G:\Windows_Spark\spark-1.6.2-bin-hadoop2.6\bin;
具体的HADOOP_HOME和SPARK_HOME是依赖于每个人在自己pc上解压的位置而定的,不过千万要注意

HOME目录后面是没有分号的,path目录后面是有分号的!
HOME目录后面是没有分号的,path目录后面是有分号的!
HOME目录后面是没有分号的,path目录后面是有分号的!

重要的事情说三遍,我在这里就出错了,后面查错用了两天都没有找到问题所在,还是走在路上的时候突然想到了这个小细节才改过来的,否则后面运行pyspark测试的时候是会报错的哦。
做好了这一切就可以测试一下是否安装成功了,在控制台(windows+R,cmd)上输入pyspark,如果出现了如下情况则表示spark环境搭建成功了。
最后spark搭建成功的画面

之后可以用pip install py4j命令在cmd控制台下安装相关插件,然后就可以编程了。
顺便说一下,如果习惯于java的话,也是可以配置eclipse,和maven,以及JDK。

接下来就是我在网上下载的一份简单的spark代码,共勉学习!

from pyspark import SparkContextsc = 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 dictprint doc.map(wordCountPerDoc).collect()print "successful!"

运行结果如下图所示:
程序运行结果

在此,就不一一分析本程序的代码了,后面我会写一系列博文,来分析spark的代码。

4 0
原创粉丝点击