Python pycharm(windows版本)部署spark环境

2023-11-09

  一 部署本地spark环境


1.1  安装好JDK
      下载并安装好jdk1.7,配置完环境变量。
 
1.2 Spark环境变量配置
      去http://spark.apache.org/downloads.html网站下载相应hadoop对应的版本,我下载的是 spark-1.6.0-bin-hadoop2.6.tgz,spark版本是1.6,对应的hadoop版本是2.6

解压下载的文件,假设解压 目录为:D:\Spark-1.6.0-bin-hadoop2.6。将D:\spark-1.6.0-bin-hadoop2.6\bin添加到系统Path变量,同时新建SPARK_HOME变量,变量值为:D:\spark-1.6.0-bin-hadoop2.6

 

1.3 Hadoop相关包的安装

 

      spark是基于hadoop之上的,运行过程中会调用相关hadoop库,如果没配置相关hadoop运行环境,会提示相关出错信息,虽然也不影响运行。

  去下载hadoop 2.6编译好的包https://www.barik.net/archive/2015/01/19/172716/,我下载的是hadoop-2.6.0.tar.gz,解压下载的文件夹,将相关库添加到系统Path变量中:D:\hadoop-2.6.0\bin;同时新建HADOOP_HOME变量,变量值为:D:\hadoop-2.6.0。同时去github上下载一个叫做 winutils  的组件,地址是 https://github.com/srccodes/hadoop-common-2.2.0-bin 如果没有hadoop对应的版本(此时版本是 2.6),则去csdn上下载 http://download.csdn.net/detail/luoyepiaoxin/8860033,

我的做法是把CSDN这个压缩包里的所有文件都复制到 hadoop_home的bin目录下

 

二  Python环境

   Spark提供了2个交互式shell, 一个是pyspark(基于python), 一个是spark_shell(基于Scala). 这两个环境其实是并列的, 并没有相互依赖关系, 所以如果仅仅是使用pyspark交互环境, 而不使用spark-shell的话, 甚至连scala都不需要安装.

 2.1 下载并安装Anaconda 

   anaconda是一个集成了python解释器和大多数python库的系统,安装anaconda 后可以不用再安装python和pandas numpy等这些组件了。下载地址是 https://www.continuum.io/downloads。将python加到path环境变量中

三  启动pyspark验证

     在windows下命令行中启动pyspark,如图:

    

 

 四 在pycharm中配置开发环境   

  4.1 配置Pycharm

 
 更详细的材料 参考 https://stackoverflow.com/questions/34685905/how-to-link-pycharm-with-pyspark

 打开PyCharm,创建一个Project。然后选择“Run” ->“Edit Configurations”
 

 选择 “Environment variables” 增加SPARK_HOME目录与PYTHONPATH目录。

 

  • SPARK_HOME:Spark安装目录

  • PYTHONPATH:Spark安装目录下的Python目录


     

     

4.2 测试程序

先测试环境是否正确,代码如下:

  

import os
import sys
 
# Path for spark source folder
os.environ['SPARK_HOME']="D:\javaPackages\spark-1.6.0-bin-hadoop2.6"
 
# Append pyspark to Python Path
sys.path.append("D:\javaPackages\spark-1.6.0-bin-hadoop2.6\python")
 
try:
from pyspark import SparkContext
from pyspark import SparkConf
 
print ("Successfully imported Spark Modules")
 
except ImportError as e:
print ("Can not import Spark Modules", e)
sys.exit(1)

  

 
  如果程序可以正常输出: "Successfully imported Spark Modules"就说明环境已经可以正常执行。
  如下图,黄色框内的是具体的spark环境和python环境:
 

测试程序代码来源于 github :https://gist.github.com/bigaidream/40fe0f8267a80e7c9cf8

转原博客地址:http://blog.csdn.net/huangxia73/article/details/51372557

 

 

 

 

注意:

可能会报没有 py4j ( 它是python用来连接java的中间件)

可以用命令安装:pip install py4j

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python pycharm(windows版本)部署spark环境 的相关文章

  • Python、Tkinter、更改标签颜色

    有没有一种简单的方法来更改按钮中文本的颜色 I use button text input text here 更改按下后按钮文本的内容 是否存在类似的颜色变化 button color red Use the foreground设置按钮
  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • Python 多处理示例不起作用

    我正在尝试学习如何使用multiprocessing但我无法让它发挥作用 这是代码文档 http docs python org 2 library multiprocessing html from multiprocessing imp
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • keras加载模型错误尝试将包含17层的权重文件加载到0层的模型中

    我目前正在使用 keras 开发 vgg16 模型 我用我的一些图层微调 vgg 模型 拟合我的模型 训练 后 我保存我的模型model save name h5 可以毫无问题地保存 但是 当我尝试使用以下命令重新加载模型时load mod
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • 在Python中重置生成器对象

    我有一个由多个yield 返回的生成器对象 准备调用该生成器是相当耗时的操作 这就是为什么我想多次重复使用生成器 y FunctionWithYield for x in y print x here must be something t
  • 如何在 Django 中使用并发进程记录到单个文件而不使用独占锁

    给定一个在多个服务器上同时执行的 Django 应用程序 该应用程序如何记录到单个共享日志文件 在网络共享中 而不保持该文件以独占模式永久打开 当您想要利用日志流时 这种情况适用于 Windows Azure 网站上托管的 Django 应
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • 您可以在 Python 类型注释中指定方差吗?

    你能发现下面代码中的错误吗 米皮不能 from typing import Dict Any def add items d Dict str Any gt None d foo 5 d Dict str str add items d f
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar
  • Python 分析:“‘select.poll’对象的‘poll’方法”是什么?

    我已经使用 python 分析了我的 python 代码cProfile模块并得到以下结果 ncalls tottime percall cumtime percall filename lineno function 13937860 9

随机推荐

  • 在Vue2中使用Swiper

    由于兼容性问题 使用的是Swiper4 首先是安装 npm i swiper 4 在组件中引入 import swiper dist js swiper import swiper dist css swiper css import Sw
  • css01

    1 css基础认知 CSS 叫 层叠样式表 用来 给html页面修改样式 可以让页面更美观 css的书写位置 内嵌式
  • C++:替换文本文件中的某些字符

    include
  • linux开机dracut界面_dracut 基本介绍

    dracut 维基 https dracut wiki kernel org index php Main Page http www 360doc com content 13 0428 09 12139495 281449877 sht
  • JVM——垃圾回收器

    JVM 垃圾回收器 按照工作模式分 可以分为并发式垃圾回收器和独占式垃圾回收器 并发式垃圾回收器与应用程序线程交替工作 以尽可能减少应用程序的停顿时间 独占式垃圾回收器 stop the world 一旦运行 就停止应用程序中的所有用 户线
  • Qt 在循环中超时跳出

    常见的一个需求 在一段循环中 给定一个最大运行时间 当循环时间超出时 终止 常用于一些工控场合 对节拍有要求的项目 在此简单的做一个总结记录 主要使用Qt的 QElapsedTimer 类 调用QElapsedTimer中的成员函数elap
  • MySQL技术内幕 InnoDB存储引擎 学习笔记 第八章 备份与恢复

    备份方法 1 热备 在数据库运行中直接备份 对正在运行的数据库没有任何影响 这种方式在MySQL官方手册中称为Online Backup 2 冷备 在数据库停止的情况下备份 这种备份最简单 一般只需拷贝相关的数据库物理文件即可 这种方式在M
  • Vnc配置

    2017 04 15 1 在terminal中输入vncconfig 弹出小窗 勾选对应选项 注意 不要关闭这个小窗 不要关闭这个小窗 不要关闭这个小窗 2 vncconfig nowin 在linux选中文字后 无需其他按键 直接在win
  • 智慧农业物联网系统解决方案

    一 方案背景 随着城市的发展 人们对于生活水准的要求也越来越高 对于食物的品质需求也越来越高 我作为世界农业大国 农业的发展优势慢慢降低 智慧化农业将带来一次新的农业结构改革 农业的根本问题是效率不高 效益不强 效能不够 原因在于各生产要素
  • Python自动操作 GUI 神器——PyAutoGUI

    我们以前讲过怎样使用 Python 在浏览器中实现页面自动化操作 不管用哪种方式实现 都是通过定位页面中的元素来进行相应的操作 今天我们来聊一聊如何在桌面实现自动化操作 与浏览器页面自动化操作类似 桌面自动化操作也是需要定位鼠标在桌面的位置
  • map的常用用法详解

    头文件 include
  • 基于S函数的BP神经网络PID控制器及simulink仿真

    基于S函数的BP神经网络PID控制器及simulink仿真 文章目录 文章来源和摘要 S函数的编写格式和运行步骤 simulink模型结构 S函数模型初始化部分代码理解 S函数模型更新部分 S函数模型输出部分 S函数完整代码附录 文章来源和
  • 第三方网站/系统使用微信扫码登录

    微信扫码登录网站 微信开放平台 在我们做某个平台或者系统时 都需要有一个登录功能 传统的用户名 密码登录模式看起来似乎并没有手机扫码直接登录来的方便 那么在前端实现上 如何实现微信扫码登录呢 授权流程 第三方发起微信授权登录请求 微信用户允
  • 病例对照研究中,如何对年龄、性别、教育程度进行频数匹配?

    病例对照研究中 如何对年龄性别进行频数匹配 案例一 两组被试匹配 案例二 三组被试匹配 背景 使用默认匹配方法 衡量匹配效果 调整参数 其他匹配方法 参考 案例一 两组被试匹配 案例二 三组被试匹配 背景 我经常遇到的数据情形是 有两组被试
  • 实现【企业微信自建应用使用uni-app H5 开发】,并解决【uni-app集成微信JSSDK(wx、jWeixin)变量冲突问题】

    目录 企业微信的开发与调试 企业微信应用主体逻辑 登录 构造网页授权链接 企业微信SDK配置 demo案例 重要bug修复方法 总结 企业微信的开发与调试 在本地开发基础代码和UI 发布到测试环境进行测试 无法本地调试接口 因为web浏览器
  • AltiumDesigner15.1导出3D PDF 图文教程

    ALtiumDesigner更新的速度就一个字 快 不过从15 4 15出来 貌似很久都没有更新了 等了很久 今天终于出来了 O O哈哈 因为早就耳闻AD15 1会带有3D输出功能 能够直接输出到PDF 这个好玩的功能 怎么能错过 本文就是
  • 时序基本介绍——Jitter与Skew区别

    在时序分析当中 有些基础概念还是要认真了解的 时钟抖动 Clock Jitter 和时钟偏移 Clock Skew 经常容易混淆 时序设计中 对于时钟的要求是非常严格的 因此FPGA中也有专用的时钟管脚 对应着专用的时钟区域BUFG BUF
  • 技术工具类:IDEA集成SonarQube并使用

    1 安装插件 从 File gt Settings gt Plugins 搜索 sonar 如下图 直接点击安装即可 安装成功后重启IDEA 在Settings gt Tools 中找到 SonarLint 如下图 在Coniguratio
  • uni-app提供开箱即用的SSR支持

    SSR 服务端渲染 可以给SPA站点带来两大核心优势 更好的SEO 更快的首屏渲染 很多uni app开发者都在积极尝试SSR 但大多没入门就放弃了 原因在于SSR颇高的技术门槛 vue js 官网在介绍 SSR 章节时的描述如下 本指南将
  • Python pycharm(windows版本)部署spark环境

    一 部署本地spark环境 1 1 安装好JDK 下载并安装好jdk1 7 配置完环境变量 1 2 Spark环境变量配置 去http spark apache org downloads html网站下载相应hadoop对应的版本 我下载