Hive记录-Hive常用命令操作

1.hive支持四种数据模型
• 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







原文地址:https://www.cnblogs.com/xinfang520/p/7684599.html