当前位置: 首页 > news >正文

PySpark本地开发环境搭建

一.前置事项

请注意,需要先实现Windows的本地JDK和Hadoop的安装。

二.windows安装Anaconda

资源:Miniconda3-py38-4.11.0-Windows-x86-64,在window使用的Anaconda资源-CSDN文库

右键以管理员身份运行,选择你的安装路径,但是请注意最好文件路径不要有空格或者中文,并且要自己找得到。

然后傻瓜式安装即可。

三.Anaconda中安装PySpark

进入黑窗口,操作如下:

进入base环境中:
conda activate base
安装pyspark [此时的pyspark和pyspark命令不是一会儿事儿]
pip install pyspark==3.1.2 -i https://pypi.tuna.tsinghua.edu.cn/simple/也可以使用阿里云的源:https://mirrors.aliyun.com/pypi/simple

中间如果遇到输入y或者n,就输入y

检查是否安装成功:

可以通过conda list或者pip list检查是否包含:py4j和 pyspark两个包。

 四.Pycharm中创建工程

如图:

大概介绍一下目前为止都在干什么:

Annaconda : 这个软件它包含了Python,并且可以安装各种环境,比如pyspark

PySpark : pip install pyspark==3.1.2 首先这个是pyspark的开发环境,这个软件安装在了 Annaconda里面,所以Annaconda 安装在了哪个盘,你这个pyspark 就在哪个盘。

pycharm: 这个是一个IDE工具,IDE工具关联了 本地的Annaconda,你这个Annaconda 里面有什么工具,pycharm 中就可以使用什么工具。

假如我没有在黑窗口安装这个pyspark ,就关联了pycharm ,请问,这个pycharm 如何才能有pyspark的环境?

那么继续,创建项目后来检查一下:

 看一下如下文件夹里面是否有py4j和pyspark:

有的话恭喜没有问题,那么继续下一步:

创建四个文件夹:
main :用于存放每天开发的一些代码文件
resources :用于存放程序中需要用到的配置文件
datas :用于存放每天用到的一些数据文件
test :用于存放测试时的一些代码文件 

 main和resource的创建后:

同理test选择test sources root,一样的操作不再放图了。

好的,那么准备工作已经完成,来写一个代码测试一下:

在main里新建一个Python文件然后:

import osif __name__ == '__main__':print("你好")os.environ['JAVA_HOME'] = 'D:/Program Files/Java/jdk1.8.0_271'# 配置Hadoop的路径,就是前面解压的那个路径os.environ['HADOOP_HOME'] = 'D:/hadoop-3.3.1/hadoop-3.3.1'# 配置base环境Python解析器的路径os.environ['PYSPARK_PYTHON'] = 'C:/ProgramData/Miniconda3/python.exe'  # 配置base环境Python解析器的路径os.environ['PYSPARK_DRIVER_PYTHON'] = 'C:/ProgramData/Miniconda3/python.exe'

请改成自己电脑里的配置。
获取SparkContext对象
Spark中的核心类,任何一个Spark的程序都必须包含一个SparkContext类的对象

import os
# 导入pyspark模块
from pyspark import SparkContext,SparkConfif __name__ == '__main__':# 配置环境os.environ['JAVA_HOME'] = 'D:/Program Files/Java/jdk1.8.0_271'# 配置Hadoop的路径,就是前面解压的那个路径os.environ['HADOOP_HOME'] = 'D:/hadoop-3.3.1/hadoop-3.3.1'# 配置base环境Python解析器的路径os.environ['PYSPARK_PYTHON'] = 'C:/ProgramData/Miniconda3/python.exe'  # 配置base环境Python解析器的路径os.environ['PYSPARK_DRIVER_PYTHON'] = 'C:/ProgramData/Miniconda3/python.exe'# 获取 conf 对象# setMaster  按照什么模式运行,local  bigdata01:7077  yarn#  local[2]  使用2核CPU   * 你本地资源有多少核就用多少核#  appName 任务的名字conf = SparkConf().setMaster("local[*]").setAppName("第一个Spark程序")# 假如我想设置压缩# conf.set("spark.eventLog.compression.codec","snappy")# 根据配置文件,得到一个SC对象,第一个conf 是 形参的名字,第二个conf 是实参的名字sc = SparkContext(conf=conf)print(sc)# 使用完后,记得关闭sc.stop()

运行结果如下:

可见非常明显的问题,每次都要写入这固定的环境配置,非常麻烦,那么我们将它模板化:

配置完成后记得是要点击:

再退出,否则没有保存的话肯定用不了,

然后再次进行新建的时候:

就可以直接选择我们的模板了。非常的方便。


http://www.mrgr.cn/news/67424.html

相关文章:

  • 项目_Linux_网络编程_私人云盘
  • [python] 如何debug python脚本中C++后端的core dump
  • 7.2 设计模式
  • vscode php Launch built-in server and debug, PHP内置服务xdebug调试,自定义启动参数配置使用示例
  • 微服务系列二:跨微服务请求优化,注册中心+OpenFeign
  • vue3 keep-alive简单说明
  • 华为机试HJ27 查找兄弟单词
  • 用接地气的例子趣谈 WWDC 24 全新的 Swift Testing 入门(三)
  • FQDN(Fully Qualified Domain Name,完全限定域名)是指能够唯一标识互联网上一台主机的域名
  • (61)使用LMS算法估计线性预测器并计算估计误差的MATLAB仿真
  • .NET 白名单文件通过反序列化执行系统命令
  • PN结特性及反向饱和电流与反向漏电流详解
  • 【机器学习】聚类算法分类与探讨
  • 1.6K+ Star!Ichigo:一个开源的实时语音AI项目
  • 边缘计算的基本概念与实践
  • 探讨Mysql和Redis的数据实时同步方案
  • Java之随机点名器(4)
  • LeetCode题练习与总结:O(1) 时间插入、删除和获取随机元素--380
  • IO模块赋能污水处理
  • 【Git】Liunx环境下Git的使用:“克隆,提交,推送“
  • 基于Jeecgboot3.6.3vue3的flowable流程增加online表单的审批支持(一)整体思路
  • linux arm板启动时间同步服务
  • ATom:来自中央大学高分辨率气溶胶质谱仪(HR-AMS)的 L2 测量数据
  • 青少年编程与数学 02-003 Go语言网络编程 14课题、Go语言Udp编程
  • qt QMovie详解
  • 【Windows】轻松搞定网络问题!掌握`ipconfig`与`ping`命令的奥秘