• external table ---外部表:Hive中的外部表和表很类似,但是其数据不是放在自己表所属的目录中,而是存放到别处,这样的好处是如果你要删除这个外部表,该外部表所指向的数据是不会被删除的,它只会删除外部表对应的元数据;而如果你要删除表,该表对应的所有数据包括元数据都会被删除。
• table ---表,存储在HDFS的一个目录中。
• partition ---分区:在Hive中,表的每一个分区对应表下的相应目录,所有分区的数据都是存储在对应的目录中。
• bucket ---桶,对指定的列计算其hash,根据hash值切分数据,目的是为了并行,每一个桶对应一个文件(注意和分区的区别)。
2.hive支持的数据类型
• 基本类型:tinyint, smallint, int,bigint, boolean, float, double, string,date
• 复杂类型:struct,map,array
3.创建Create语句3.1.创建表
create table test (id int, name string);
3.2.创建外部表
create external table page(id int,page string, ip string comment 'IP Address of the User')
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' 54' STORED AS TEXTFILE LOCATION '/usr/hive/external';
3.3.创建分区表
create table pageurl(id int,page string, ip string comment 'IP Address of the User')
PARTITIONED BY(date STRING, pos STRING) ROW FORMAT DELIMITED ‘ ’ FIELDS TERMINATED BY '
' STORED AS SEQUENCEFILE;
3.4.创建bucket表
create table pageu(id int,page string, ip string comment 'IP Address of the User') PARTITIONED BY(date STRING, pos STRING) CLUSTERED BY(userid) SORTED BY(id) INTO 32 BUCKETS ROW FORMAT DELIMITED ‘ ’ FIELDS TERMINATED BY ' ' STORED AS SEQUENCEFILE;
3.5 创建数据库:create database test
4.show语句show databases ---查询数据库
show tables ---查询数据表
show role grant user root ---查询用户拥有的角色
show grant user root ---查询用户拥有的权限
show functions ---查询hive所有支持的函数
DESCRIBE FUNCTION max---查询max方法的介绍
DESCRIBE FUNCTION EXTENDED max ---查询max方法的详细介绍
DESCRIBE test ---查询test表的结构
describe database test;--- 查询test数据库的结构
use test ---用test数据库
5.drop语句
5.1 删除表 drop table test;
5.2 删除数据库 drop database test;
5.3 删除角色 drop role role1;
6.load语句
load data (local) inpath '/usr/test.txt' (overwrite覆盖) into table test;
7.insert语句
insert overwrite local directory '/opt/test/data' select * from test;insert overwrite table test2 select * from test;
insert into table test3 select * from test