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 18 Python
windows上安装Anaconda和python的教程详解
Mar 28 Python
tensorflow实现KNN识别MNIST
Mar 12 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
Jul 06 Python
Python简单获取二维数组行列数的方法示例
Dec 21 Python
Python实现二叉树的常见遍历操作总结【7种方法】
Mar 06 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
Jun 19 Python
Python实现搜索算法的实例代码
Jan 02 Python
Python 将json序列化后的字符串转换成字典(推荐)
Jan 06 Python
python实现加密的方式总结
Jan 19 Python
Python尾递归优化实现代码及原理详解
Oct 09 Python
Django haystack实现全文搜索代码示例
Nov 28 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的autoLoad自动加载机制
2012/09/27 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
jQuery学习笔记之Helloworld
2010/12/22 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
2016/05/10 Javascript
AngularJS入门教程之更多模板详解
2016/08/19 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
JS中promise化微信小程序api
2018/04/12 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
详解vue-cli下ESlint 配置说明
2018/09/03 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
2019/08/15 Javascript
js如何验证密码强度
2020/03/18 Javascript
原生js实现随机点名
2020/07/05 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
原生JavaScript实现刮刮乐
2020/09/29 Javascript
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
python实现的jpg格式图片修复代码
2015/04/21 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
python库matplotlib绘制坐标图
2019/10/18 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
2020/05/07 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
mysql_pconnect()和mysql_connect()有什么区别
2012/05/25 面试题
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2015年度党员个人总结
2015/02/14 职场文书
基层组织建设年活动总结
2015/05/09 职场文书
vue实现移动端div拖动效果
2022/03/03 Vue.js
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js