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.mzph.cn/diannao/59579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习经典模型之ZFNet

1 ZFNet 1.1 模型介绍 ​ ZFNet是由 M a t t h e w Matthew Matthew D . Z e i l e r D. Zeiler D.Zeiler和 R o b Rob Rob F e r g u s Fergus Fergus在AlexNet基础上提出的大型卷积网络,在2013年ILSVRC图像分类竞赛中以11.19%的错误率获得冠军(实际…

LLMs之Calculate:利用大语言模型技术基于文本内容实现数字计算能力的简介、常用方法、代码实现之详细攻略

LLMs之Calculate:利用大语言模型技术基于文本内容实现数字计算能力的简介、常用方法、代码实现之详细攻略 导读:在基于大语言模型(LLM)技术实现数字计算能力的背景下,文本内容的理解和计算过程涉及多个领域的交叉技术,包括自然语言处理(NLP)、机器学习、以及数值计算。…

2024网盘搜索引擎合集推荐:高效搜索资源的利器

2024网盘搜索引擎合集推荐:高效搜索资源的利器 在这个信息爆炸的时代,找到合适的资源变得越来越重要。以下是一些网盘搜索引擎的推荐,它们可以帮助您快速找到所需的文件和资料。 咔帕搜索:简单高效的云盘搜索 网址:…

duxapp放弃了redux,在duxapp状态实现方案

全局状态 全局状态是一个很实用的功能,例如管理用户信息,组件间状态共享等功能都需要用到全局状态,react有很多成熟的全局状态管理工具,但是很多写起来太过麻烦,duxapp提供了几种应对不同场景的全局状态的方案&#xf…

最新榜单!国内免费好用的OA协同软件前十名

在现代企业管理中,OA(Office Automation)协同软件已成为提升工作效率、简化沟通流程的重要工具。OA协同软件的主要功能涵盖任务管理、文件共享、审批流程、日程安排等,从而帮助企业更高效地进行跨部门协作、信息传递和项目跟踪。在…

重塑消费观:破解生活需求与发展不平衡的密钥

在当前中国社会,人民日益增长的美好生活需要和不平衡不充分的发展之间的矛盾已成为主要挑战。这一矛盾的产生,源于中国特色社会主义进入新时代后,社会生产力水平的显著提升以及人民生活需求的深刻变化。 在追求经济持续发展的同时&#xff0c…

【计算机网络】TCP协议面试常考(一)

三次握手和四次挥手是TCP协议中非常重要的机制,它们在多种情况下确保了网络通信的可靠性和安全性。以下是这些机制发挥作用的一些关键场景: 三次握手的必要性: 同步序列号: 三次握手确保了双方的初始序列号(ISN&#…

Java自动点名器实现案例详解

Java自动点名器实现案例详解 在教学管理中,点名是一项重要的任务。随着技术的发展,使用编程语言实现自动化的点名器不仅可以提高效率,还能增加课堂的互动性和趣味性。本文将详细介绍三个案例,分别是简单随机点名器、带有权重的随…

揭秘规则引擎:如何实现多版本无感切换与数据源同步

在现代业务系统中,规则决策引擎能够自动化处理复杂的业务逻辑。为了满足不断变化的业务需求,同时确保系统运行的连续性和稳定性,在JVS规则引擎中提供了多版本无感发布和数据源变更日志同步功能。 多版本无感发布 多版本无感发布主要适用于已…

【Python3】【力扣题】409. 最长回文串

【力扣题】题目描述: (题意理解)统计如下: ① 字母个数本身是偶数。 ② 字母个数是奇数,统计奇数中的偶数部分,例如:字母个数为3,统计其中的2。 ③ 中间可以有一个奇数字母。即只要有…

Scala的属性访问权限(一)默认访问权限

//eg:银行账户存钱取钱 // 账户类: // -balance() 余额 // -deposit() 存钱 // -withdraw() 取钱 // -transfer(to:账户,amount:Dobule)转账 package Test1104 //银行账户class BankAccount(private var balance:Int){def showMoney():Unit {println(s"…

作为一个前端开发者 以什么步骤学习后端技术

作为一个前端开发者,学习后端技术可以按照以下步骤进行: 明确学习目标 确定方向:明确自己想学习的后端技术栈(如Node.js、Python、Java等)。 设定目标:短期目标(如完成一个简单的后端项目&…

mit6824-06-Raft学习记录01

文章目录 必要知识单点故障脑裂多数原则 近日开始学习分布式共识算法Raft,慢慢记录一些自己能看懂的东西。 优质博客: Raft原理详解 必要知识 单点故障 单点故障(single point of failure):服务器中某台机器出现故…

010 Editor下载安装和使用

010 Editor下载安装和使用 010 Editor(也称为 SweetScape 010 Editor)是一款功能强大的二进制文件编辑器和文本编辑器。它主要用于查看、编辑和分析各种二进制文件和文本文件,特别适用于处理数据恢复、磁盘编辑、编程和系统管理等领域。 1 …

每日一练 | DHCP Relay(DHCP 中继)

01 真题题目 DHCP Relay 又称为 DHCP 中继,下列关于 DHCP Relay 的说法正确的是(多选): A. DHCP 协议多采用广播报文,如果出现多个子网则无法穿越,所以需要 DHCP Relay 设备。 B. DHCP Relay 一定是一台交…

【安装教程】统信UOS1070上使用vsftpd服务上传下载文件

原文链接:【安装教程】统信UOS1070上使用vsftpd服务上传下载文件 Hello,大家好啊!今天带来一篇关于在统信UOS 1070上使用vsftpd服务实现加密文件上传和下载的文章。默认的FTP传输是不加密的,但在数据传输时,安全性尤为…

Linux之实战命令70:chcon应用实例(一百零四)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…

99.9%高质量Tick数据复盘回测ea必备工具:Tick Data Suite 使用教程

Tick Data Suite 是一款高质量的99.9% Tick 数据回测工具,功能强大,适用于进行EA回测。它具有以下主要优势:Tick 数据占用硬盘空间较小,可模拟滑点和实盘延时,还能设置持仓过夜费和交易手续费。Tick 数据来源多样&…

算法练习:1004. 最大连续1的个数 III

题目链接:1004. 最大连续1的个数 III。 题目要求,给定一个数组,这个数组里面只有0或1,然后计算有多少个连续的1的最大长度,同时给了一个条件就是,可以把k个0变成1,然后来计算长度。 暴力解法&a…

Unity网络开发基础(part5.网络协议)

目录 前言 网络协议概述 OSI模型 OSI模型的规则 第一部分 物理层 数据链路层 网络层 传输层 第二部分 ​编辑 应用层 表示层 会话层 每层的职能 TCP/IP协议 TCP/IP协议的规则 TCP/IP协议每层的职能 TCP/IP协议中的重要协议 TCP协议 三次握手 四次挥手 U…