PyCharm搭建Spark开发环境的实现步骤


Posted in Python onSeptember 05, 2019

1.安装好JDK

下载并安装好jdk-12.0.1_windows-x64_bin.exe,配置环境变量:

  • 新建系统变量JAVA_HOME,值为Java安装路径
  • 新建系统变量CLASSPATH,值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(注意最前面的圆点)
  • 配置系统变量PATH,添加 %JAVA_HOME%bin;%JAVA_HOME%jrebin

在CMD中输入:java或者java -version,不显示不是内部命令等,说明安装成功。

2.安装Hadoop,并配置环境变量

下载hadoop:https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

PyCharm搭建Spark开发环境的实现步骤

  • 解压hadoop-2.7.7.tar.gz特定路径,如:D:\adasoftware\hadoop
  • 添加系统变量HADOOP_HOME:D:\adasoftware\hadoop
  • 在系统变量PATH中添加:D:\adasoftware\hadoop\bin
  • 安装组件winutils:将winutils中对应的hadoop版本中的bin替换自己hadoop安装目录下的bin

3.Spark环境变量配置

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

  • 下载对应hadoop版本的spark:http://spark.apache.org/downloads.html
  • 解压文件到:D:\adasoftware\spark-2.4.3-bin-hadoop2.7
  • 添加PATH值:D:\adasoftware\spark-2.4.3-bin-hadoop2.7\bin;
  • 新建系统变量SPARK_HOME:D:\adasoftware\spark-2.4.3-bin-hadoop2.7;

4.下载安装anaconda

anaconda集成了python解释器和大多数python库,安装anaconda 后不用再安装python和pandas numpy等这些组件了。下载地址。最后将python加到path环境变量中。

5.在CMD中运行pyspark,出现类似下图说明安装配置正常:

PyCharm搭建Spark开发环境的实现步骤

出现这种warning是因为JDK版本为12,太高了,但是不影响运行。没有影响。

6.在pycharm中配置spark

打开PyCharm,创建一个Project。然后选择“Run” ->“Edit Configurations”?>点击+创建新的python Configurations

PyCharm搭建Spark开发环境的实现步骤

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

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

PyCharm搭建Spark开发环境的实现步骤

选择 File->setting->你的project->project structure

右上角Add content root添加:py4j-some-version.zip和pyspark.zip的路径(这两个文件都在Spark中的python文件夹下)

保存即可

7.测试是否配置成功,程序代码如下,创建一个python程序放进去就可以:

import os
import sys

# Path for spark source folder
os.environ['SPARK_HOME'] = "D:\adasoftware\spark"

# Append pyspark to Python Path
sys.path.append("D:\adasoftware\spark\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"就说明环境已经可以正常执行。

PyCharm搭建Spark开发环境的实现步骤

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的Flask框架中集成CKeditor富文本编辑器的教程
Jun 13 Python
简单谈谈python中的Queue与多进程
Aug 25 Python
20招让你的Python飞起来!
Sep 27 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
Python OOP类中的几种函数或方法总结
Feb 22 Python
Pycharm如何打断点的方法步骤
Jun 13 Python
python实现复制大量文件功能
Aug 31 Python
selenium 多窗口切换的实现(windows)
Jan 18 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
Jun 18 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
Oct 15 Python
基于Python实现粒子滤波效果
Dec 01 Python
5分钟快速掌握Python定时任务框架的实现
Jan 26 Python
浅谈Python_Openpyxl使用(最全总结)
Sep 05 #Python
python实现人工智能Ai抠图功能
Sep 05 #Python
深入了解Python在HDA中的应用
Sep 05 #Python
python urllib爬虫模块使用解析
Sep 05 #Python
详解Python3 pandas.merge用法
Sep 05 #Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
Sep 05 #Python
python爬取Ajax动态加载网页过程解析
Sep 05 #Python
You might like
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
ThinkPHP分页实例
2014/10/15 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
2019/03/30 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
PHP多进程简单实例小结
2019/11/09 PHP
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
noty ? jQuery通知插件全面解析
2016/05/18 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
2016/07/04 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
Python实现Linux下守护进程的编写方法
2014/08/22 Python
python使用matplotlib绘制柱状图教程
2017/02/08 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
TensorFlow损失函数专题详解
2018/04/26 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
Python partial函数原理及用法解析
2019/12/11 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
2020/06/29 Python
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
益模软件Java笔试题
2012/03/27 面试题
高中体育教学反思
2014/01/29 职场文书
医药营销个人求职信
2014/04/12 职场文书
解除财产保全担保书
2014/05/20 职场文书
官僚主义现象查摆问题整改措施
2014/10/04 职场文书
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js
gateway网关接口请求的校验方式
2021/07/15 Java/Android