1.Hive对库的操作
1.1创建库
1.简单方式。
create database t1;
show databases;
2.创建库的时候带注释。
create database if not exists t2 comment 'learning hive';
3.创建带属性的库。
create database if not exists t3 with dbproperties('creator'='hadoop','date'='2022-10-20');
1.2查看库
1.最常用查看库方式。
show databases;
2.显示数据库的详细属性信息。
desc database t3;
desc database extended t3;
3.查看正在使用哪个库。
select current_database();
1.3删除库与切换库
默认情况下,hive 不允许删除包含表的数据库。需要使用cascade 关键字。
drop database if exists t3 cascade;
切换到t2数据库。
use t2;
2.Hive对表的操作
2.1内部表与外部表
1.内部表
表目录hive会自动创建在默认的HDFS目录下/user/hive/warehouse/…。
create table test_1(id int,name string,salary bigint,addr string)
row format delimited
fields terminated by ‘,’;
2.外部表
创建的时候,需要使用external关键字,并指定表对应hdfs上的目录/aa/bb。
create external table test_2(id int,name string,salary bigint,addr string)
row format delimited
fields terminated by ‘,’
location ‘/test’;
drop在内部表时,表的元信息和表数据目录都会被删除,drop在外部表时,只删除表的元信息,表的数据目录不会被删除。
2.2数据的导入导出
1.导入
将hive服务器运行所在节点的本地磁盘上的文件导入表中。
在/opt/testData/hive目录下创建一个文本文档
1,zhangsan,23,beijing
2,lisi,22,shanghai
3,wangwu,21,guangzhou
4,zhaoliu,20,xinjiang
注意:这里load的文件是在开启server的节点上。不是在客户端节点上。
我们编辑的数据如果有中文,必须得是UTF-8编码格式,否则数据会出现乱码现象