背景:
项目需要对数仓千万级数据进行分析、算法建模。因数据安全,数据无法大批量导出,需在集群内进行分析建模,但CDH集群未安装python3 环境,需在无网情况下离线配置python3环境及一系列第三方库。
采取策略,使用外部联网linux环境创建python3虚拟环境,然后整体迁移集群环境。
文章目录
1. 外部机器和集群统一安装anaconda3环境官网下载地址
>> sh Anaconda3-2023.03-1-Linux-x86_64.sh
2. 外部机器安装pyhive、impyla、pyspark、ipykernel
>> conda create -n python3.7 python=3.7 # 创建py3.7虚拟环境,CDH集群spark2.4.0最高支持python3.7
>> conda activate python3.7 # 激活虚拟环境
>> pip install pyhive,impyla,pyspark # pip会自动安装thrif等依赖包,若报gcc等系统问题,具体问题百度分析
>> pip install ipykernel # 创建jupyter内核使用,使用jupyterlab远程进行数据分析
>> pip install scikit-learn、lightgbm # 安装其他需要第三方库
3. 环境迁移
外部机器/anaconda3/envs>> zip -r python3.7.zip ./python3.7 # 压缩整个虚拟环境
集群/anaconda3/envs>> unzip python3.7.zip # 大功告成
4. 问题解决(坏的解释器:没有那个文件或目录)
迁移后 >> ./pip 提示 找不到python解释器
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NTKhm2QL-1692673902815)(C:\Users\zy\Desktop\集群离线配置python3+jupyterlab+pyspark+impyla.assets\image-20230801101207769.png)]](https://i-blog.csdnimg.cn/blog_migrate/ccec57c17cd50892e390b9144f6f5e00.png)
迁移后 ipykernel 提示找不到python解释器
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QvUlMG9n-1692673902816)(C:\Users\zy\Desktop\集群离线配置python3+jupyterlab+pyspark+impyla.assets\image-20230815102600598.png)]](https://i-blog.csdnimg.cn/blog_migrate/947556fa825fba748947d825a889df08.png)
解决:
进入envs/python3.7/bin 下,修改pip、pip3、ipykernel等命令内容,将第一行改为集群python对应路径。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jGdIrACZ-1692673902816)(C:\Users\zy\Desktop\集群离线配置python3+jupyterlab+pyspark+impyla.assets\image-20230801101924909.png)]](https://i-blog.csdnimg.cn/blog_migrate/9b79c46f556f7f4b8d1251cee2b51e84.png)
5. jupyterlab 内核生成
#1 激活、退出虚拟环境

文章讲述了在CDH集群中,由于数据安全限制不能直接导出数据,如何在无网络的情况下通过在外部机器创建Python3虚拟环境,安装必要的库如pyhive、impyla和pyspark,然后将环境迁移至集群,解决权限问题,最终实现对千万级数据的离线分析和模型构建的过程。
最低0.47元/天 解锁文章
849

被折叠的 条评论
为什么被折叠?



