【Pyspark】在jupyter中运行pyspark,且为yarn-client模式

1. 预备操作

已经有的环境包括:

  • spark 2.4.5 集群
  • anaconda
  • 虚拟环境python3.7 (由于集群spark环境为2.4.5,python版本必须<3.8)
  • 配置好$SPARK_HOME、$JAVA_HOME 环境变量

2. 本次操作

命令行操作:

# 查看并进入相应虚拟环境
conda info --envs
conda deactivate
conda activate caret

# 进入相应虚拟环境后,安装包
conda search pyspark #确认是否有相应版本
pip --default-timeout=100 install pyspark==2.4.5 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip --default-timeout=100 install findspark
pip show pyspark
pip install py4j


# 在~/.bashrc中加入以下
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH
export PYSPARK_PYTHON=python3 #使用python3,这里用的是虚拟环境中的python3
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook --ip=10.18.3.11 --no-browser --allow-root"

重新开启一个进程:

nohup jupyter-notebook --no-browser --ip=10.18.3.11 --port 8925 > jupyter.file 2>&1 &

在打开的jupyter中验证是否能连上集群:

这里提供2种方式:


# (1)用yarn模式
import findspark
findspark.init()
from pyspark import SparkContext
sc = SparkContext("yarn-client", "First App")



# (2)从表里读个数
from pyspark.sql import SparkSession
spark = SparkSession.builder.master("yarn").enableHiveSupport().appName("Correlation").getOrCreate()
#日志输出级别
spark.sparkContext.setLogLevel("Error")
#读取hive
one_day_ago='20220507'
data = spark.sql(""" SELECT  * FROM temp_exp20220620_tao_gmm_user_{}""".format(one_day_ago))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值