编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

pyspark on jupyterlab环境搭建(pyspark指定python环境)

wxchong 2024-10-28 20:19:46 开源技术 53 ℃ 0 评论

前言

  • 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~~~

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表