1、Hive的基本命令行操作
(1)启动hive默认的命令行客户端
bin/hive
(2)查看数据库列表
show databases;
(3)使用默认数据库
use default;
(4)查看该数据库下有几张表
show tables;
(5)这里我们可以在default数据库下面创建一张表student
create table if not exists student(
id int,
name string
)row format delimited fields terminated by '\t';
(6)查看某张表的结构
desc student;
或者
desc formatted student;
(7)向表中插入数据(语法跟MySQL一样)
insert into student values(1001,'hive');
(8)查询表中的数据
select * from student;
#如果表的数据量比较大,可以通过limit关键字来限制返回数据的数量
select * from student limit 1;
(9)退出hive命令行客户端
exit;
2、Hive的常用交互命令
(1)可以查看hive客户端交互命令帮助文档说明
bin/hive -help
(2)第一个常用的参数-e的作用就是不进入hive的命令行窗口来执行hql语句
bin/hive -e "hql语句"
(3)第二个常用的参数-f的作用就是将编写好的hive的sql语句放到后缀名为.hql文件中并执行
bin/hive -f xxx.hql
(4)还可以将执行xxx.hql文件产生的结果追加到某个文件中
bin/hive -f xxx.hql > 要追加的文件所在的目录地址
(5)--hivevar参数作用就是在进入hive命令行客户端回去可以设置hive的临时变量
bin/hive --hivevar 临时变量名='临时变量值'
3、Hive数据库存放在hdfs上的默认位置配置
1)默认hive的default数据仓库是在hdfs的/user/hive/warehouse路径下
(1)在仓库目录下,没有对默认的数据库default创建文件夹。如果某张表属于default数据库,直接在数据仓库目录下创建一个文件夹。
(2)修改数据仓库(在hive客户端中创建的数据库)在hdfs上的存储路径,只需在hive-site.xml文件中配置 hive.metastore.warehouse.dir属性的值为你想要在hdfs上存放路径即可
2)Hive参数的配置方式和加载顺序
(1)采取配置文件的方式:默认是先加载hadoop的配置,再加载hive-default.xml文件中的属性配置 ,最后再加载hive-site.xml文件中的配置,所以如果在hive-site.xml文件中配置了和hive-default.xml文件中有相同属性的配置,会覆盖掉hive-default.xml文件中默认的属性配置
(2)命令行参数配置方式(仅对本次启动的hive命令行客户端生效):在启动hive客户端时可以指定属性设置,可以通过参数-hiveconf param=value的格式来设置参数。
(3)临时参数配置(仅对本地启动的hive命令行客户端生效):进入hive的命令行客户端后使用set关键字来设置临时参数
set 属性名=属性值;
(4)总结上述3种配置方式的优先级顺序(依次递增,后面设置的会覆盖掉前面设置的):配置文件 < 命令行参数 < 在hive客户端窗口通过set关键字设置的属性参数