hive 命令三种执行方式

hive 命令三种执行方式

20190831


1. hive交互模式

  • 语法
hive> sql语句
  • 示例
hive> show databases; # 显示所有的数据库
hive> use base_name; # 选择数据库
hive> show tables; # 当前数据库下所有的table+view
hive> select * from table_name; # sql语句
hive> quit; # 退出hive

2. “一次使用”命令

  • 语法
$ hive -e "合法的sql语句"
# 可以增加参数 `-S`开启静默模式,会去掉输出结果中无关行
$ hive  -S -e "合法的sql语句"`
  • 示例
$ hive -S -e "select * from table_name"
$ hive -S -e "select * from table_name"  > /path/filename 
#/path为将输出结果从 标准输出 重定向 到该路径下filename文件下

3. 执行脚本文件

  • 语法
$ hive -f /path/filename.sql
  • 示例
$ hive -f /path/myfile/myscript.sql

备注

参考《hive 编程指南》
hive命令的三种执行方式

<think>好的,我现在要回答用户关于Hive启动方式的问题。首先,我需要回忆一下Hive的相关知识,确保信息准确。Hive作为Hadoop的数据仓库工具,确实有不同的启动方式,常见的包括命令行界面、服务模式等。 用户的问题是关于Hive有几种启动方式,所以需要分点说明。首先,Hive CLI(命令行界面)是最基本的方式,直接输入hive命令就可以进入交互界面。但记得Hive版本更新后,CLI可能被弃用,转而使用Beeline,这点需要提到。 接下来是Beeline,这是Hive推荐的客户端工具,基于JDBC连接HiveServer2。启动时需要先确保HiveServer2服务运行,然后用beeline命令连接。这里要说明连接命令的格式,比如!connect jdbc:hive2://localhost:10000。 然后是HiveServer2模式,作为服务运行,允许远程连接。启动HiveServer2后,可以通过Beeline或其他JDBC客户端连接。这里可能需要提到启动命令,比如hive --service hiveserver2 &,或者使用hiveserver2命令,视版本而定。 另外,还有Web界面,Hive提供了简单的Web UI,可以通过hive --service hiveserver2 --hiveconf hive.server2.webui.host=0.0.0.0 --hiveconf hive.server2.webui.port=10002来启动,用户可以通过浏览器访问端口查看信息。 还可能有一些其他服务,比如MetaStore服务独立运行的情况,但MetaStore本身不是直接启动Hive方式,而是作为元数据服务支持其他模式。不过如果用户提到,可能需要简要说明。 需要检查不同启动方式的前提条件,比如Hadoop和MetaStore是否正常运行,环境变量配置是否正确。此外,权限问题也可能影响启动,比如HDFS目录的访问权限。 需要确保步骤清晰,每个启动方式分点列出,说明命令和注意事项。同时提醒用户新版本中CLI可能被Beeline取代,避免用户在使用时遇到版本兼容问题。最后,可能给出示例命令,帮助用户理解具体操作。</think>Hive 主要有以下几种启动方式,具体选择取决于使用场景和版本: --- ### 一、**Hive CLI(命令行界面)** - **适用场景**:本地交互式操作,适合简单查询和调试。 - **启动方式**: 1. 确保 Hadoop 和 Hive 环境变量已配置。 2. 终端直接输入命令: ```bash hive ``` 3. 进入交互界面后即可执行 HQL 语句。 - **注意**:Hive 3.0+ 已弃用 CLI,推荐使用 Beeline。 --- ### 二、**Beeline(基于 JDBC 的客户端)** - **适用场景**:连接 HiveServer2,支持远程访问和更安全的认证。 - **启动步骤**: 1. **先启动 HiveServer2 服务**: ```bash hive --service hiveserver2 & # 或直接使用: hiveserver2 ``` 2. **通过 Beeline 连接**: ```bash beeline !connect jdbc:hive2://localhost:10000 ``` 输入用户名和密码(默认无密码可直接回车)。 - **特点**:支持 Kerberos 认证和多会话管理。 --- ### 三、**HiveServer2 服务模式** - **适用场景**:作为后台服务运行,供远程客户端(如 Java/Python 程序)通过 JDBC/ODBC 连接。 - **启动命令**: ```bash hive --service hiveserver2 # 或指定参数(例如端口和绑定地址): hive --service hiveserver2 --hiveconf hive.server2.thrift.port=10000 --hiveconf hive.server2.thrift.bind.host=0.0.0.0 ``` - **验证服务状态**: ```bash netstat -an | grep 10000 ``` --- ### 四、**Hive Web Interface(Web 界面)** - **适用场景**:通过浏览器查看 HiveServer2 的运行状态。 - **启动方式**: ```bash hive --service hiveserver2 --hiveconf hive.server2.webui.host=0.0.0.0 --hiveconf hive.server2.webui.port=10002 ``` - **访问方式**:浏览器打开 `http://<host>:10002`。 --- ### 五、**MetaStore 服务独立启动** - **适用场景**:将元数据服务与其他组件解耦(如远程 MySQL 数据库)。 - **启动命令**: ```bash hive --service metastore & ``` - **配置要求**:需提前配置 `hive-site.xml` 中的元数据存储地址(如 JDBC 连接信息)。 --- ### **注意事项** 1. **依赖环境**:启动前需确保 Hadoop 集群、YARN 及 MetaStore 服务正常运行。 2. **权限问题**:HDFS 目录(如 `/tmp` 和 `/user/hive/warehouse`)需有读写权限。 3. **日志排查**:若启动失败,检查 `hive.log` 或 HiveServer2 的日志文件定位问题。 --- 根据实际需求选择合适的启动方式,生产环境推荐使用 **HiveServer2 + Beeline** 组合以保证安全性和扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值