0、安装python,我用的是python2.7.13

1、安装jdk

一定要安装1.7以上的版本,安装低版本会报下面的错误

java.lang.NoclassDefFoundError

安装后不用手动设置环境变量,安装完成之后用“java -version”测试是否安装成功

安装成功之后要添加一个“JAVA_HOME”的环境变量,因为在hadoop的\libexec\hadoop-config.sh中定义了一个JAVA_HOME的环境变量,如果找不到该变量,后面运行“sc = SparkContext(appName="PythonPi")”时就会出现虚拟机初始化错误,不能分配内存

2、下载并安装spark

下载地址:http://spark.apache.org/downloads.html

注意spark与hadoop的版本是严格对应的,文件名中也有体现,如果要安装hadoop,一定要安装对应的版本

spark-1.6.3-bin-hadoop2.6.tgz就要安装2.6版本的hadoop。

下载之后,将其解压到某文件夹,例解压到“C:\spark\spark-1.6.3-bin-hadoop2.6”

添加环境变量

  1、将“C:\spark\spark-1.6.3-bin-hadoop2.6\bin”添加到系统变量Path中,这里面都是一些cmd文件

  2、新建一个系统变量SPARK_HOME,然后将路径C:\spark\spark-1.6.3-bin-hadoop2.6添加进去

  3、运行pyspark检查是否安装成功,虽有有错误,但可以把环境打开,安装下面的东西才能解决这些错误

3、下载并安装hadoop

下载地址:https://archive.apache.org/dist/hadoop/common/

根据上面这里要安装2.6版本的hadoop,然后将压缩包解压到指定文件夹,例如“C:\spark\hadoop-2.6.5”

添加环境变量

  1、将“C:\spark\hadoop-2.6.5\bin”添加到系统变量Path中,这里面都是一些cmd文件

  2、新建一个系统变量HADOOP_HOME,然后将路径C:\spark\hadoop-2.6.5添加进去

  3、运行pyspark检查看错误是否消息

4、上面安装完成之后还是会有一个错误

主要是因为Hadoop的bin目录下没有winutils.exe文件的原因造成的。这里的解决办法是:
  
- 去 https://github.com/steveloughran/winutils 选择你安装的Hadoop版本号,然后进入到bin目录下,找到winutils.exe文件,下载方法是点击winutils.exe文件,进入之后在页面的右上方部分有一个Download按钮,点击下载即可。
- 下载好winutils.exe后,将这个文件放入到Hadoop的bin目录下

5、输入pyspark,运行正常

Spark开始启动,并且输出了一些日志信息,大多数都可以忽略,需要注意的是两句话:

Spark context available as sc.
SQL context available as sqlContext 只有看到这两个语句了,才说明Spark真正的成功启动了。 6、在编译环境使用时,还要把C:\spark\spark-1.6.3-bin-hadoop2.6\python中的pyspark文件夹拷贝到对应的\Lib\site-packages中 7、运行pip install py4j安装包 8、运行一个例子检测是否成功,这个例子在运行这个文件时,需要输入命令行参数
import sys
from random import random
from operator import add from pyspark import SparkContext if __name__ == "__main__":
"""
Usage: pi [partitions]
"""
sc = SparkContext(appName="PythonPi")
partitions = int(sys.argv[1]) if len(sys.argv) > 1 else 2
print("partitions is %f" % partitions)
n = 100000 * partitions def f(_):
x = random() * 2 - 1
y = random() * 2 - 1
return 1 if x ** 2 + y ** 2 < 1 else 0 count = sc.parallelize(range(1, n + 1), partitions).map(f).reduce(add)
print("Pi is roughly %f" % (4.0 * count / n)) sc.stop()
  • 1
  • 2Spark contextSQL context分别是什么,后续再讲,现在只需要记住,只有看到这两个语句了,才说明Spark真正的成功

pyspark在windows中的安装的更多相关文章

  1. Appium+Robotframework实现Android应用的自动化测试-1:Appium在Windows中的安装

    让我们开始在Windows中开始安装Appium吧,Appium在OS X中的具体安装后面的文章会介绍. 另外,官网上说先要装Node.js,还要装Apache Ant和Apache Maven,Gi ...

  2. redis 在 windows 中的安装

    redis 在 windows 中的安装 redis 官方并没有提供 redis 的 windows 版本.但是微软提供了 redis 的 windows 版本.有2.8和3.0版本.3.0版本支持集 ...

  3. windows中配置安装mysql数据库

    MySql 是一种免费的关系型数据库,相较于 MsSqlServer 和 Oracle 比较轻量化,安装也很简单,而且免费不需要的版权费用,个人认为一般的小项目采用还是比较合适的,当然也有部分数据量很 ...

  4. ElasticSearch之Windows中环境安装

    ElasticSearch 说明 本章,我们主要以在 Windows 中对ElasticSearch 安装进行介绍! 1. 下载 ElasticSearch 这里我们下载的版本为7.17.4为例进行介 ...

  5. Windows中 RabbitMQ安装与环境变量配置

    RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议.1:安装RabbitMQ需要先安装Erlang语言开发包.下载地址 ht ...

  6. redis在windows中的安装

    之前介绍过了redis的相关知识,以及在linux平台上安装redis,为了方便学习,这里记录一下redis在windows平台上的安装步骤 1.下载redis下载地址https://github.c ...

  7. Windows 中JDK安装配置教程

    1.准备工作 a.因为Java JDK区分32位和64位系统,所以在安装之前必须先要判断以下我们的系统为多少位系统.右键计算机-属性查看,我安装的是64位 b.下载JDK,地址:http://www. ...

  8. windows中mongoDB安装教程

    下载路径:http://downloads.mongodb.org/win32/mongodb-win32-i386-1.7.0.zip 将一个DB文件夹 我是放到D盘,路径:Ddb 解压mongod ...

  9. 在windows中python安装sit-packages路径位置 在Pycharm中导入opencv不能自动代码补全问题

    在Pycharm中导入opencv不能自动代码补全问题 近期学习到计算机视觉库的相关知识,经过几个小时的探讨,终于解决了opencv不能自动补全代码的困惑, 我们使用pycharm安装配置可能会添加多 ...

随机推荐

  1. VIM - 模式简介

    1. 概述 简述 vim 模式 很简单的东西, 随便说说得了 2. 模式们 概述 vim 各个模式 后面的切换, 都是从 标准模式 切换到其他模式 1. Normal Mode 名称 标准模式 / 常 ...

  2. Kotlin基础学习笔记(2)

    1.基本数据类型 Kotlin的基本数值类型包括byte,short,int,long,float,double等.字符不属于数值类型,是一个独立的数据类型. 数字类型中不会主动转换.例如,不能给Do ...

  3. mysql导入报错【The MySQL server is running with the --event-scheduler=DISABLED】

    一.问题: 在进行mysql操作导入库的时候,报出了[The MySQL server is running with the --event-scheduler=DISABLED] 查看后台日志是事 ...

  4. 系统分析与设计——WordCount

    成果: https://gitee.com/ZMLJZ/codes/0k19q4upgmrfde265l7vx36 作业要求: 根据WordCount的需求描述,先编程实现,再编写单元测试,最后撰写博 ...

  5. Discover Feature Engineering, How to Engineer Features and How to Get Good at It

    Feature engineering is an informal topic, but one that is absolutely known and agreed to be key to s ...

  6. I/O: std::ios_base::openmode

    I/O: std::ios_base::openmode std::ios_base::openmode std::ios_base::in:  打开文件进行读操作,即读取文件中的数据 如果指定路径中 ...

  7. git remote: error: hook declined to update

    提交一个项目,push的时候,报错: remote: error: File xxx.rar is MB; this exceeds Git@OSC's file size limit of 100 ...

  8. tp框架-------验证码

    验证码我们一般很常见,在注册或登录时,都可以用的到,下面我们就来看看它的代码和用法 加验证码是为了防止表单攻击的一种方式,为了我们的程序更加的安全 在tp框架中它自带了一个验证码的类,我们先来看一下 ...

  9. 在tomcat5中发布项目时,用IP地址+端口不能访问项目,而用localhost加端口时可以访问成功

    最近在开发项目中,遇到的一个问题是: 在 tomcat中发布一个web项目,但是发布成功后,只能用http://localhost:8080/fm访问项目,不能用 http://127.0.0.1:8 ...

  10. html页面中完成查找功能

    最近在搞一个被很多人改了的框架,天天看代码看的头的晕了,不过感觉进步还挺大的,自己做了一个后台可配置前台查看两个库不同数据范围的东西,还挺满意,那天拿出来分享一下,今天先说一个这几天做的功能,就是ht ...