Apache Hive是基于Hadoop的分布式数据仓库工具,支持类SQL查询语言(HQL)以高效分析和处理大规模结构化数据;其Docker镜像是预先集成Hive核心组件、依赖环境及配置的可执行文件包,可快速部署至各类环境,确保开发、测试与生产环境一致性,大幅简化Hive服务的安装配置流程,为数据仓库构建、数据查询及分析任务提供便捷、稳定且高效的运行载体。
收藏数: 40
下载次数: 662633
状态: active
发布者: apache
类型: 镜像

apache/hiveApache Hive™ 是一款主流开源数据仓库框架,支持查询存储在分布式系统(如 Hadoop HDFS、Apache Ozone、Amazon S3、Azure Data Lake Storage 等)中的大规模数据集。它提供类 SQL 接口(HiveQL),可用于查询、分析和管理结构化及半结构化数据。
通过 Hive,用户能定义表和数据模式,用熟悉的类 SQL 语法编写查询,执行过滤、聚合、关联等数据分析任务。Hive 兼容多种常见数据格式,包括 CSV、JSON、Avro、ORC、Parquet。
先定义 Hive 版本(根据实际使用的镜像标签调整):
bashexport HIVE_VERSION=<Hive 版本号>
示例:
bashexport HIVE_VERSION=4.1.0
适合轻量快速部署,使用 Derby 作为元数据库(无需额外配置数据库):
bashdocker run -d -p ***:*** -p ***:*** \ --env SERVICE_NAME=hiveserver2 \ --name hive4 \ apache/hive:${HIVE_VERSION}
如需单独部署元存储(仍用 Derby 轻量模式):
bashdocker run -d -p 9083:9083 \ --env SERVICE_NAME=metastore \ --name metastore-standalone \ apache/hive:${HIVE_VERSION}
注意:此模式下,容器停止后数据会丢失。若需持久化表结构和数据,需搭配外部 Postgres 数据库及卷(volume)存储。
若已有独立元存储,启动 HiveServer2 时指定元存储地址:
bashdocker run -d -p ***:*** -p ***:*** \ --env SERVICE_NAME=hiveserver2 \ --env SERVICE_OPTS="-Dhive.metastore.uris=thrift://metastore:9083" \ # 指定外部元存储地址 --env IS_RESUME="true" \ --name hiveserver2-standalone \ apache/hive:${HIVE_VERSION}
生产环境建议用外部数据库存储元数据,以确保持久化。以下为 Postgres 示例:
bashdocker run -d -p 9083:9083 \ --env SERVICE_NAME=metastore \ --env DB_DRIVER=postgres \ --env SERVICE_OPTS="\ -Djavax.jdo.option.ConnectionDriverName=org.postgresql.Driver \ -Djavax.jdo.option.ConnectionURL=jdbc:postgresql://postgres:5432/metastore_db \ # 数据库连接地址 -Djavax.jdo.option.ConnectionUserName=hive \ # 数据库用户名 -Djavax.jdo.option.ConnectionPassword=password" \ # 数据库密码 --mount source=warehouse,target=/opt/hive/data/warehouse \ # 挂载卷持久化数据 --name metastore-standalone \ apache/hive:${HIVE_VERSION}
数据持久化:启动 HiveServer2 时,也需挂载卷保存数据,命令示例:
bashdocker run -d -p ***:*** -p ***:*** \ --env SERVICE_NAME=hiveserver2 \ --env SERVICE_OPTS="-Dhive.metastore.uris=thrift://metastore:9083" \ --mount source=warehouse,target=/opt/hive/data/warehouse \ --env IS_RESUME="true" \ --name hiveserver2 \ apache/hive:${HIVE_VERSION}
如需使用自定义配置文件(如 core-site.xml、hive-site.xml 等),可通过 HIVE_CUSTOM_CONF_DIR 环境变量指定配置目录。例如,将配置文件放在宿主机 /opt/hive/conf 目录,启动命令:
bashdocker run -d -p 9083:9083 \ --env SERVICE_NAME=metastore \ --env DB_DRIVER=postgres \ -v /opt/hive/conf:/hive_custom_conf \ # 挂载宿主机配置目录到容器内 --env HIVE_CUSTOM_CONF_DIR=/hive_custom_conf \ # 指定自定义配置目录 --name metastore \ apache/hive:${HIVE_VERSION}
Beeline 是 Hive 的命令行客户端,可通过容器内执行或本地安装后连接:
hive4):
bashdocker exec -it hive4 beeline -u 'jdbc:hive2://localhost:***/'
bashbeeline -u 'jdbc:hive2://localhost:***/'
启动后,通过浏览器访问:`[***]
sql-- 查看表 show tables; -- 创建分区表 create table hive_example(a string, b int) partitioned by(c int); -- 添加分区 alter table hive_example add partition(c=1); -- 插入数据 insert into hive_example partition(c=1) values('a', 1), ('a', 2), ('b', 3); -- 数据分析 select count(distinct a) from hive_example; -- 去重计数 select sum(b) from hive_example; -- 求和
详细操作可参考官方文档:[***]
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务