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基于回溯法子集树模板解决野人与传教士问题示例
Sep 11 Python
python实现决策树分类算法
Dec 21 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
May 24 Python
Django实现登录随机验证码的示例代码
Jun 20 Python
在Python中append以及extend返回None的例子
Jul 20 Python
python模拟预测一下新型冠状病毒肺炎的数据
Feb 01 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
Mar 14 Python
python实现在线翻译
Jun 18 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
Jun 24 Python
django 实现后台从富文本提取纯文本
Jul 02 Python
3分钟看懂Python后端必须知道的Django的信号机制
Jul 26 Python
python读取excel数据绘制简单曲线图的完整步骤记录
Oct 30 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图片加水印原理(超简单的实例代码)
2013/01/18 PHP
php对象在内存中的存在形式分析
2015/02/03 PHP
PHP中异常处理的一些方法整理
2015/07/03 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
2016/01/07 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
PHP7变量处理机制修改
2021/03/09 PHP
Javascript valueOf 使用方法
2008/12/28 Javascript
js实现div的切换特效上一个下一个
2014/02/11 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
JavaScript中的标签语句用法分析
2015/02/10 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
2015/03/01 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
JavaScript设计模式开发中组合模式的使用教程
2016/05/18 Javascript
Ext JS框架程序中阻止键盘触发回退或者刷新页面的代码分享
2016/06/07 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
js array数组对象操作方法汇总
2019/03/18 Javascript
vue使用axios实现excel文件下载的功能
2020/07/16 Javascript
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
使用Python装饰器在Django框架下去除冗余代码的教程
2015/04/16 Python
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
Python 通配符删除文件的实例
2018/04/24 Python
Python实现ping指定IP的示例
2018/06/04 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
CSS3实现文字波浪线效果示例代码
2016/11/20 HTML / CSS
html5使用canvas画一条线
2014/12/15 HTML / CSS
利用指针变量实现队列的入队操作
2012/04/07 面试题
学校招生宣传广告词
2014/03/19 职场文书
党员创先争优公开承诺书
2014/03/28 职场文书
建房协议书
2014/04/11 职场文书
职位说明书范文
2014/05/07 职场文书
手机被没收的检讨书
2014/10/04 职场文书
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android