CDH集群离线配置python3环境,并安装pyhive、impyla、pyspark

这篇具有很好参考价值的文章主要介绍了CDH集群离线配置python3环境,并安装pyhive、impyla、pyspark。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:

项目需要对数仓千万级数据进行分析、算法建模。因数据安全,数据无法大批量导出,需在集群内进行分析建模,但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解释器

CDH集群离线配置python3环境,并安装pyhive、impyla、pyspark,大数据,数据分析,python,开发语言

迁移后 ipykernel 提示找不到python解释器

CDH集群离线配置python3环境,并安装pyhive、impyla、pyspark,大数据,数据分析,python,开发语言

解决:

进入envs/python3.7/bin 下,修改pip、pip3、ipykernel等命令内容,将第一行改为集群python对应路径。

CDH集群离线配置python3环境,并安装pyhive、impyla、pyspark,大数据,数据分析,python,开发语言

5. jupyterlab 内核生成
#1 激活、退出虚拟环境
>> conda activate python3.7    [conda deactivate]

#2. 虚拟环境下
>> ipython kernel install --user --name=python3.7

#3. 重启jupyter-lab 查看即可
>> nohup ./jupyter-lab --allow-root > /data/xx/anaconda3/log.out &

# 备注:jupyterlab 服务由anaconda3主环境base创建
>> jupyter-lab --generate-config (配置远程访问)
>> vim jupyter_lab_config.py
'''
c.ServerApp.ip = '0.0.0.0'
c.ServerApp.port = 8888
c.ServerApp.passwd = 8888
c.ServerApp.notebook_dir = '/data/xx/anaconda3/data'
c.ServerApp.open_browser = False
c.NotebookApp.passwords = {
    'user1': 'sha1:user1_password_hash', # >> python -c "from notebook.auth import passwd; print(passwd())" 生成用户密码
    'user2': 'sha1:user2_password_hash',
    'user3': 'sha1:user3_password_hash'
}
'''

CDH集群离线配置python3环境,并安装pyhive、impyla、pyspark,大数据,数据分析,python,开发语言

6. pyhive、impyla连接测试
from pyhive import hive
from impala.dbapi import connect
from impala.util import as_pandas

## python 读取数仓第一种方式  hive:jbdc
# pyhive 连接
conn = hive.Connection(host='namenode',port=10000,database='库名')
cursor = conn.cursor()

# 执行查询
cursor.execute('desc user_info')
col_name = [i[0] for i in cursor.fetchall()]
cursor.execute('select * from user_info limit 2')
data = cursor.fetchall()
print(pd.DataFrame(data=data,columns=col_name))

# 关闭hive连接
cursor.close()
conn.close()

## python 读取数仓第二种方式  impala:jbdc
# 连接impala
conn = connect(host='namenode',port=21050,database='库名')
cursor = conn.cursor()

# 执行查询
cursor.execute('select * from user_info where name is not null')
data = as_pandas(cursor)

备注:使用pyhive和impyla 读取数据,还是读取到一台集群节点内存上,速度慢,占内存,且分析比较困难,适合小批量处理。如处理千万级数据,还是使用pyspark进行并行分析。

7. pyspark 对接CDH集群spark测试【pyspark版本要和集群CDH spark版本一致】
## python 分析大量数据 pyspark
import os
from pyspark import SparkContext,SparkConf
from pyspark.sql import SparkSession

import warnings
warnings.filterwarnings(action='ignore')

# 制定集群spark、hadoop家目录

os.environ['SPARK_HOME'] = '/opt/cloudera/parcels/CDH-6.3.4-1.cdh6.3.4.p0.6751098/lib/spark'
os.environ['HADOOP_CONF_DIR'] = '/opt/cloudera/parcels/CDH-6.3.4-1.cdh6.3.4.p0.6751098/lib/hadoop'
os.environ['PYSPARK_PYTHON'] = './py3/bin/python' 

parameters = [('spark.app.name','sklearn'),
              ('spark.yarn.dist.files','hdfs://namenode:8020/python3/python3.7.zip#py3')
             ('spark.master','yarn'),
            ('spark.submit.deploymode','client'),
             ]

conf = SparkConf().setAll(parameters)
#sc = SparkContext.getOrCreate(conf=conf)
spark = SparkSession.builder.config(conf=conf).enableHiveSupport().getOrCreate()
spark


CDH集群离线配置python3环境,并安装pyhive、impyla、pyspark,大数据,数据分析,python,开发语言
备注:一般会报
Permission denied: user=root, access=WRITE, inode=“/user/spark/applicationHistory”:spark:spark:drwxr-xr-x 权限错误,
这是因为写代码得用户时jupyter服务启动用户,而CDH 中hadoop、hive、spark 文件的用户分别为hdfs、hive、spark用户。

文章来源地址https://www.toymoban.com/news/detail-671548.html

到了这里,关于CDH集群离线配置python3环境,并安装pyhive、impyla、pyspark的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python3 安装、环境变量配置、PyCharm新建Python项目

    Pyhton官网下载最新稳定版的安装包:  找到合适的版本进行下载: 如果下载较慢,此处提供一个3.10.11的稳定版本的安装包: 链接:https://pan.baidu.com/s/16GnWjkGFuSfWfaI9UVX8qA?pwd=4u5o  提取码:4u5o  注意:此安装包解压后即可,不用安装程序! 解压或安装后的目录,可以看到对应的

    2024年02月13日
    浏览(61)
  • Windows中配置python3.11环境安装教程

    目录 一,下载python3.11         下载完成后自动弹出安装界面,我们直接选择lnstall Now安装路径,在安装时务必先把下方两个对勾打上。  二,到这个页面就成功安装了Python3.11  三,配置3.11环境  四,然后在Visual Studio Code里面配置3.11。 打开python官网:Welcome to Python.org ,

    2024年02月12日
    浏览(54)
  • 【环境配置】python离线安装opencv库

    opencv可以使用命令一键在线安装,但是因为网速和指定版本等原因经常出现各种问题。在这种情况下,先下载安装包,再离线安装是一种更稳定的选择。 1、首先点击此处,进入离线安装包界面,选择合适的安装包文件。 2、然后输入命令:pip install + 安装包路径,就可以快速

    2024年02月16日
    浏览(41)
  • 完全离线环境下安装配置Vscode Python开发环境及离线包文件的下载与安装实战

    一般在进行项目开发时,都是在有网络的环境下进行的,此时的开发工作,由于有网络的支持,我们需要什么安装包、模块、或者工具,下载安装比较方便,缺少依赖环境时,有些系统和安装包会自动下载补齐。但在一些特情况境下,需要配置完全独立于网络的开发环境,这

    2024年02月04日
    浏览(71)
  • 【Python】python3.7默认库安装源地址更改及opencv_python-3.4.2.16环境配置

    python官方各版本下载地址: 国内华为镜像 2、Python 第三方库国内镜像下载地址 python的默认镜像源 默认镜像源:https://pypi.python.org/simple 豆瓣 http://pypi.douban.com/simple/ 阿里云 http://mirrors.aliyun.com/pypi/simple/ 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple 中国科技大学 https://pypi.mirrors.ust

    2024年02月15日
    浏览(62)
  • CDH-CM大数据管理平台详解 附CDH离线安装包

    1、大数据时代的数据特点  一般认为,大数据主要具有 四方面的典型特征——规模性(Volume)、多样性(Variety)、高速性(Velocity)和价值性(Value), 即所谓的\\\"4V“。 volume(大量):目前处理的数据量基本为PB、EB级别 velocity(高速):在极短的一段时间内能产出大量数据(秒杀

    2024年02月08日
    浏览(52)
  • Cygwin 自制离线安装包 (bash+vim+python3.9) + 使用教程

    视图:完整 搜索需要安装的软件,例如: bash 搜索需要安装的软件,例如: vim 搜索需要安装的软件,例如: python3 需要安装的软件都找到之后,点击 “下一步” 打开方式1)在桌面找到如下图标 打开方式2) 打开方式3)

    2024年02月22日
    浏览(49)
  • 离线升级Python3.8.16 及pip3(包含全部安装包)

    官网:https://www.python.org/downloads/下载安装包,已在centos7.1-7.8测试,运行正常 1、解压 tar zxvf Python-3.8.10.tgz 2、切换目录 cd Python-3.8.16 3、配置安装参数 find / -name python3 不能覆盖原有python3的目录 ./configure --prefix=/usr/local/python38/ 4、编译安装 make make install 5、配置系统环境变量 vi

    2024年02月08日
    浏览(46)
  • 使用 Sealos 在离线环境中光速安装 K8s 集群

    作者:尹珉。Sealos 开源社区 Ambassador,云原生爱好者。 在当今快节奏的软件交付环境中,容器化交付已经成为许多企业选择的首选技术手段。在可以访问公网的环境下,容器化交付不仅能够提高软件开发和交付的效率,还能够帮助企业实现快速迭代和持续交付。 然而,在离

    2024年02月10日
    浏览(37)
  • Python3(一):环境配置

    因为生产项目需要一些监控告警,并且要尽量在不修改项目代码的前提下,所以选择了Python写一些告警脚本。之前一直做Java相关开发,所以趁此机会学习一下Python,毕竟技多不压身😏。 本文主要介绍windows系统下Python的环境配置。 下载地址:python.org,选择对应的版本类型下

    2024年02月01日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包