环境准备
1、Hive端准备
# 在master启动 Hadoop 分布式文件系统(HDFS)
start-dfs.sh # 在 master 节点执行
# 在slave1启动 Yarn 资源调度器
start-yarn.sh # 在 slave1 节点执行
# 启动 Hive 元数据与服务端
hive --service metastore & # 后台启动 Metastore 服务
hive --service hiveserver2 & # 后台启动 HiveServer2 服务
# 使用 Beeline 连接 HiveServer2
beeline -u jdbc:hive2://master:10000 -n root
2.Python环境准备
创建一个新的独立内核
如果上述方法仍无法正常运行(可能是 base 环境被污染), 建议创建一个新的独立内核,并在运行 Notebook 时手动切换到该内核。
这种方式可以让你在一个 干净、独立的环境 中运行 Jupyter, 仅使用
hive_kernel环境中安装的包,不受 base 环境干扰。
# 查看已创建的 Conda 虚拟环境列表
conda env list
# 删除环境hive_kernel
conda remove -n hive_kernel --all -y
在 Anaconda Prompt 或 Jupyter 环境中执行:
# 1️⃣ 创建新的环境hive_kernel(使用Python 3.8 更稳)
conda create -n hive_kernel python=3.8 -y
# 2️⃣ 激活环境
conda activate hive_kernel
# 3️⃣ 安装 Hive 连接组件
pip install pyhive==0.7.0 thrift==0.22.0 thrift-sasl==0.4.3 pure-sasl==0.6.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
# 4️⃣ 安装数据分析与可视化组件
pip install pandas==1.3.5 numpy==1.21.6 matplotlib==3.5.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
# 5️⃣ 安装 Jupyter 支持(注册为 Notebook 内核)
## 为当前环境安装 Jupyter 内核支持包。
pip install ipykernel -i https://pypi.tuna.tsinghua.edu.cn/simple
## 把当前环境注册为 Jupyter 可选内核。
python -m ipykernel install --user --name hive_kernel --display-name "Python (hive_kernel)"
# 6️⃣ 启动 Jupyter Notebook(可在 base 环境中执行)
conda activate base
jupyter notebook
# 7️⃣ 启动jupyter notebook后,切换刚才安装的内核
Kernel → Change Kernel → Python (hive_kernel)
💡 补充说明:虚拟环境与内核的关系
虚拟环境是“底层基础”,内核是“连接桥梁”。
角色 说明 主要作用 虚拟环境(venv / conda env) 独立的 Python 世界,拥有自己的解释器、依赖与包。 隔离依赖、管理运行环境 Jupyter 内核(Kernel) 让 Jupyter 调用特定环境的解释器与库的“桥梁”。 执行代码并返回结果 📘 标准流程: 创建虚拟环境 → 安装 ipykernel → 注册为内核 → 在 Jupyter 中选择该内核运行代码。
或者创建自动运行的脚本:setup_hive_kernel.bat
运行方法:复制这个文件到工作目录后,在
Anaconda Prompt环境下运行setup_hive_kernel.bat
@echo off
chcp 65001 >nul
title 🐍 Hive Kernel 环境自动配置脚本(Windows 版)
echo ===============================================
echo 🐍 Hive Kernel 环境自动配置脚本(Windows 版)
echo ===============================================
REM 检查是否已安装 Anaconda
where conda >nul 2>nul
if %errorlevel% neq 0 (
echo ❌ 未检测到 Anaconda,请先安装 Anaconda 后再运行本脚本。
echo 下载地址:https://www.anaconda.com/download
pause
exit /b
)
REM 1️⃣ 检查是否存在 hive_kernel 环境
echo 🔍 正在检查是否已有环境 hive_kernel ...
conda env list | findstr /C:"hive_kernel" >nul
if %errorlevel%==0 (
echo ⚠️ 1.检测到已有环境 hive_kernel,跳过创建。
) else (
echo ✅ 1.创建新的环境 hive_kernel(Python 3.8)...
call conda create -n hive_kernel python=3.8 -y
)
REM 2️⃣ 激活环境
echo.
echo ✅ 2.正在激活环境 hive_kernel ...
call conda activate hive_kernel
REM 3️⃣ 安装 Hive 连接组件
echo.
echo ✅ 3.安装 Hive 连接组件中 ...
pip install pyhive==0.7.0 thrift==0.22.0 thrift-sasl==0.4.3 pure-sasl==0.6.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
REM 4️⃣ 安装数据分析与可视化组件
echo.
echo ✅ 4.安装 Pandas、NumPy、Matplotlib 中 ...
pip install pandas==1.3.5 numpy==1.21.6 matplotlib==3.5.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
REM 5️⃣ 安装 Jupyter 支持并注册内核
echo.
echo ✅ 5.注册 Jupyter 内核中 ...
pip install ipykernel -i https://pypi.tuna.tsinghua.edu.cn/simple
python -m ipykernel install --user --name hive_kernel --display-name "Python (hive_kernel)"
REM 6️⃣ 还原到 base 环境
echo.
echo 🔁 切换回 base 环境 ...
call conda activate base
echo ===============================================
echo ✅ 所有步骤完成!
echo ✅ 请重新打开 Jupyter Notebook
echo ✅ 然后选择内核:Python ^(hive_kernel^)
echo ✅ 结束退出!
echo ===============================================
3、测试Pyhive环境是否安装成功
from pyhive import hive
import pandas as pd
try:
conn = hive.Connection(
host="192.168.36.100",
port=10000,
username="root",
database="default",
auth="NONE"
)
df = pd.read_sql("SELECT 1 AS test", conn)
print("✅ PyHive 连接成功!Hive 返回:")
print(df)
conn.close()
except Exception as e:
print("❌ PyHive 测试失败:", e)
总结:
建议优先使用 “方法二:创建新的内核” 来保持环境干净、依赖独立, base 环境只用作 Jupyter 的启动入口,不参与包运行。
练习
1、查询Hive中有哪些数据库
前提:前期已完成Hive练习中的
my_database库及t_user和t_order表的创建、以及数据的加载
from pyhive import hive
import pandas as pd
# 1. 连接 HiveServer2
conn = hive.Connection(
host="192.168.36.100", # HiveServer2 所在主机
port=10000, # 默认端口
username="root", # Hive 登录用户
database="default"
)
# 2. 执行 SQL 查询
query = "show databases"
df = pd.read_sql(query, conn)
# 3. 显示结果
print(df)
# 4. 关闭连接
conn.close()