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()

运行结果如下:

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/913573.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

virtualBox安装拓展包extension pack失败的超级详细解决办法

virtualBox安装拓展包extension pack时,网上的博主们都说直接进官网下载包,安装就行。下载网站是 https://www.virtualbox.org/wiki/Downloads 但是!!!!! 默认下载的是最新版本的包&#xff0c…

基于标签相关性的多标签学习

基于标签相关性的多标签学习 论文概述什么是多标签学习论文贡献 算法流程挖掘“主题“——提取标签相关性训练 M T M_T MT​模型——拟合{特征集, 主题集合}用标记相关性扩增数据集再次训练拟合 M M M模型——对真实帕金森病例进行筛查 实验结果核心代码复现main.py文件multi_l…

阿里公告:停止 EasyExcel 更新与维护

最近,阿里发布公告通知,将停止对知名 Java Excel 工具库 EasyExcel 的更新和维护。EasyExcel 由阿里巴巴开源,作者是玉箫,在 GitHub 上拥有 30k stars、7.5k forks 的高人气。 据悉,EasyExcel 作者玉箫去年已从阿里离…

稳恒磁场(2)

物理概念 电流元 IdL要足够小 物理理论 毕奥——萨伐尔定律 电流元在空间产生的磁场,磁感应强度与电流I长正比,与半径的平方成反比 后由拉普拉斯总结得出数学表达式: 其中 ,μ0 4π*10^-7 N*A^-2 , r^为r反向上…

C语言 | Leetcode C语言题解之第553题最优除法

题目: 题解: #define MAX_STR_LEN 64char * optimalDivision(int* nums, int numsSize) {char * res (char *)malloc(sizeof(char) * MAX_STR_LEN);if (numsSize 1) {sprintf(res, "%d", nums[0]);return res;}if (numsSize 2) {sprintf(r…

IntelliJ+SpringBoot项目实战(二)---构建项目多层级模块

本人上一篇文件介绍了使用IntelliJ开发工具构建新的SpringBoot项目。本节介绍SpringBoot项目的模块、子模块如何搭建。 首先我们根据项目的需求,可以将在顶级工程下创建多个模块,已经不同模块下还有子模块。 仍使用上节的OpenJWeb项目作为示例&#xff0…

达梦数据库安装与初始化超教程

达梦数据库(DM Database)作为中国自主研发的数据库系统,因其高效的性能和稳定的支持广泛应用于政府、金融、能源等关键领域。面对日益增长的数据管理需求,如何快速安装与初始化达梦数据库成了许多新手的第一步。这篇教程&#xff…

Mac中禁用系统更新

Mac中禁用系统更新 文章目录 Mac中禁用系统更新1. 修改hosts,屏蔽系统更新检测联网1. 去除系统偏好设置--系统更新已有的小红点标记 1. 修改hosts,屏蔽系统更新检测联网 打开终端,执行命令: sudo vim /etc/hosts127.0.0.1 swdis…

黑芝麻智能:技术+生态+量产三大先发优势,领跑智驾“芯”成长

黑芝麻智能:定位智驾芯片供应商,卓越研发团队打造强劲产品力。 1)公司定位:Tier2 芯片供应商,提供车规级计算 SoC 及基于 SoC 的智能汽车解决方案。2)产品结构:公司具有两个车规级 SoC 系列——…

Yolo11改进策略:上采样改进|CARAFE,轻量级上采样|即插即用|附改进方法+代码

论文介绍 CARAFE模块概述:本文介绍了一种名为CARAFE(Content-Aware ReAssembly of FEatures)的模块,它是一种用于特征上采样的新方法。应用场景:CARAFE模块旨在改进图像处理和计算机视觉任务中的上采样过程&#xff0…

一文了解git TAG

Git标签(Tag)用于为 Git 历史中的特定提交打上标记,通常用于标识重要的节点,比如发布版本。标签让开发者可以很方便地对特定版本进行引用,且不会随时间变动。Git 中的标签分为两种:轻量标签和附注标签。 …

IRF堆叠基本配置

IRF(堆叠配置) IRF(IntelligentResilientFramework,智能弹性架构)是H3C自主研发的软件虚拟化堆叠技术。它的核心思想是将多台设备通过IRF物理端口连接在一起,进行必要的配置后,虚拟化成一台“分布式设备”。使用这种虚…

渗透测试(socket,namp,scapy)

socket:可以用来实现不同虚拟机或者不同计算机之间的通信。 socket常用函数: sock.bind(host,port) //host可接受client范围,以及连接的端口 sock.listen()//sever开启监听连接 sock.accpet()//返回 sock,addr 用来接受和发送数据 addr…

组态软件的概念

一、前言 组态软件是一种用于设计、配置和管理自动化系统的软件。它可以帮助用户快速地创建和修改自动化系统的界面、逻辑和通信功能,从而提高生产效率和质量。 二、组态软件的定义 组态软件是一种集成开发环境,用于设计、配置和管理自动化系统。它通…

《教你用Python写出浪漫的表白代码》

《教你用Python写出浪漫的表白代码》最简单的教程,亲测可用 1. 引言 你有没有想过用代码来表达爱意?今天我将带你用Python实现一个浪漫的表白代码!代码简单有趣,新手也能轻松上手。让我们一起用Python绘制出心形图案吧。 2. 环…

Elmo驱动器上位机软件的详细配置

续接上文,本文讲解Elmo驱动器上位机软件更详细的配置,重点关注,在电机的位置受到约束的情况下,完成驱动器的参数整定过程,以及一些调试方法 一 硬件介绍 本文使用的是另一套设备,假设电机的位置是受到约束的 1 编码器规格书 编码器已知信息是 :读数头是26位的,通讯…

带webui的免费SSL证书管理工具

一、功能 内置 Lets encrypt/Google/ZeroSSL 接口,Google和ZeroSSL需要绑定EAB信息。EAB指引。内置 阿里云/腾讯云/Cloudflare/DNS.COM/DNS.LA/百度云 DNS解析接口。支持自定义DNS解析接口。支持一键部署(本地/FTP/SSH/宝塔/IIS)可纯前端生成CSR和私钥,…

Docker:镜像构建 DockerFile

Docker:镜像构建 DockerFile 镜像构建docker build DockerfileFROMCOPYENVWORKDIRADDRUNCMDENTRYPOINTUSERARGVOLUME 镜像构建 在Docker官方提供的镜像中,大部分都是基础镜像,他们只提供某个简单的功能,如果想要一个功能更加丰富…

如何提升自媒体发稿效果,必须掌握的几个技巧

在自媒体时代,发稿效果直接关系到内容的传播力与影响力。为了提升自媒体发稿效果,有几个关键技巧是每位自媒体人必须掌握的。以下是对这些技巧的详细阐述: 一、明确受众定位 首先,自媒体人需要明确自己的受众群体。这包括受众的…

11.11不止今天,算力狂欢嗨到16号!

双十一狂欢不止今天,捷智算云服务平台算力狂欢直到16号! 双十一活动期间,用户注册,即可免费领取88元无门槛算力体验金和价值千元满减优惠券,优惠券数量多达16张! 优惠券适用于平台所有云主机容器&#xf…