INFO-python/pysaprk环境对接
更新时间: 2024-12-04 14:00:21
阅读 6942
INFO-python/pysaprk环境对接
适用模块
离线开发具体说明
如果客户有额外的依赖包需求,需由客户自行提供相应的conda打包文件,网易侧负责配置对接使用具体说明
中台对接python conda 虚拟环境使用示例
场景一、中台环境部署python环境1、采用conda 构建 python虚拟环境
a、在azkaban exec节点上执行以下操作,用azkaban 运维账号执行 (目的是使安装的目录有读取权限)
b、执行 curl -k https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh > Miniconda3-py39_4.9.2-Linux-x86_64.sh
c、执行安装命令 bash Miniconda3-py39_4.9.2-Linux-x86_64.sh 设置安装目录为/usr/easyops/miniconda3
d、conda创建虚拟环境,并安装必要包
注释:
指定python=3.9 不然可能会在后续 conda pack时失败(小版本会随时间变化,比如3.9.18 \ 3.9.17)
部署目录授权azkaban 授权并切换azkaban 账号执行后续操作
初始化环境变量:source /usr/easyops/miniconda3/etc/profile.d/conda.sh
安装虚拟化环境:conda create -y -n pyspark_env -c conda-forge pyarrow pandas conda-pack python=3.9
2、配置mammut
配置样例
activate_cmd样例 . /usr/easyops/miniconda3/etc/profile.d/conda.sh && conda activate pyspark_env (注意:符号 . 后需要一个空格)
执行conda env list, conda create 命令-n 参数值pyspark_env 对应的路径
deactivate_cmd:conda deactivate 固定内容
version:执行conda activate pyspark_env进入环境后执行 python --version
3、同步重启mammut、azkaban 服务
场景二、对接其他环境已打包的虚拟环境
1、conda 导出包拷贝到azkaban执行节点
解压到指定的部署目录,比如 /usr/easyops/pyspark_env,该目录需提前创建并给azkaban用户授权
tar zxvf pyspark_env.tar.gz -C /usr/easyops/pyspark_env/
2、配置mammut
配置样例
env_path:包解压的目标路径如:/usr/easyops/pyspark_env/
activate_cmd 例如:source ${env_path}/bin/activate
deactivate_cmd 例如:source ${env_path}/bin/deactivate
version:执行source ${env_path}/bin/activate 后执行 python --version
3、同步重启mammut、azkaban 服务
场景三、新版pysaprk使用示例
注:该环境使用的压缩包可使用方案一打包的环境,或方案二其他环境打包的环境、或EasyData-V8.0-Update01升级包目录带的
1、mammut新增配置组以及配置如下:
2、同步重启mammut、azkaban 服务,平台验证
3、验证示例:代码见本文附件1
场景四、旧版pysaprk使用示例
1、准备python环境
参照场景一或场景二 生成python虚拟环境
2、打包环境 (建议tar.gz格式)
切换至anaconda3/envs目录下
示例:tar -zcvf pyspark3.6.tar.gz pyspark3.6
3、上传环境至hdfs
文件比较大,无法通过猛犸的web页面上传,只能通过hadoop客户端上传
hdfs dfs -put pyspark3.6.tar.gz /user/项目名/xxx/
4、配置pyspark任务
如下所示将传参信息打印并查询hive表数据 验证示例:代码见本文附件2:
spark配置参数说明(需要传递给spark的参数需要设置前缀conf.):
conf.spark.yarn.dist.archives=hdfs://easyops-cluster/user/bdms/pyspark3.6.tar.gz#envs
实际压缩包名称根据自己打包环境决定
压缩的文件会被提取到executor到工作目录下面去,后面到#envs表示,这个文件被解压成到文件名称
conf.spark.yarn.appMasterEnv.PYSPARK_PYTHON=envs/pyspark3.6/bin/python3.6
指定python的环境
作者:林帅
文档反馈
以上内容对您是否有帮助?