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搭建微信公众平台
Feb 16 Python
详解Python异常处理中的Finally else的功能
Dec 29 Python
Python中应该使用%还是format来格式化字符串
Sep 25 Python
Python 实现数据结构-堆栈和队列的操作方法
Jul 17 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
Aug 23 Python
手写一个python迭代器过程详解
Aug 27 Python
python实现多进程按序号批量修改文件名的方法示例
Dec 30 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
Tensorflow加载Vgg预训练模型操作
May 26 Python
如何利用python正则表达式匹配版本信息
Dec 09 Python
Python 实现二叉查找树的示例代码
Dec 21 Python
Python用requests库爬取返回为空的解决办法
Feb 21 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/08/05 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
2019/09/26 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
JavaScript Eval 函数使用
2010/03/23 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
jQuery动态地获取系统时间实现代码
2013/05/24 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
2016/12/27 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
Node.js实现发送邮件功能
2017/11/06 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
python在控制台输出进度条的方法
2015/06/20 Python
简单解决Python文件中文编码问题
2015/11/22 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
简单了解python PEP的一些知识
2019/07/13 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
智能钱包:Ekster
2019/11/21 全球购物
养成教育经验材料
2014/05/26 职场文书
供用电专业求职信
2014/07/07 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
宾馆客房管理制度
2015/08/06 职场文书
法院执行局工作总结
2015/08/11 职场文书
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis