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

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 os

if __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,SparkConf

if __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.kler.cn/a/383792.html

相关文章:

  • Android CCodec Codec2 (二十)C2Buffer与Codec2Buffer
  • 还在担心Mac卸载不干净?XApp帮你干净完成卸载
  • 【stm32】RTC时钟的介绍与使用
  • 删除 需要来自XXXX的权限才能对此文件夹进行更改 文件的解决办法
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
  • Ubuntu18.04更换PREEMPT RT内核
  • 【Pytorch】基本语法
  • ssm052游戏攻略网站的设计与实现+vue(论文+源码)-kaic
  • Hyperledger Fabric 入门笔记(十六)Fabric V2.5 测试网络部署补充 - 手动从通道中移除组织
  • 使用C++和libcurl库实现HTTP请求(GET、POST、文件上传)
  • 微信小程序,点击bindtap事件后,没有跳转到详情页,有可能是app.json中没有正确配置页面路径
  • lua入门教程:数字
  • 后端:Spring、Spring Boot-配置、定义bean
  • 法语je vais bien
  • 6 张图带你深入了解 kube-scheduler
  • Minimalist GNU for Windows
  • WPS单元格重复值提示设置
  • 【NLP】使用 SpaCy、ollama 创建用于命名实体识别的合成数据集
  • OPC通信
  • 数据库操作(php+mysql)
  • React中常用的hook函数(二)——useMemo和useCallback
  • C++ 并发专题 - 条件变量的使用
  • 30个Python小游戏,初学者也能快乐敲代码啦(全部源码均可分享)
  • RabbitMQ 高级特性——消息分发
  • 11、文件系统和日志管理
  • uniapp radio单选