win10 64位系统下,搭建spark环境,并配置python+pycharm开发环境

来源:互联网 发布:mc721安装windows 编辑:程序博客网 时间:2024/05/17 07:58

因为个人需要,想要学习大数据的处理知识,在学习之前首先要搭建基本软件环境。


目前用的比较广泛的大数据平台基本都是基于hadoop生态圈的一系列软件,不过这两年spark异军突起,比hadoop生态中的MR的处理方式要快非常多,而且spark中的SQL、streaming、MLlib、GraphX等组件功能十分强大,所以选择搭建以spark为基础的大数据处理环境。


一、系统环境

理论上说,无论是hadoop,spark还是其他的分布式架构的大数据处理平台,最佳系统环境都是linux。不过我自己只是需要一个初步的仿真环境,能够便于学习spark的入门知识,并且基于小批量的数据实现简单的业务逻辑,之后才是考虑如何真正把spark部署到生产环境中。加上spark支持的java、python、scala这些开发语言都是跨平台的,代码迁移起来比较简单。


考虑上述需求,加上大多数人都是以windows作为自己最常用的系统,仿真环境也打算部署在我自己的pc上。

最终系统环境为:win10 64位系统。


二、部署spark环境


在windows上运行spark平台,需要同时部署java开发环境、spark环境、hadoop环境。

(一)安装java


访问网址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,点击你想要安装版本的下载链接。


这里我选的是Java SE 8u151/ 8u152版本,可以看到同一版本的java下有三个不同的下载链接,分别是jdk、server jre和jre。关于jdk和jre的区别,可以阅读这篇博客:http://blog.csdn.net/zl386119974/article/details/18088867,我在这里选择的是jdk。


下载完成后,双击exe文件安装,安装过程不再赘述。


安装结束后,需要配置对应的java环境变量,配置方式如下:


1、在系统变量中增加一个JAVA_HOME变量,值为你刚刚的jdk安装路径,我这里安装到了C:\Program Files\Java\jdk1.8.0_1下。


2、编辑系统变量path,新增一个值:%JAVA_HOME%\bin。


配置完成后,新打开一个命令行窗口,输入指令:java -version,如果结果正确,则会如下输出:


C:\Windows\System32>java -versionjava version "1.8.0_111"Java(TM) SE Runtime Environment (build 1.8.0_111-b14)Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)


安装spark


前往spark的官网,找到下载页面,选择你需要的版本进行下载。


这里我下载的是spark-2.2.0-bin-hadoop2.7.tgz,其实就是个免安装的压缩包文件。


下载完成后,将上述文件进行解压缩,把解压缩后的文件夹改名为spark,并拷贝至D盘根目录下。这里需要注意,spark所在的路径中,不能有任何一级目录名中包含空格,不然就会无法运行。


接下来是配置系统环境变量。


1、在系统变量中新增名为SPARK_HOME的变量,值为D:\spark。


2、编辑系统变量path,新增两个值:%SPARK_HOME%\bin和%SPARK_HOME%\sbin。


至此,spark在win10系统下的环境配置完成。


(三)安装hadoop


spark本身被设计成可以不依赖hadoop而独立运行,所以如果是linux系统的话,只安装spark环境就已经可以了。但是windows环境比较特殊,spark运行需要依赖于部分hadoop的文件,所以还需要再配置hadoop。


hadoop的配置和spark雷同,先访问官网提供的清华大学镜像下载:http://hadoop.apache.org/releases.html


因为刚刚安装的spark只支持2.7及以上的hadoop版本,所以下载时要注意hadoop版本。这里因为另外一个特殊需求,所以选择hadoop2.8.1版本,对应文件是hadoop-2.8.1.tar.gz,具体原因后面会讲到。


下载完成后,同样是解压,将解压后目录改名为hadoop,拷贝至D盘根目录下。


接下来是配置系统环境变量。


1、在系统变量中新增名为HADOOP_HOME的变量,值为D:\hadoop。


2、编辑系统变量path,新增值:%HADOOP_HOME%\bin。


接下来是特别要注意的地方,spark在windows下运行,可能会需要一个名为winutils.exe的文件需还好github上有大神已经放出相关文件,访问网址:https://github.com/steveloughran/winutils,挑选对应的hadoop2.8.1版本的目录,下载目录下的winutils.exe文件,下载完成后拷贝至D:\hadoop\bin目录下。


(四)安装python环境。


python环境的安装网上教程很多,这里推荐使用anaconda科学计算平台,下载地址:https://www.anaconda.com/download/,安装过程不再赘述,就是双击exe并一路下一步即可。


python环境安装好以后,需要配置系统环境变量。


1、在系统变量中新增名为PATHONPATH的变量,值为%SPARK_HOME%\python;%SPARK_HOME%\python\lib\py4j-0.10.4-src.zip;%SPARK_HOME%\python\lib\pyspark.zip


至此,spark在win10系统下的环境配置完成。可以新打开命令行窗口,输入指令pyspark,看到如下结果后说明配置成功。



(五)配置pycharm环境


如果要使用pycharm进行spark的python接口开发,那只有上面的这些配置还不够,还需要针对pycharm进行配置。


1、首先,安装pycharm,这里也不再赘述。


2、新建一个工程,并在工程中新建一个py文件。


3、设置工程参数,如图所示:



在黑框处,增加一个变量为SPARK_HOME,值和系统变量中同名变量一致。


3、设置pycharm的settings,如下图所示:



至此,pycharm的设置完毕,运行测试代码,检验结果:


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 wd[w] in dict.keys():            dict[wd[w]] +=1        else:            dict[wd[w]] = 1    return dictprint (doc.map(wordCountPerDoc).collect())print ("successful!")


正确结果应该是:


[{0: 1, 1: 1, 2: 1}, {1: 1, 3: 2}]
successful!


至此,整个配置工作结果,接下来就可以愉快的进行spark的学习和开发测试了。

阅读全文
0 0
原创粉丝点击