欢迎光临
我们一直在努力

windows Hive使用全攻略:从入门到实战,轻松搞定大数据处理 - Hadoop Hive 3.X 安装

前言

        自上一篇文章:windows Hive使用全攻略:从入门到实战,轻松搞定大数据处理 – Hadoop windows安装-CSDN博客我们完成 Hadoop 在 windows 环境安装完并运行起来了,接下来就是安装 hive 并开始学习使用。

一、资源准备

下载 hive 压缩包 链接: Apache Archive Distribution Directory

下载 mysql jar包 链接:MySQL :: Begin Your Download

二、为什么需要 mysql

2.1、先搞懂 Hive 的核心架构

Hive 本身并不是一个数据库,而是基于 Hadoop 的数据仓库工具,它把 SQL 语句转换成 MapReduce/Spark 任务来执行。Hive 运行时需要存储两类关键信息:

  • 元数据(Metadata):比如数据库名、表名、字段名、字段类型、表的存储路径、分区信息、数据格式等(简单说就是 “数据的描述信息”)。
  • 原始业务数据:比如用户行为日志、交易数据等,这类数据默认存在 HDFS 上,和 MySQL 无关。
  • 2.2、为什么需要 MySQL 存储元数据

    Hive 本身不自带成熟的元数据存储能力,必须依赖外部存储系统来管理元数据,选择 MySQL 的核心原因有以下几点:

    1. Hive 内置的元数据存储方案有致命缺陷

    Hive 自带了一个轻量级的数据库 Derby(也叫 Java DB),但它只能单会话访问:

    • 如果你开一个终端用 Hive,再开第二个终端操作 Hive,会直接报错(Derby 不支持多用户并发);
    • Derby 的数据存储在本地文件,无法在集群环境中共享,而 Hive 通常部署在 Hadoop 集群上,多节点需要访问同一套元数据。
    2. MySQL 完美解决这些问题

    MySQL 是关系型数据库(RDBMS),具备以下特性,刚好匹配 Hive 对元数据存储的需求:

    • 支持多用户并发访问:集群中多个 Hive 客户端、多个节点可以同时读写元数据,不会冲突;
    • 数据持久化且可共享:元数据存在 MySQL 服务器上,所有 Hive 节点都能访问,符合集群部署的要求;
    • 稳定性和可靠性:MySQL 是成熟的数据库,支持事务、备份恢复,能保证元数据不丢失(元数据一旦损坏,Hive 就无法识别 HDFS 上的原始数据);
    • 易用性和兼容性:Hive 官方默认支持 MySQL 作为元数据存储,配置简单,社区文档丰富。
    3. 不是只能用 MySQL,但 MySQL 是最优选择

    Hive 支持的元数据存储还包括 PostgreSQL、Oracle 等,但 MySQL 有明显优势:

    • 开源免费,部署成本低;
    • 轻量级,对服务器资源消耗小;
    • 运维简单,新手容易上手。

    2.3、MySQL 与 Hive 的协作流程(简化版)

    举个例子:当你执行 SELECT * FROM user_info LIMIT 10; 时:

  • Hive 先去 MySQL 查 user_info 表的元数据(比如表存在哪个 HDFS 路径、字段类型是什么);
  • 根据元数据解析 SQL,生成读取 HDFS 数据的任务;
  • 执行任务后返回结果,整个过程中 MySQL 只负责提供 “表的描述信息”。
  • 总结

  • Hive 需要存储元数据(表结构、分区等),而自身内置的 Derby 不支持集群 / 多并发,无法满足生产需求;
  • MySQL 作为关系型数据库,能稳定、高效地存储和共享元数据,是 Hive 元数据存储的主流选择;
  • MySQL 只管理 Hive 的元数据,Hive 处理的原始业务数据仍存储在 HDFS 上,两者分工明确。
  • 简单来说:MySQL 是 Hive 的 “目录本”,Hive 靠这个 “目录本” 找到 HDFS 上的数据,才能执行 SQL 操作。

    三、安装hive

    3.1 解压 hive 安装包

    解压到对应位置

    3.2 解压 mysql 安装包到 hive\\lib 中

    先解压 mysql 压缩包

    然后将 mysql 中的 mysql-connector-java-5.1.46-bin.jar 放到 D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin\\lib 目录下

    为什么要这样做:

    1、先搞懂这个 JAR 包的本质

    mysql-connector-java-xxx-bin.jar 是 MySQL 的 JDBC 驱动包:

    • JDBC(Java Database Connectivity)是 Java 程序访问数据库的标准接口,相当于 Java 和数据库之间的 “通信协议”;
    • MySQL 本身不会直接遵守 Java 的 JDBC 标准,因此 MySQL 官方提供了这个驱动包 —— 它是 JDBC 接口的MySQL 实现版本,专门负责让 Java 程序(比如 Hive)能 “看懂” 并连接 MySQL。

    简单类比:这个 JAR 包就像 Hive 和 MySQL 之间的 “翻译官”,Hive 说 “Java/JDBC 语言”,MySQL 说 “自己的私有协议语言”,没有翻译官,两者根本无法沟通。

    2、为什么必须放到 Hive 的 lib 目录?

    Hive 是基于 Java 开发的程序,它的运行规则遵循 Java 应用的类加载机制:

  • Hive 的类加载路径:Hive 启动时,会自动扫描并加载其安装目录下 lib 文件夹中的所有 JAR 包,这些 JAR 包会被加入到 Hive 的核心类路径中;
  • 驱动包的加载要求:Hive 要连接 MySQL 读取元数据,必须在运行时找到 com.mysql.jdbc.Driver(MySQL 驱动的核心类),而这个类就藏在 mysql-connector-java-5.1.46-bin.jar 里;
  • 不放在 lib 目录的后果:如果把这个 JAR 包放在其他位置,Hive 的类加载器找不到这个驱动类,启动 Hive 或执行 Hive SQL 时会直接抛出错误:
  • 3.3 配置系统变量和环境变量

    1.系统变量

    变量名:HIVE_HOME 变量值:E:\\apache-hive-2.1.1-bin

    2. 环境变量

    变量值: %HIVE_HOME%\\bin

    3.4 修改Hive config 中的文件名

    图中四个 hive 开头的文件改名

    分别改成:

    hive-default.xml.template —–> hive-site.xml hive-env.sh.template —–> hive-env.sh hive-exec-log4j.properties.template —–> hive-exec-log4j2.properties hive-log4j2.properties.template —–> hive-log4j2.properties

    为什么要改名:

    一、先搞懂 .template 文件的本质

    这些带 .template 后缀的文件是 Hive 官方提供的配置模板,不是可直接使用的配置文件:

    • 它们包含了 Hive 所有可配置项的默认注释、示例值、占位符(比如${jdbc.url});
    • 是 “草稿版” 配置文件,目的是给用户提供修改参考,避免你从零手写配置文件时遗漏关键参数。

    二、核心原因:Hive 有固定的配置文件加载规则

    Hive 启动和运行时,会按照固定的文件名去指定目录(默认是conf目录)查找配置文件,完全不会识别带 .template 后缀的文件。重命名的本质是让 Hive 能找到并加载你的自定义配置,具体分文件说明:

    1. hive-default.xml.template → hive-site.xml(最核心)
    • 作用:这是 Hive 的核心配置文件,存储 Hive 运行的关键参数(比如元数据连接的 MySQL 地址 / 用户名 / 密码、HDFS 数据仓库路径、并发数、临时文件路径等)。
    • 不改名的后果:Hive 会使用内置的极简默认配置(比如默认用 Derby 存储元数据,不支持集群),无法连接你配置的 MySQL,甚至无法正常启动。
    • 关键逻辑:Hive 优先加载hive-site.xml中的配置,覆盖默认值 —— 只有改名后,你在这个文件里配置的 MySQL 连接信息、Hadoop 路径等才会生效。
    2. hive-env.sh.template → hive-env.sh(环境变量配置)
    • 作用:用于设置 Hive 运行依赖的环境变量(比如HADOOP_HOME路径、JAVA_HOME路径、Hive 配置目录路径、Hive 日志目录等)。
    • 不改名的后果:Hive 可能找不到 Hadoop 的安装路径,导致无法调用 Hadoop 的 API,进而无法操作 HDFS 上的数据(比如创建表、读取数据)。
    • 补充:这个文件主要在 Linux/Unix 系统生效,Windows 系统对应hive-env.cmd.template,逻辑一致。
    3. log4j2 相关模板 → 正式日志配置文件
    • 作用:hive-exec-log4j2.properties和hive-log4j2.properties是 Hive 的日志配置文件,控制日志的输出级别(INFO/ERROR/DEBUG)、日志文件保存路径、日志格式、日志滚动规则等。
    • 不改名的后果:Hive 会使用默认的日志配置(比如日志只输出到控制台,不保存到文件,或日志级别过高 / 过低),不利于后续排查问题(比如连接 MySQL 失败的报错日志可能看不到)。
    • 补充:log4j2是新版日志框架,替代了旧版的log4j,所以文件名里的log4j升级为log4j2,模板文件也对应调整。

    3.5 创建目录

    在文件夹中创建以下目录

    D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin\\my_hive D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin\\my_hive\\operation_logs_dir D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin\\my_hive\\querylog_dir D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin\\my_hive\\resources_dir D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin\\my_hive\\scratch_dir

    这些子目录是按 Hive 运行时的文件类型分类设计的,各司其职:

    目录名核心作用不创建的潜在问题
    my_hive 所有自定义文件的统一根目录 各类文件分散在系统各处,管理混乱
    operation_logs_dir 存储 Hive系统操作日志(如 Hive 启动 / 停止日志、元数据连接日志、集群交互日志) 系统日志散落在临时目录,排查 “Hive 启动失败”“连接 MySQL 失败” 时找不到关键报错信息
    querylog_dir 存储用户执行的SQL 查询日志(每个 Hive SQL 的执行计划、耗时、输入输出数据量、报错详情) 无法追溯 SQL 执行的问题(如某条查询跑失败,看不到具体报错原因)
    resources_dir 存储 Hive 运行依赖的自定义资源(如自定义 UDF 的 JAR 包、序列化配置文件、临时导入的数据源文件) 自定义资源分散在其他路径,Hive 执行 UDF 时找不到依赖包,触发ClassNotFoundException
    scratch_dir 存储 Hive 执行 SQL 时的临时文件(如 MapReduce/Spark 任务的中间数据、临时表数据、SQL 解析后的临时缓存文件) 系统临时目录空间不足导致任务中断,或路径含特殊字符导致临时文件创建失败

    3.6 详细修改各项配置内容

    1. 修改 hive-env.sh

    txt打开文件,划到最下面

    修改:

    # Set HADOOP_HOME to point to a specific hadoop install directory
    HADOOP_HOME=D:\\workAPP\\Hadoop\\hadoop-3.4.2

    # Hive Configuration Directory can be controlled by:
    export HIVE_CONF_DIR=D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin\\conf

    # Folder containing extra ibraries required for hive compilation/execution can be controlled by:
    export HIVE_AUX_JARS_PATH=D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin\\lib

    具体路径看你自己的安装目录做好修改。

    2. 修改 hive-site.xml

    修改较多,直接下载我的文件替换上去,然后修改以下内容(主要修改路径)

    文件 Ctrl + f 搜索 :hive.exec.local.scratchidir

    文件 Ctrl + f 搜索 :hive.downloaded.resources

    文件 Ctrl + f 搜索 :hive.querylog.location

    文件 Ctrl + f 搜索 :hive.server2.logging.operation.log.location

    3.7 启动Hive

    1. 启动 Hadoop

    在 sbin 目录下 执行 start-all.cmd

    执行以下命令:

    hadoop fs -mkdir /tmp
    hadoop fs -mkdir /user/
    hadoop fs -mkdir /user/hive/
    hadoop fs -mkdir /user/hive/warehouse
    hadoop fs -chmod g+w /tmp
    hadoop fs -chmod g+w /user/hive/warehouse

    2. 创建数据库 Hive

    create database if not exists hive default character set latin1;

    四、滑铁卢

    之后我开始尝试启动hive,输入hive -version

    明明步骤都没问题的,结果一查

    从 Hive 3.0 开始,官方不再提供原生的 Windows .bat 批处理文件,只保留了 Linux/Unix 平台的 .sh 脚本,所以即使从官网下载的包也没有 hive.bat。

    问题本质

    Hive 3.x 对 Windows 的支持被大幅弱化,官方不再维护 Windows 下的启动脚本,原因是:

    • Hive 3.x 依赖的 Hadoop 3.x 对 Windows 的兼容性也较差;
    • 生产环境中 Hive 几乎都部署在 Linux 集群上,官方优先维护 Linux 版本;
    • 继续维护 Windows 脚本的成本高,且用户量少。

    刚好我们的版本就是 3.4.2 的

    而目前网上解决方案只有以下三种:

    1. ✅ 推荐:用 WSL2(Windows 子系统 Linux)部署 Hive

    这是目前在 Windows 上运行 Hive 3.x 最稳定的方式,步骤如下:

  • 开启 WSL2:在 Windows 设置中启用 “适用于 Linux 的 Windows 子系统”,安装 Ubuntu 等发行版;
  • 在 WSL2 中部署 Hadoop + Hive:和 Linux 环境完全一致,直接使用 .sh 脚本(如 hive –service metastore);
  • 共享 Windows 文件:WSL2 可以直接访问 Windows 的 D:\\ 盘(路径为 /mnt/d/),方便共享数据。
  • 但是我不喜欢这个,要是用这个我干脆直接搞个虚拟机得了。

    2. ⚙️ 可选:手动创建 hive.bat(原生 Windows)

            基于 hive.sh 的逻辑手动编写批处理文件。以下是简化模板(需根据你的环境修改):

    @echo off
    setlocal enabledelayedexpansion

    :: 配置环境变量(替换为你的实际路径)
    set HIVE_HOME=D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin
    set HADOOP_HOME=D:\\workAPP\\Hadoop\\hadoop-3.4.2
    set JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_291

    :: 拼接类路径
    set CLASSPATH=%HIVE_HOME%\\conf;%HIVE_HOME%\\lib\\*;%HADOOP_HOME%\\conf;%HADOOP_HOME%\\share\\hadoop\\common\\lib\\*;%HADOOP_HOME%\\share\\hadoop\\common\\*

    :: 启动 Hive
    java -cp %CLASSPATH% org.apache.hadoop.hive.cli.CliDriver %*

    将上述内容保存为 hive.bat,放到 Hive 的 bin 目录下,即可执行 hive.bat -version 等命令。

            ⚠️ 注意:手动创建的脚本可能存在环境变量冲突、路径转换(如 Linux 路径 / 转 Windows 路径 \\)等问题,仅适合测试场景。

    3. 📌 降级:改用 Hive 2.3.x 版本

            Hive 2.3.x(如 apache-hive-2.3.9-bin.tar.gz)的安装包仍包含完整的 hive.bat、beeline.bat 等 Windows 脚本,对 Windows 兼容性更好。如果你的业务不需要 Hive 3.x 的新特性,降级是最省心的选择。

    这里我们使用方法二:

    @echo off
    setlocal enabledelayedexpansion

    :: 配置环境变量(替换为你的实际路径)
    set HIVE_HOME=D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin
    set HADOOP_HOME=D:\\workAPP\\Hadoop\\hadoop-3.4.2
    set JAVA_HOME=C:\\Program Files\\Java\\jdk-21

    :: 拼接类路径
    set CLASSPATH=%HIVE_HOME%\\conf;%HIVE_HOME%\\lib\\*;%HADOOP_HOME%\\conf;%HADOOP_HOME%\\share\\hadoop\\common\\lib\\*;%HADOOP_HOME%\\share\\hadoop\\common\\*

    :: 启动 Hive
    java -cp %CLASSPATH% org.apache.hadoop.hive.cli.CliDriver %*

    保存启动:

    1.报错找不到mapred:

    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/mapred/JobConf         at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:5144)         at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:5102)         at org.apache.hadoop.hive.common.LogUtils.initHiveLog4jCommon(LogUtils.java:97)         at org.apache.hadoop.hive.common.LogUtils.initHiveLog4j(LogUtils.java:81)         at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:699)         at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:683) Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.mapred.JobConf         at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)         at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)         … 6 more

    找不到对应的类

    我们需要手动将 Hadoop MapReduce 相关 JAR 包加入 Hive 的类路径:

    修改 Hive 的环境变量配置:打开 Hive 配置目录(conf)下的 hive-env.sh(之前重命名的模板文件),添加以下内容:

    # 指定 Hadoop 核心类路径,覆盖缺失的 MapReduce 类
    export HADOOP_CLASSPATH=$HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/share/hadoop/hdfs/*:$HADOOP_HOME/share/hadoop/yarn/*
    # 传递 Hadoop 类路径给 Hive
    export HIVE_CLASSPATH=$HADOOP_CLASSPATH

     Windows 下手动创建的 hive.bat,在文件中添加:

    :: 手动添加 Hadoop 核心类路径
    set HADOOP_CLASSPATH=%HADOOP_HOME%\\share\\hadoop\\mapreduce\\*;%HADOOP_HOME%\\share\\hadoop\\common\\*;%HADOOP_HOME%\\share\\hadoop\\hdfs\\*;%HADOOP_HOME%\\share\\hadoop\\yarn\\*
    :: 合并到 Hive 的类路径中
    set CLASSPATH=%CLASSPATH%;%HADOOP_CLASSPATH%

    最后的bat文件如下:

    @echo off
    setlocal enabledelayedexpansion

    :: 配置环境变量(替换为你的实际路径)
    set HIVE_HOME=D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin
    set HADOOP_HOME=D:\\workAPP\\Hadoop\\hadoop-3.4.2
    set JAVA_HOME=C:\\Program Files\\Java\\jdk-21

    :: 手动添加 Hadoop 核心类路径
    set HADOOP_CLASSPATH=%HADOOP_HOME%\\share\\hadoop\\mapreduce\\*;%HADOOP_HOME%\\share\\hadoop\\common\\*;%HADOOP_HOME%\\share\\hadoop\\hdfs\\*;%HADOOP_HOME%\\share\\hadoop\\yarn\\*

    :: 拼接类路径
    set CLASSPATH=%HIVE_HOME%\\conf;%HIVE_HOME%\\lib\\*;%HADOOP_HOME%\\conf;%HADOOP_HOME%\\share\\hadoop\\common\\lib\\*;%HADOOP_HOME%\\share\\hadoop\\common\\*;%CLASSPATH%;%HADOOP_CLASSPATH%

    :: 启动 Hive
    java -cp %CLASSPATH% org.apache.hadoop.hive.cli.CliDriver %*

    执行:

    2.报错:无法加载主类

    因为直接写入bat,这个时候无法识别带有空格的路径,而我的 C:\\Program Files 中Program 和 Files之间就带着个空格。

    修改:全部带上双引号就可以了:

    @echo off
    setlocal enabledelayedexpansion

    :: 配置环境变量(替换为你的实际路径)
    set "HIVE_HOME=D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin"
    set "HADOOP_HOME=D:\\workAPP\\Hadoop\\hadoop-3.4.2"
    set "JAVA_HOME=C:\\PROGRA~1\\Java\\jdk-21"

    :: 手动添加 Hadoop 核心类路径
    set "HADOOP_CLASSPATH=%HADOOP_HOME%\\share\\hadoop\\mapreduce\\*;%HADOOP_HOME%\\share\\hadoop\\common\\*;%HADOOP_HOME%\\share\\hadoop\\hdfs\\*;%HADOOP_HOME%\\share\\hadoop\\yarn\\*"

    :: 拼接类路径
    set "CLASSPATH=%HIVE_HOME%\\conf;%HIVE_HOME%\\lib\\*;%HADOOP_HOME%\\conf;%HADOOP_HOME%\\share\\hadoop\\common\\lib\\*;%HADOOP_HOME%\\share\\hadoop\\common\\*;%CLASSPATH%;%HADOOP_CLASSPATH%"

    :: 启动 Hive
    java -cp "%CLASSPATH%" org.apache.hadoop.hive.cli.CliDriver %*

    启动:

    3.报错:xml格式错误

            执行 hive -version 时触发了 hive-site.xml 配置文件的 XML 解析错误,核心问题是该文件第 40 行存在标签闭合不匹配的语法错误 —— 解析器预期闭合 </username> 标签,却意外遇到了 </description> 标签,导致整个配置文件无法正常加载。

            简单来说就是哥们写的时候格式错了,这个时候就不能急,敲代码的急了输一半。

            进入到 hive-site.xml 文件中定位到第40行

    将 <username>  改成 &lt;username&gt;

    启动

    一样还是转义的问题

    修改 转义所有 & 为 &amp;Ctrl + F 就是搜索,然后可以替换全部 & 为 &amp

    4.报错java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')

    Hive Session ID = 188c0b91-9927-42ae-8903-50751573b3d2 Exception in thread "main" java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')         at org.apache.hadoop.hive.ql.session.SessionState.<init>(SessionState.java:413)         at org.apache.hadoop.hive.ql.session.SessionState.<init>(SessionState.java:389)         at org.apache.hadoop.hive.cli.CliSessionState.<init>(CliSessionState.java:60)         at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:705)         at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:683)

    哥们用的jdk版本过高,是21,所以方法调用失败

    直接去 bat 文件中添加以下语句进去

    # 原启动行(示例)
    # java -cp %CLASSPATH% org.apache.hadoop.hive.cli.CliDriver %*
    # 修改后(添加 JVM 参数)
    java –add-opens java.base/jdk.internal.loader=ALL-UNNAMED -cp "%CLASSPATH%" org.apache.hadoop.hive.cli.CliDriver %*

    老实了,依旧报错,那就用装个java8上去好了 (认命)

    装好之后 hive.bat 修改一下

    @echo off
    setlocal enabledelayedexpansion

    :: ########## 适配你的实际路径(核心:无空格/中文)##########
    :: 必须是JDK 8(如JDK 1.8.0_291,路径替换为你的JDK 8路径)
    set "JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_341"
    :: 你的Hadoop 3.4.2路径
    set "HADOOP_HOME=D:\\workAPP\\Hadoop\\hadoop-3.4.2"
    :: 你的Hive路径
    set "HIVE_HOME=D:\\workAPP\\Hadoop\\hive\\apache-hive-3.1.3-bin"

    :: ########## 强制拼接Hadoop 3.4.2核心类路径(包含Configuration类)##########
    set "HADOOP_CLASSPATH=%HADOOP_HOME%\\share\\hadoop\\common\\*;%HADOOP_HOME%\\share\\hadoop\\common\\lib\\*;%HADOOP_HOME%\\share\\hadoop\\hdfs\\*;%HADOOP_HOME%\\share\\hadoop\\mapreduce\\*;%HADOOP_HOME%\\share\\hadoop\\yarn\\*"
    :: 合并Hive + Hadoop类路径(优先加载Hadoop核心JAR)
    set "CLASSPATH=%HIVE_HOME%\\conf;%HIVE_HOME%\\lib\\*;%HADOOP_CLASSPATH%;%JAVA_HOME%\\lib\\tools.jar"

    :: ########## 启动Hive(指定JDK 8的java.exe,避免高版本JDK)##########
    "%JAVA_HOME%\\bin\\java" -cp "%CLASSPATH%" org.apache.hadoop.hive.cli.CliDriver %*

    endlocal

    启动成功

    篇幅限制,后续内容发布后我会在评论区说

    END

             如果觉得这份基础知识点总结清晰,别忘了动动小手点个赞👍,再关注一下呀~ 后续还会分享更多有关面试问题的干货技巧,同时一起解锁更多好用的功能,少踩坑多提效!🥰 你的支持就是我更新的最大动力,咱们下次分享再见呀~🌟

    赞(0)
    未经允许不得转载:171主机测评 » windows Hive使用全攻略:从入门到实战,轻松搞定大数据处理 - Hadoop Hive 3.X 安装
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址