【项目总结】NewStart——PySpark学习笔记

序言

MARSIPM项目后期要在Azure平台上搭算法系统,终归要把之前所有用pandas做数据处理的代码全部重构成PySpark,作为小白从前辈的口中得知PySpark“世界上最烂的语言”后决定笨鸟先飞,既然早晚要承受痛苦,那还是提早做点准备罢,反正答辩完也没什么直接压力了,权当学些新东西了。今天就先把安装指南记录一下,因为PySpark的安装涉及到系统环境的修改,而现在我必须在有公司加密系统的系统备份上使用,以后从公司离开回到之前正常的系统备份后可能还需要重新配置PySpark,留个记录免得到时候不知道怎么改。

预想可能会在这篇博客持续更新一些PySpark的学习内容,到这个岁数总归是技多不压身,多学一点总是没坏处。近期可能会更新一些其他感兴趣的方面的博客,毕竟很久没有做些好玩的事情了,假如时间充裕的话。

PySpark安装指南(WIN10)

首先简单介绍一下PySparkPySpark是基于python语言对Spark数据处理框架的封装,涉及对DataLake, DataBase, DataFrame等多种形式数据的处理,内部还封装了一些统计机器学习,统计分析等模块。相比于传统的pandas数据处理包,PySpark不仅在内容上更加丰富,更重要的是PySpark在处理逻辑上更加优化,使用分布式处理使得在运行上占据更少的内存,提升算法效率。

PySpark的安装教程似乎没有其他人写得那么复杂,需要配置HADOOPJDKSCALA等系统环境,这些一般都是在服务器上部署所需要的,如果只是在PC机上做入门性质的学习,并不需要这么繁琐。

因为笔者之前有Java编程开发的经历,JDK环境是现成的(Java 9.0.4)。从之后PySpark的使用来看,应该只有JDK环境是必须的,其他两个并不必须。关于JDK环境搭建的方法是比较简单的,可以很容易地找到教程。在此不多作赘述,谨以博主renlianggee的相关博客JDK的环境变量配置作为援引。

配置好JDK环境后下载PySpark安装包即可,在pypi官网https://pypi.org/project/pyspark/可以找到setuptar包下载,截至至本文发布,PySpark最新版为2.4.5,下载后解压如下图所示👇

 

 

在解压后的目录下打开cmd输入安装指令,等待安装完成即可。

python setup.py install

不出意外的话就安装完成了,运行一段测试代码看看是否可以运行👇

from pyspark import SparkConf, SparkContext
sc = SparkContext("local", "First App")
print(sc)
 

如果没有发生任何问题,那实在是万幸,但是大概率在以上步骤中会出现一些问题,笔者就自己遇到的问题做一个汇总,也是方便以后需要再次安装时参考。

1. 在安装前需要提前使用pip安装好pypandoc库,

2. 在运行测试代码时,可能会出现如下报错👇

java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

出现这个问题的原因是没有配置HADOOP环境,但是我们也不需要特别去配置HADOOP环境,只需要下载应用程序winutils.exe,这里提供下载链接👇

链接:https://pan.baidu.com/s/1-fyyR2aXZXC7w17DXYGMEw 
提取码:fe04 

下载好后在任意目录新建文件夹winutils,并将winutils.exe放置在该文件夹下的bin目录中(如下图所示,笔者将其放在E:/Python/libs/winutils/bin中)👇

接着设置在环境变量的系统变量中新建变量名HADOOP_HOME,值为winutils文件夹的路径,并将%HADOOP_HOME%\bin添加到系统变量Path中👇

重启计算机运行就不会再出现上述的Error了 。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章