以前在进行搜索引擎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的更多相关文章

  1. Python3: Windows系统上同时安装Python2和Python3

    Python3: Windows系统上同时安装Python2和Python3 为什么要同时安装Python2和Python3环境呢? 因为一些库只支持Python2或者Python3; 在同一台电脑上 ...

  2. Windows系统下同时安装Python2和Python3

    Windows系统下同时安装Python2和Python3 说明 有时由于工作需求我们需要在Python2版本下面进行一些开发,有时又需要Python3以上的版本,那么我们怎么在一台电脑上同时安装多个 ...

  3. Python2.7安装(win7)

    Python可在官方网站直接下,或者百度一下Python2.7下载,这里推荐使用2.7而不是3.3,比较适合初学者 工具/原料 win7系统 python2.7安装包 方法/步骤 1.从官网下载最新的 ...

  4. unbuntu 系统登录华南师范大学校园网的方法

    最近刚装了unbuntu 系统,刚开始网络连接遇到了点小问题,原来是校园网不知道怎么认证,于是向好基友请教了下,得出快捷的方法如下: 下载学校网络的认证客户端,记住位置,一般都是默认下载地址是 Dow ...

  5. 在Win10下,python3和python2同时安装并解决pip共存问题

    前提 本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似. 在Win10下,python3和python2同时安装并解决pip共存问题解决: 1.下载python ...

  6. sqlmap:wins系统+python3上安装

    python2和python3互不兼容,SqlMap是基于python2的,所以SqlMap不支持python3,这里使用virtualenvwrapper切换python版本: 一.sqlmap的安 ...

  7. 在Windows中安装PySpark环境

    在Windows中安装PySpark环境 安装Python 可以选择安装官方版本的Python,或是Anaconda,对应的地址如下. 下载地址 Python:https://www.python.o ...

  8. Oracle 支持在具有 DHCP 分配的 IP 地址的系统上进行安装

    今天在安装Oracle 10g的时候,遇到了“ Oracle 支持在具有 DHCP 分配的 IP 地址的系统上进行安装” 这个问题,经过搜索,找到了解决方案,具体如下: win7下右键单机" ...

  9. 预装WIN8系统的电脑安装WIN7的方法

    前些天,给一位客户的本本安装WIN7,因为原来预装了WIN8,结果按常规方法安装一直没有成功,不管是光盘还U盘.所以心里一直有个疑问,所以留意查阅了有关资料和相关的文章,终于明白了问题所在,现在在这里 ...

随机推荐

  1. Node.js安装及环境配置之Windows篇(转:https://www.cnblogs.com/zhouyu2017/p/6485265.html)

    Node.js安装及环境配置之Windows篇(原文地址:https://www.cnblogs.com/zhouyu2017/p/6485265.html)   一.安装环境 1.本机系统:Wind ...

  2. ArcGIS 教程:Workflow Manager 高速浏览

    应用程序概述 Workflow Manager 用户界面提供了用于在整个作业的生命周期中创建和管理作业的工具. 下面全部信息将会在本帮助文档的兴许章节中进行具体的说明. 文件菜单 新建 - 在系统中创 ...

  3. URAL 题目1553. Caves and Tunnels(Link Cut Tree 改动点权,求两点之间最大)

    1553. Caves and Tunnels Time limit: 3.0 second Memory limit: 64 MB After landing on Mars surface, sc ...

  4. bootstrap模态框出现或者消失的回调函数

    当某一模态框出现的时候就触发函数: $(".modal").on('show.bs.modal',function(){ if(vueObj){...}else{//如果vue对象 ...

  5. C#获取当前活动窗口句柄

    c# 获取当前活动窗口句柄,获取窗口大小及位置 2018年04月26日 13:48:21 漂泊_人生 阅读数:1889   需调用API函数 需在开头引入命名空间using System.Runtim ...

  6. 跨域CORS原理及调用详细演示样例

      上篇博客介绍了JSONP原理,其不足,就是仅仅能使用GET提交.若传输的数据量大.这个JSONP方式就歇菜了.那这篇博客就来介绍还有一种跨域介绍方案-CORS.   相对JSONP,CORS支持P ...

  7. LiveWriter高亮显示方法专题

    2013年9月26日 花了一上午的时间,熟悉了LiveWriter的用法,学会了怎么配置语法高亮,总结下来.   方法1.用博客园推荐的方法没有成功.pass   方法2 方法来自一个人的旅行.试过O ...

  8. POJ 3281 Dining(最大流)

    POJ 3281 Dining id=3281" target="_blank" style="">题目链接 题意:n个牛.每一个牛有一些喜欢的 ...

  9. unigui组件中client javascript delphi组件之间的操作

    UniLabel组件: function OnClick(sender, e){ MainForm.UniLabel1.setText('Click!');} function Onmousemove ...

  10. Robot Framework 初学者上手资料

    首先要声明一下这是从http://www.cnblogs.com/yufeihlf/p/5949984.html拷贝的. 在这里只是自己的一个笔记,方便日后添加.修改内容. 总结下Robot Fram ...