最近在研究Spark,准确的说是pyspark,为了搭个测试环境,之前一直在云上开Linux机器来搭Hadoop,但是Spark可以Local执行,我就打算在本地搭个环境。遇到了一些问题,记录一下,也给其他朋友一个思路。

  pyspark在本地搭建需要

    Java JDK 1.8.0

    Anacoda3

    spark-2.2.3-bin-hadoop2.7
    hadoop-2.7.7

    hadooponwindows-master(后面提供下载连接)

操作步骤:

  1,安装JDK和Anaconda3

  2,把hadooponwindows-master的bin覆盖hadoop-2.7.7的bin

      hadooponwindows-master里面的bin主要有winutils.exe,还有一些dll文件,都是需要的

  3,配置Java,Spark,Hadoop环境变量

      Spark和Hadoop的环境配置与Java类似

        (1)需要完成spark_home和bin环境变量相关配置。

     

    

  (2)同样地,这里也需要配置环境变量,新建HADOOP_HOME变量和新增在path变量下新增…/hadoop/bin。

      为了偷懒,这一块我主要复制这个连接的内容(感谢):https://blog.csdn.net/weixin_38556445/article/details/78182264

   

下面说下我遇到的两个问题:

安装spark,环境变量已经配置,也已经解压,但是启动报错:

Could not locate executablenull\bin\winutils.exe in the Hadoop binaries

    

  %%%解决办法,或者是问题是没有把hadooponwindows-master的bin覆盖hadoop-2.7.7的bin,导致hadoop-2.7.7里面找不到winutils.exe

(2)报了一个py4j.protocol.Py4JJavaError,这个错查了很久没有找到原因,但是我通过下面的方式解决了,不一定对,大家自己尝试下把。

    

解决办法:以管理员的身份打开cmd,然后通过cd命令进入到Hadoop的bin目录下,然后执行以下命令:
  winutils.exe chmod 777 c:\tmp\Hive

    

  终于OK了,

    

wordcount例程

from pyspark import SparkConf, SparkContext
# 创建SparkConf和SparkContext
conf = SparkConf().setMaster("local").setAppName("lichao-wordcount")
sc = SparkContext(conf=conf)
# 输入的数据
data = ["hello", "world", "hello", "word", "count", "count", "hello"]
# 将Collection的data转化为spark中的rdd并进行操作
rdd = sc.parallelize(data)
resultRdd = rdd.map(lambda word: (word, )).reduceByKey(lambda a, b: a + b)
# rdd转为collecton并打印
resultColl = resultRdd.collect()
for line in resultColl:
print(line)

******报错还可能是由于cmd命令行没有用管理员身份运行!!!

在win10上搭建pyspark,的更多相关文章

  1. PC(win10)上搭建 kubernetes + docker 集群环境

    最近kubernetes很火,加上我又在寻找适合快速搭建测试环境的方法,kubernetes的理念很适合用于测试环境的搭建. 因此在学习的过程中写下此教程(记录)以供回顾. 0x00 环境准备 0x0 ...

  2. 【Linux】在Win10上搭建WSL(适用于Linux的Windows子系统)

    1.打开WSL  ,控制面板 -- 程序 -- 程序和功能 -- 打开或关闭Windows功能 - 选中[适用于Linux的Windows子系统] 2.开启后重启电脑 3.在Win10自带的Micro ...

  3. 使用WampServer和DVWA在Windows10上搭建渗透测试环境

    前言: DVWA是一个具有脆弱性的Web测试应用,需要PHP和MySQL的环境支持.我们可以手动配置DVWA所需的运行环境,也可以使用WampServer进行搭建.WampServer是集成了Apac ...

  4. 如何在Windows上搭建Android开发环境

    Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...

  5. 在Windows上搭建PhoneGAP(crodova)的开发环境

    PhoneGAP是一个可以将web应用打包成移动应用的开源框架,使用它可以迅速的将HTML.CSS和JavaScript开发的web应用打包成跨平台的移动应用程序,而Apache Cordova是Ph ...

  6. Win10如何搭建FTP服务器以实现快速传输文件

    原文链接地址:http://blog.csdn.net/bai_langtao/article/details/77751447 Win10如何搭建FTP服务器以实现快速传输文件?相信大家在工作或生活 ...

  7. win10下搭建jz2440v3(arm s3c2440)开发及gdb调试环境【转】

    本文转载自:https://blog.csdn.net/newjay03/article/details/72835758 本来打算完全在Ubuntu下开发的,但是水平有限,没有在Ubuntu下找到合 ...

  8. Windows 8 64位系统 在VS2010 32位软件上 搭建 PCL点云库 开发环境

    Windows 8 64位系统 在VS2010 32位软件上 搭建 PCL点云库 开发环境 下载PCL For windows 软件包 到这个网站下载PCL-All-In-One Installer: ...

  9. 【转帖】Linux上搭建Samba,实现windows与Linux文件数据同步

    Linux上搭建Samba,实现windows与Linux文件数据同步 2018年06月09日 :: m_nanle_xiaobudiu 阅读数 15812更多 分类专栏: Linux Samba 版 ...

随机推荐

  1. 2019 Multi-University Training Contest 10 I Block Breaker

    Problem Description Given a rectangle frame of size n×m. Initially, the frame is strewn with n×m squ ...

  2. Spring依赖注入—@Resource注解使用

    1.@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必须要求依赖对象必须存在,如果要允许null 值,可以设置它的required属性为false,如:@Autowire ...

  3. gVim配置文件分享

    前言 直接可以把这个配置覆盖掉现在安装目录Vim底下的"_vimrc"文件 效果图 Code: set number set tabstop=4 set softtabstop=4 ...

  4. vue添加,删除内容

    vue 提交添加内容,点击删除内容 1 html <input v-model="inputValue" /> <button @click="hand ...

  5. <学习笔记 之 JQuery 基础语法>

    jQuery 库 - 特性 jQuery 是一个 JavaScript 函数库. jQuery 库包含以下特性: HTML 元素选取 HTML 元素操作 CSS 操作 HTML 事件函数 JavaSc ...

  6. query 线段树 + 区间排序

    https://nanti.jisuanke.com/t/41391 这个题目没有很难想,比较暴力,但是要会算复杂度,不会算复杂度,就会觉得自己的算法会超时,实际上不会. 这个题目就是直接暴力求出每一 ...

  7. 剑指offer--(根据前序遍历和中序遍历)重建二叉树

    题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...

  8. 消息队列高手课 -笔记-Kafka高性能的几个关键点

    总结下kafka 高性能的几个关键点是: 1:使用批量处理的方式 去提升系统的吞吐能力 2:基于磁盘文件高性能的顺序读写的特性来设计存储结构 3:利用操作系统的PageCache 来缓存数据  减少I ...

  9. 【Hadoop离线基础总结】oozie的安装部署与使用

    目录 简单介绍 概述 架构 安装部署 1.修改core-site.xml 2.上传oozie的安装包并解压 3.解压hadooplibs到与oozie平行的目录 4.创建libext目录,并拷贝依赖包 ...

  10. Day_12【集合】扩展案例4_判断字符串每一个字符出现的次数

    分析以下需求,并用代码实现 1.利用键盘录入,输入一个字符串 2.统计该字符串中各个字符的数量(提示:字符不用排序) 3.如: 用户输入字符串 "If~you-want~to~change- ...