网站首页 > 博客文章 正文
前言
- 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-11-01 我的第四款编辑器:微信公众号上用 Markdown 显示代码
- 2024-11-01 在 Github Action 中执行 C# 脚本
- 2024-11-01 粉丝投稿:白金3776Nice M尖钢笔评测
- 2024-11-01 优秀内容创作工具推荐:拖拽式排版工具、Markdown排版、封面制作
- 2024-11-01 做了N+1个企业项目之后,我总结了这些React必备插件
- 2024-11-01 Python界面库NiceGui 组件体验 之 1
- 2024-11-01 每日来一发之伪单测(伪单是什么意思)
- 2024-11-01 GitHub 润色框架,让你的GitHub不再索然无味
- 2024-11-01 5款工具,让你轻松创建并分享优美的项目源码
- 2024-11-01 Markdown比Word优势在哪?(markdown使用技巧)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)