网站首页 > 开源技术 正文
前言
- pyspark是spark分布式计算python语言开发的类库,数据开发人员通过pyspark来使用spark进行计算;
- jupyerlab是jupyter的升级版本,基于jupyter notebook使得数据开发更方便;
- 下面基于已有的spark环境搭建pyspark on jupyterlab开发环境,构建自己的notebook开发环境~
- jupyterlab、pyspark安装都在spark所在linux服务器进行
jupyterlab安装
- jupyterlab package安装
pip install jupyterlab
pip show jupyterlab
Name: jupyterlab
Version: 4.2.5
- 配置文件生成
jupyter lab --generate-config
Writing default config to: /home/test/.jupyter/jupyter_lab_config.py
配置文件路径: $HOME/.jupyter/jupyter_lab_config.py
- 登录密码设置
jupyter lab password
提示输入两次密码
生成的密码文件: $HOME/.jupyter/jupyter_server_config.json
- 配置调整
c.ServerApp.ip='0.0.0.0' # 你的监听IP
c.ServerApp.port=1234 # 监听端口
c.ServerApp.allow_remote_access = True # 是否允许远程访问
c.ServerApp.password = <生成的密码> # 登录密码(将jupyter_server_config.json中hashed_password的值复制在这)
- 启动jupyter
# 默认启动
nohup jupyter lab &
# 启动时也可指定ip & port
nohup jupyter lab --port=8080 --ip='0.0.0.0' >> jupyter.log 2>&1 &
- 通过浏览器访问jupyterlab
访问地址 http:<主机>:<port>/,我这里是http://vm100:1234/,jupyterlab页面如下
- 测试jupyterlab使用
新建notebook,编写python查看版本代码,执行:
jupyterlab使用pyspark配置
- 安装pyspark
pip install pyspark
- 查看spark提供的py4j相关信息
# 切换到spark安装目录
cd /opt/module/spark-3.5.2-bin-hadoop3
# 查看py4j信息
ls python/lib/py4j-*-src.zip
python/lib/py4j-0.10.9.7-src.zip
- 环境变量配置
vi .bash_profile
export SPARK_HOME=/opt/module/spark-3.5.2-bin-hadoop3/
export PYSPARK_DRIVER_PYTHON=jupyter
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.9.7-src.zip:$PYTHONPATH
保存退出
- 环境变量生效
source .bash_profile
- 重启jupyterlab
ps -ef|grep 'jupyter-lab'
kill -9 <对应的pid>
# 重新启动jupyter-lab
nohup jupyter lab &
# 再次访问jupyter lab web UI
测试jupyterlab执行spark计算
from pyspark.sql import SparkSession
import os
# 创建spark session
spark = SparkSession \
.builder \
.appName("Python Spark SQL basic example") \
.master('local[*]') \
.getOrCreate()
# 读取spark examples中的people.json数据并显示
df = spark.read.json(f"file:///{os.environ['SPARK_HOME']}/examples/src/main/resources/people.json")
df.show()
总结
基于pyspark on jupyterlab来编写pyspark程序,都是基于web ui操作,且自带类似markdown的目录,非常nice~~~
猜你喜欢
- 2024-10-28 好家伙!在央视播出的战争片,观众全是差评,演技派也拯救不了?
- 2024-10-28 30s部署一个超好用的java开源博客
- 2024-10-28 Mac常用软件推荐(个人观点)(mac好用软件推荐)
- 2024-10-28 排版精美:提升阅读体验的关键(阅读 排版)
- 2024-10-28 6件非常nice的办公软件,你用过几款呢?
- 2024-10-28 Nicetools:定一个小目标,先做它个1000个工具
- 2024-10-28 macOS上有哪些独有的优质应用(macos有什么好玩的应用)
- 2024-10-28 推荐!powerNice Web版+桌面端软件,让文档编辑更简单
- 2024-10-28 定时备份mysql数据库(sqlyog定时备份数据库)
- 2024-10-28 15种常用的在线工具网站清单「值得收藏」
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)