Hive的Shell操作

一、Hive的命令行

1、Hive支持的一些命令

Command Description

quit Use quit or exit to leave the interactive shell.

set key=value Use this to set value of particular configuration variable. One thing to note here is that if you misspell the variable name, cli will not show an error.

set This will print a list of configuration variables that are overridden by user or hive.

set -v This will print all hadoop and hive configuration variables.

add FILE [file] [file]* Adds a file to the list of resources

add jar jarname

list FILE list all the files added to the distributed cache

list FILE [file]* Check if given resources are already added to distributed cache

! [cmd] Executes a shell command from the hive shell

dfs [dfs cmd] Executes a dfs command from the hive shell

[query] Executes a hive query and prints results to standard out

source FILE Used to execute a script file inside the CLI. 在hive的客户端执行一个hql脚本

2、语法结构

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

说明:

1、-i 从文件初始化 HQL

2、-e 从命令行执行指定的 HQL

3、-f 执行 HQL 脚本

4、-v 输出执行的 HQL 语句到控制台

5、-p connect to Hive Server on port number

6、-hiveconf x=y(Use this to set hive/hadoop configuration variables)

7、-S:表示以不打印日志的形式执行命名操作

3、示例

(1)运行一个查询

[qyl@qyl01 ~]$ hive -e "select * from cookie.cookie1;"

(2)运行一个文件

 编写hive.sql文件

运行编写的文件

(3)运行参数文件

从配置文件启动hive,并加载配置文件当中的配置参数

 

二、Hive的参数配置方式

1、Hive的参数配置大全

    https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties

2、Hive参数设置方式

    开发Hive应用时,不可避免的需要设定Hive的参数,设定Hive的参数可以调优HQL代码的执行效率,或帮助定位解决问题。然而实践中经常晕倒的一个问题是,为什么设定的参数没有起作用?这通常是错误的设定方式导致的。

   1、配置文件(全局有效)

   2、命令行参数(对Hive启动实例有效)

   3、参数声明(对hive的连接session有效)

(1)配置文件

            Hive 的配置文件包括:

              A. 用户自定义配置文件:$HIVE_CONF_DIR/hive-site.xml

              B. 默认配置文件:$HIVE_CONF_DIR/hive-default.xml

                用户自定义配置会覆盖默认配置。

              另外,Hive 也会读入 Hadoop 的配置,因为 Hive 是作为 Hadoop 的客户端启动的,Hive 的配 置会覆盖 Hadoop 的配置。

配置文件的设定对本机启动的所有 Hive 进程都有效。

(2)命令行参数

         启动 Hive(客户端或 Server 方式)时,可以在命令行添加-hiveconf param=value 来设定参数,例如:

这一设定对本次启动的 session(对于 server 方式启动,则是所有请求的 session)有效。

(3)参数声明

   可以在 HQL 中使用 SET 关键字设定参数,例如:

 

 

 

### 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、付费专栏及课程。

余额充值