Hive Shell操作

本文详细介绍了HiveShell的基本操作,包括如何通过命令行执行HQL语句、使用不同的选项如-i、-e、-f来初始化和执行SQL脚本,以及如何在交互模式下进行操作。这些操作对于管理和查询大数据集至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hive Shell操作

一、Hive Shell 基本操作

1、Hive 命令行

hive [-hiveconf x=y]* [<-ifilename>]* [<-f filename>|<-e query-string>] [-S]

-i  从文件初始化HQL
-e  从命令行执行指定的HQL
-f  执行HQL脚本
-v  输出执行的HQL语句到控制台
-p <port> connect to HiveServer on port number -hiveconf x=y Use this to set hive/hadoop configurationvariables.

Hive 命令行示例

从命令行执行指定的sql语句
$HIVE_HOME/bin/hive -e 'select a.colfrom tab1 a'

以指定的hive环境变量执行指定的sql语句
$HIVE_HOME/bin/hive -e 'select a.colfrom tab1 a' -hiveconf hive.exec.scratchdir=/home/my/hive_scratch -hiveconfmapred.reduce.tasks=32

以沉默模式执行指定的sql语句,并将执行结果导出到指定文件:
HIVE_HOME/bin/hive  -e 'select a.col from tab1 a' > a.txt

以非交互式模式执行sql文件
HIVE_HOME/bin/hive -f /home/my/hive-script.sql

在进入交互模式之前,执行初始化sql文件
HIVE_HOME/bin/hive -i /home/my/hive-init.sql

2、Hive 交互式Shell命令

当命令 $HIVE_HOME/bin/hive以不带 -e/-f 选项的方式运行时, hive将进入到交互模式

以(;)冒号结束命令行

### Hive Shell 常用命令及其语法示例 #### 表管理操作 - **显示数据库中的所有表** 使用 `SHOW TABLES;` 可以查看当前数据库下的所有表[^1]。 - **切换至特定数据库** 切换到目标数据库可以使用 `USE database_name;`,其中 `database_name` 是要切换的目标数据库名称。 - **描述表结构** 查看某个表的具体字段定义以及存储信息可以通过 `DESCRIBE table_name;` 或者更详细的 `DESCRIBE FORMATTED table_name;` 来实现。 ```sql DESCRIBE employees; DESCRIBE FORMATTED employees; ``` #### 数据加载与查询 - **加载本地文件数据到Hive表中** 将外部的数据文件导入到已存在的Hive表里通常采用如下形式的 load data 命令[^2]: ```sql LOAD DATA LOCAL INPATH '/path/to/local/file' INTO TABLE table_name; ``` - **向分区表插入新数据** 对于已经设置了分区属性的表格来说,可利用 insert overwrite statement 完成更新或者追加记录动作。例如: ```sql INSERT OVERWRITE TABLE sales PARTITION (region='west') SELECT * FROM temp_sales WHERE region='west'; ``` #### 参数设置 - **通过set指令临时修改运行期参数值** 用户可以在执行脚本前调整某些性能调优选项或者其他行为特性开关状态。比如启用压缩功能或将中间结果写入磁盘缓存等措施来提升效率: ```bash SET hive.exec.compress.output=true; SET mapreduce.map.memory.mb=4096; ``` #### 其他实用工具类命令 - **获取帮助文档** 输入 `HELP 'command';` 能够快速定位关于某条具体SQL关键字的帮助说明页面。 ```bash HELP 'SELECT'; ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值