Hive基本操作
1. Hive常用命令
1.1 Hive启动
先启动hadoop集群,再启动hive
start-all.sh
hive
1.2 Hive退出
quit;
1.3 Hive查看历史命令
linux环境下进入家目录,查看. hivehistory文件
cd ~
cat .hivehistory
1.4 Hive常用交互命令
不进入hive交互窗口也可用以下命令执行SQL语句
①不进入hive交互窗口执行SQL语句
hive -e 'select * from orders limit 5;'
②不进入hive交互窗口保存SQL语句的文件
[root@master ~]# vim orders.txt
[root@master ~]# hive -f ./orders.txt
2. 数据库基本操作
2.1 创建数据库
create database 库名;
2.2 创建数据库并指定hdfs存储位置
create database 库名 location '/test';
2.3 删除空数据库
drop database 库名;
注:使用该命令删除只能删除空数据库,如果数据库下面有数据表,就会报错!
2.4 强制删除非空数据库
drop database 库名 cascade;
2.5 查看所有数据库
show databases;
2.6 查看数据相关信息
desc database 库名; //查看库基本信息
desc database extended 库名; //查看库详细信息
2.7 数据库切换
use 库名;
2.8 修改数据库
数据库的元数据信息是不可更改的,包括数据库的名称以及数据库所在的位置,即 desc展示的数据是不可更改的。但可以使用alter database 命令来修改数据库的一些属性。修改数据库也就是添加数据库的属性,并且这个些属性只能通过extended查看。
alter database 库名 set dbproperties('createtime'='20210206');
desc database extended 库名; //查看修改信息
3. 数据表基本操作
3.1 创建表
3.1.1 创建表的方式
-
直接建表法
create table tableName(字段名称 字段类型 [comment '中文注释说明'],字段名称 字段类型, ....) row format delimited fields terminated by 'char分割符即列分割符' lines terminated by '行分割符';
– [comment ‘中文注释说明’] 添加中文注释说明,可选项
– [row format delimited fields terminated by ‘char分割符即列分割符’] // 设置字段分隔符,通常为空格、逗号、制表符\t
– [lines terminated by ‘行分割符’] // 设置行分隔符,一般为\n, 一般默认不写这一句
– 字段分割符、行分割符选择是由你将上传到这个表的数据格式决定的
– 应用场景:直接进行 字段类型,字段备注,数据存储格式的自定义 -
抽取建标法(as)
create table new_table_name as select * from table_name;
应用场景:中间逻辑处理的时候进行建表,直接复制表的数据和结构,也就是建立一张临时表,方便以后的使用
-
like建标法
create table table_name_like like table_name
应用场景:只关注表结构,不需要数据
3.1.2 创建内部表
create table tableName(字段名称 字段类型,字段名称 字段类型, ....)
row format delimited fields terminated by