百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

spark+python环境搭建

csdh11 2025-02-27 14:48 28 浏览

最近项目需要用到spark大数据相关技术,周末有空spark环境搭起来...

目标

spark,python运行环境部署在linux服务器
个人通过vscode开发
通过远程python解释器执行代码

准备

腾讯云服务器一台
个人笔记本一台
vscode
spark3.2,anaconda3,jdk1.8


spark安装


# 下载spark安装包
wget https://dlcdn.apache.org/spark/spark-3.2.1/spark-3.2.1-bin-hadoop3.2.tgz

# 创建安装目录/export/server
mkdir /export/server

# 安装包解压
tar -zxvf spark-3.2.1-bin-hadoop3.2.tgz -C "/export/server"

# 创建spark安装目录软连接
ln -s /export/server/spark-3.2.1-bin-hadoop3.2/ /export/server/spark

# 进入spark可执行程序目录,执行pyspark
cd /export/server/spark/bin; ./pyspark => JAVA_HOME is not set
提示jdk未安装,下一步进行jdk安装...


jdk安装


# 将准备好的jdk安装包jdk-8u161-linux-x64.tar.gz解压至/export/server目录
tar -zxvf /home/dev/jdk-8u161-linux-x64.tar.gz -C /export/server

# 创建jdk安装目录软连接
ln -s jdk1.8.0_161/ jdk8

# 添加JAVA_HOME环境变量
vi /etc/profile,添加
 export JAVA_HOME=/export/server/jdk8
 export PATH=$PATH:$JAVA_HOME/bin

# 再次执行/export/server/spark>bin/pyspark => env: python3: No such file or directory
提示python3没有安装,下一步进行python3安装...


Anaconda3安装(即python)


# 下载anaconda3安装包
wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh

# 安装anoconda3
sh Anaconda3-2022.05-Linux-x86_64.sh
在安装过程中的交互提示依次输入: enter => yes => /export/server/anaconda3 => yes
直到安装完成

# 重新登录终端看见(base)开头表示安装成功

# vi /etc/profile,添加
 export PYSPARK_PYTHON=/export/server/anaconda3/bin/python

# 再次执行/export/server/spark>bin/pyspark => pyspark启动成功,进入交互页面

# 输入python测试代码:
>>>
>>> sc.parallelize([1,2,3,4,5]).map(lambda x: x+1).collect()
[2, 3, 4, 5, 6] #运行结果

# pyspark运行时,在新开的终端检查4040端口监听情况
netstat -anp|grep 4040
tcp6 0 0 :::4040 :::* LISTEN -
每一个Spark程序在运行的时候, 会绑定到Driver所在机器的4040端口上.
如果4040端口被占用, 会顺延到4041...,可通过浏览器访问 4040端口

验证


# 通过spark-submit执行.py脚本,执行官方sample:
/export/server/spark>bin/spark-submit \
/export/server/spark/examples/src/main/python/pi.py 10

# 自定义脚本helloworld.py:
print("hello,world!")

# 通过spark-submit执行
/export/server/spark>bin/spark-submit /export/demo/helloworld.py
hello,world!  # 输出


PySpark库安装


conda create -n pyspark python=3.9 #创建虚拟环境pyspark
conda activate pyspark #切换虚拟环境为pyspark

# 检查虚拟环境pyspark的python解释器路径
type python => python is /export/server/anaconda3/envs/pyspark/bin/python

vi /etc/profile编辑
PYSPARK_PYTHON=/export/server/anaconda3/envs/pyspark/bin/python

pip install pyspark -i https://pypi.tuna.tsinghua.edu.cn/simple #安装PySpark

# 验证PySpark
/export/server>python
>>> import pyspark  # import pyspark不报错,表示pyspark库安装成功


本地vscode开发远程代码、使用远程解释器执行配置


本地免密访问服务器配置:将本地的公钥(C:\\Users\\your account\\.ssh\\id_rsa.pub)内容
配置在需要免密访问的linux服务器用户的$HOME/.ssh/authorized_keys文件中

vscode安装remote development插件,重启vscode

vscode添加远程ssh targets:
a) 点击ssh targets "+"
b) 在弹出框输入 ssh username@ip 回车
c) 在弹出的下拉项中选择 C:\\Users\\your account\\.ssh\\config
d) 编辑config文件
    Host xxx   #无需编辑
    HostName xxx  #无需编辑
    User xxx #无需编辑
    ForwardAgent yes  # 需要新增
    IdentityFile C:\\Users\\your account\\.ssh\\id_rsa  #需要新增
 
vscode安装python插件

vscode添加远程python解释器:
a) Ctrl + Shift + p打开命名面板
b) 输入Python: Select Interpreter选择解释器
c) 输入远程python解释器路径: /export/server/anaconda3/envs/pyspark/bin/python

vscode开发,远程执行验证


vscode选择远程服务器打开目录
vscode中新建helloworld.py文件,并录入print("hello,world!")
vscode中执行helloworld.py#使用的是远程解释器
vscode提升缺少package,linux服务安装python包:
pip install jupyter notebook -i https://pypi.tuna.tsinghua.edu.cn/simple
在vscode中重新运行helloworld.py运行成功


完成,以后就可以开心地编写pyspark代码了,再也不担心本机卡卡卡了(*_*),附完成图一张:

相关推荐

全能硬件大师AIDA64 v4.60 最新绿色版下载

IT之家(www.ithome.com):全能硬件大师AIDA64v4.60最新绿色版下载今天,国外FinalWire公司正式发布全能系统硬件大师AIDA64v4.60最新版。本次新版加入14款...

2023年4款Mac软件推荐,绝不失望(mac2020i3)

1.VDown-免费下载视频是最近mac上出现的免费的视频下载软件,支持超过900多个站点,虽然看上去支持的站点略少于Downie,但是熟悉的网站B站,Youku全部都有,国外的站点,只要有办法访问...

实验设计和数据分析必不可少的Design-expert,谁还不会用呢?

Design-Expert软件介绍...

关于视频格式的那些事儿(视频格式作用)

闲暇之余,相信很多人的选择就是看视频。电视剧、综艺、手机短视频,总有一款适合你。然而播放这些视频时,你是否注意到了文件名后各种各样的后缀名了呢?是否会好奇为什么会存在这么多视频格式?不同的格式是不是影...

机器人学习也要提速提质!智元机器人发布首个通用具身基座大模型

去年已实现量产近千台的人形机器人公司智元机器人再度对外宣布重磅消息。3月10日,该公司正式发布首个通用具身基座大模型,即智元启元大模型(GenieOperator-1)。“GO-1大模型借助人类和多...

软网推荐:硬盘管理用好Macrorit Partition Expert

平时我们经常需要对硬盘进行管理,比如为了释放空间,需要将隐藏分区删除并重建分区;出于隐私保护,需要彻底删除硬盘分区上的数据;硬盘出现坏道需要将其屏蔽等等。诸如此类的操作,现在借助免费且图形化操作的分区...

Design-Expert 12.0 安装教程(附安装包下载)

Design-Expert12.0软件介绍是一款由Stat-EaseInc开发的专用于执行实验设计(DOE)的软件。它提供比较测试、筛选、表征、优化、稳健的参数设计、混合物设计和组合设计等功能,并...

不用在PLC内编程,实现西门子与罗克韦尔(AB)PLC之间数据通讯

巨控NET400数据网关支持多种PLC之间、PLC与智能仪表之间多对多通讯,支持以太网,串口设备混合数据交换;无需PLC内编程开发,只需在智能网关的参数管理软件上配置数据的起始地址和数量即可,支持热插...

S7-1500PLC做OPC UA通信服务器(s7-1200 opc ua)

OPCUA概述OPCUA是一项开放标准,适用于从机器到机器间(M2M)的水平通信和从机器直到云端的垂直通信。该标准独立于供应商和平台,支持广泛的安全机制,并且可以与PROFINET共享同一工...

WINCC配置OPC UA服务器的步骤和故障解决

WINCC配置OPCUA服务器的步骤和故障解决本次配置实例的环境:在同一局域网内的两台计算机,均为windows7SP1系统一台计算机安装wincc7.4,并建立项目,项目在运行状态一台计算机安...

视频格式在线转换,五种超实用的视频格式转换工具!

视频内容无处不在,从教育课程到娱乐电影,从社交媒体分享到在线会议,视频已成为我们日常生活中不可或缺的一部分。然而,不同的设备和平台支持的视频格式各异,会导致视频文件在某些设备上无法播放。因此,掌握视频...

支持裸眼3D:长虹X1手机/全新CHIQ电视发布

IT之家讯10月16日消息国产传统家电品牌长虹此前也一直有智能手机产品,但关注度并不高。今天下午,长虹举行发布会,发布了两款以裸眼3D技术为卖点的产品,分别为长虹X1手机和全新CHIQ曲面电视。长...

h265和h264有什么区别(h265和h264有什么区别)

目前很多摄像机采用了H.265的编码标准,H.264编码的摄像机逐渐减少,为什么H.265会流行?H.264和H.265有何不同?一、什么是H.265...

中文白皮书:面向视频编解码器和图形引擎的前沿多媒体方案 WP497

该白皮书探讨了ZynqUltraScale+MPSoC的多媒体功能。MPSoC基于Zynq-7000SoC,包括一个可编程逻辑(PL)的桥接处理系统(PS),但它在ZynqUltr...

科达NVR家族换新装:推出首款通用型H.265+4K NVR

近期,科达推出业内首款通用型H.265+4KNVR——NVR1821,吹响NVR家族全面升级的号角。据了解,保持原有通用型产品“高性价比”定位的基础上,全新NVR1821系列增加了4路4K解码+1路...