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盘.所以心里一直有个疑问,所以留意查阅了有关资料和相关的文章,终于明白了问题所在,现在在这里 ...
随机推荐
- 【Nginx】epoll及内核源码详解
内核源码: https://www.nowcoder.com/discuss/26226?type=0&order=0&pos=21&page=1 epoll流程: 首先调用e ...
- android 深入浅出 群内“每日一问” 问答总结
永远不变的就是变. 俗话说的好,环境改变人生. 常常面对的是一群积极奋进的人,那么你的心态和生活也会变的充满斗志.青春在于折腾,趁我们还年轻,拿出你的激情.踏着泪水载着梦,才干拥有自己的一片天空. 上 ...
- Erlang 又生虫了
好久不玩Erlang了.近期想鼓捣Eresye,下了个最新版OTP 17,结果.发现了问题. 安装这个最新版的Erlang (erl 6.0)后,用erlc编译了Eresye 1.2.5,并放入其li ...
- 优雅的在React项目中使用Redux
概念 首先我们会用到哪些框架和工具呢? React UI框架 Redux 状态管理工具,与React没有任何关系,其他UI框架也可以使用Redux react-redux React插件,作用:方便在 ...
- datagrid行操作
//获取第一个被选中的行 var row=$('#dg').datagrid('getSelected'); //获取行对应的索引值 var index=$('#dg').datagrid('getR ...
- 自己动手写shell命令之ls -R1fF
ls命令的R參数代表递归的列出全部子目录中的全部文件,1表示每一行仅仅显示一个文件或目录,f表示不排序即输出.F表示在每项的输出的最后依据其文件类型对应的加上*/=>@|字符.通过c语言实现ls ...
- Session管理之ThreadLocal
ref=toolbar" target="_blank">ref=toolbar_logo" target="_blank"> ...
- arm-linux交叉编译工具链的制作(基于S3C2440)【转】
本文转载自:http://eric-gao.iteye.com/blog/2160622 制作arm-linux交叉编译工具链一般通过crosstool工具或者crosstool-NG,前者使用方便, ...
- docker 基本指令
sudo docker info 查看docker状态. jiqing@ThinkPad:~$ sudo docker info [sudo] password for jiqing: Contain ...
- 移动前端第二弹:善用meta
前言 在移动前端第一弹:viewport详解中,我们讲了viewport,那是一个关于meta的故事.这次我们会就将meta这个故事讲得更广阔.更有意思一些. 写过HTML的童鞋,应该都对这个不陌生, ...