unbuntu系统:python2.7安装pyspark
以前在进行搜索引擎rank-svm排序模型训练时,直接使用python读取的HDFS日志文件、统计计算等预处理操作再进行svm模型,最终产生出训练模型。现在回想一下,数据预处理这一块完全可以使用spark进行,而且看起来更“正规一点”和高大上,并借机接触一下大数据。pyspark的安装折腾了一上午,这篇文章简述一下unbuntu下如何安装pyspak。
主要过程:1) 安装jdk1.8; 2)安装pyspark; 3)安装py4j。
jdk1.8的安装相对简单,这里省略。下面介绍安装pyspark。
1.pip命令安装
官方文档说pypi已经支持pyspark,因此对于python用户,可以使用pip install pyspak命令进行(前提是你已经安装了pip)。该命令执行后一段时间,会出现如下打印

然后,你可以泡壶茶,静静等待。。。
在安装过程中,你可能会遇到2个问题:1)安装的过程中出现timeout的问题,这个问题是站点或者网络问题,可以延长pip install的默认超时时间(15s)来解决,例如设置默认超时时间100s:pip install --default-time=100 pyspark ; 2) 如果你使用的python版本过低,例如python2.7,在安装的过程中,会抛出如下异常

白色字体提示:InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this.
意思就是说建议你升级python版本。笔者的很多脚本都是python2.7.14的,因此升级python2.7是万万不可能的,那么智能另辟蹊径了,看下面。
2. 源码包绿色安装
如果pip命令安装不可行,则可以使用该方法。
1) 下载spark-2.3.0-bin-hadoop2.7.tgz
2) 然后tar -xzf spark-2.3.0-bin-hadoop2.7.tgz,之后在解压的bin目录下就可以可以看到pyspark了。

3)运行./pyspark

点背啊,又遇到问题了:zipimport.ZipImportError: can't decompress data; zlib not available。解决办法:
(1) 先安装系统相应的依赖库文件: sudo apt-get install zlibc zlib1g-dev
(2) 到python安装目录下执行: sudo ./configure
(3) 编辑Modules/Setup文件:
vim Modules/Setup
找到下面这句,去掉注释
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
(4) 重新编译安装:
sudo make
sudo make -i install
重新编译安装后,在运行./pyspark,终于出现spark图标了,如下。

4)配置变量,增加/home/taoli5/software/pyspark/spark-2.3.0-bin-hadoop2.7/bin目录,这样以后就可以在任何地方直接调用pyspark了。

3.安装py4j,直接执行sudo pip install py4j就行了。
4,.测试pyspark
>>>pyspark
>>> textFile = spark.read.text("README.md")
>>> textFile.count()
[Stage 0:> (0 +[Stage 0:===========================================================(1 + 103
>>> textFile.count()
103
>>> textFile.filter(textFile.value.contains("Spark")).count()
20
>>>
至此,整个安装过程就完成了,good lock!
unbuntu系统:python2.7安装pyspark的更多相关文章
- Python3: Windows系统上同时安装Python2和Python3
Python3: Windows系统上同时安装Python2和Python3 为什么要同时安装Python2和Python3环境呢? 因为一些库只支持Python2或者Python3; 在同一台电脑上 ...
- Windows系统下同时安装Python2和Python3
Windows系统下同时安装Python2和Python3 说明 有时由于工作需求我们需要在Python2版本下面进行一些开发,有时又需要Python3以上的版本,那么我们怎么在一台电脑上同时安装多个 ...
- Python2.7安装(win7)
Python可在官方网站直接下,或者百度一下Python2.7下载,这里推荐使用2.7而不是3.3,比较适合初学者 工具/原料 win7系统 python2.7安装包 方法/步骤 1.从官网下载最新的 ...
- unbuntu 系统登录华南师范大学校园网的方法
最近刚装了unbuntu 系统,刚开始网络连接遇到了点小问题,原来是校园网不知道怎么认证,于是向好基友请教了下,得出快捷的方法如下: 下载学校网络的认证客户端,记住位置,一般都是默认下载地址是 Dow ...
- 在Win10下,python3和python2同时安装并解决pip共存问题
前提 本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似. 在Win10下,python3和python2同时安装并解决pip共存问题解决: 1.下载python ...
- sqlmap:wins系统+python3上安装
python2和python3互不兼容,SqlMap是基于python2的,所以SqlMap不支持python3,这里使用virtualenvwrapper切换python版本: 一.sqlmap的安 ...
- 在Windows中安装PySpark环境
在Windows中安装PySpark环境 安装Python 可以选择安装官方版本的Python,或是Anaconda,对应的地址如下. 下载地址 Python:https://www.python.o ...
- Oracle 支持在具有 DHCP 分配的 IP 地址的系统上进行安装
今天在安装Oracle 10g的时候,遇到了“ Oracle 支持在具有 DHCP 分配的 IP 地址的系统上进行安装” 这个问题,经过搜索,找到了解决方案,具体如下: win7下右键单机" ...
- 预装WIN8系统的电脑安装WIN7的方法
前些天,给一位客户的本本安装WIN7,因为原来预装了WIN8,结果按常规方法安装一直没有成功,不管是光盘还U盘.所以心里一直有个疑问,所以留意查阅了有关资料和相关的文章,终于明白了问题所在,现在在这里 ...
随机推荐
- 【剑指Offer】俯视50题之31 - 40题
面试题31连续子数组的最大和 面试题32从1到n整数中1出现的次数 面试题33把数组排成最小的数 面试题34丑数 面试题35第一个仅仅出现一次的字符 面试题36数组中的逆序对 面试题37两个链表的第一 ...
- 获取Linux磁盘分区的UUID
在设置fstab自动挂载时,需要填写如下的信息: # <file system> <mount point> <type> <options> < ...
- web 开发之js---js 中的数组操作
js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^var arr = new Array();arr[0] = "aaa";arr[1] ...
- HDU 5783Divide the Sequence
Divide the Sequence Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Othe ...
- 【Codevs 4672】辛苦的老园丁
http://codevs.cn/problem/4672/ 那个一看这不是(最大独立集)的最大权值和,类似 反图→ 最大团 NP问题 搜索解决 改一下模板即可 参考最大独立集 Maximum C ...
- [翻译]NUnit---Exception && Utility Methods (六)
网址:http://www.cnblogs.com/kim01/archive/2013/04/01/2994378.html Exception Asserts (NUnit 2.5) Assert ...
- luogu 1121 环状最大两段子段和
题目大意: 一个序列看做一个环 选两段数使它们和最大 思路: 定义一个dp数组i j 0/1 表示前i个取了连续的j段 0/1表示取不取第i个 但是因为看做一个环 首尾相接的情况可以看做是选三段,其中 ...
- 19_传智播客iOS视频教程_类和对象
什么是类?什么是对象? 看的见.摸的着.拿过来就可以直接使用.例如报纸就是一个对象. 学生这个东西可不可以只是指一个?就只有那一个才是学生.不是的,学生是有很多个的.它是对一类人的统称.类是统称.所以 ...
- [App Store Connect帮助]六、测试 Beta 版本(3.3)管理测试员:查看测试员信息
如果您使用“TestFlight Beta 版测试”,您可以查看关于测试员的信息,并衡量测试员的参与度. 必要职能:“帐户持有人”职能.“管理”职能.“App 管理”职能.“开发者”职能或“营销”职能 ...
- (快排)51NOD 1018 排序
给出N个整数,对着N个整数进行排序 Input 第1行:整数的数量N(1 <= N <= 50000) 第2 - N + 1行:待排序的整数(-10^9 <= A[i] < ...