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 字典(Dictionary)操作详解
Mar 11 Python
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 Python
python有证书的加密解密实现方法
Nov 19 Python
使用Django的模版来配合字符串翻译工作
Jul 27 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
Jun 14 Python
Python中函数eval和ast.literal_eval的区别详解
Aug 10 Python
pip install urllib2不能安装的解决方法
Jun 12 Python
Python+PyQt5实现美剧爬虫可视工具的方法
Apr 25 Python
Dlib+OpenCV深度学习人脸识别的方法示例
May 14 Python
python 批量解压压缩文件的实例代码
Jun 27 Python
python将类似json的数据存储到MySQL中的实例
Jul 12 Python
如何利用python和DOS获取wifi密码
Mar 31 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
swfupload 多文件上传实现代码
2008/08/27 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
js获取变量
2006/08/24 Javascript
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
js实现密码强度检验
2017/01/15 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
JavaScript中的Proxy对象
2020/11/27 Javascript
[01:14]DOTA2 7.22版本新增神杖效果展示(智力英雄篇)
2019/05/29 DOTA
Python获取网页上图片下载地址的方法
2015/03/11 Python
浅谈Python中的数据类型
2015/05/05 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
Python简单基础小程序的实例代码
2019/04/28 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
Java中compareTo和compare的区别
2016/04/12 面试题
Python是如何进行类型转换的
2013/06/09 面试题
高中生学习生活的自我评价
2013/10/09 职场文书
公开承诺书格式
2014/05/21 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
2015年七夕情人节感言
2015/08/03 职场文书
旷工检讨书大全
2015/08/15 职场文书
反邪教学习心得体会
2016/01/15 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL