hive表类型
内部表 MANAGER_TABLE
drop:执行drop操作时,会同时删除元数据(mysql)和真是数据文件(hdfs)
建表语句
create table 表名( .. , .. ,)
外部表 EXTERNAL_TABLE
drop:执行drop时,只会删除元数据,保留hdfs上真是数据(外部表更加安全)
建表语句
- 先建表再传入数据
create external table zhiyun49.test_wb(id int, name string);
- 先有数据再建表
create external table zhiyun49.test_wb(id int, name string)
location '/user/hive/warehouse/zhiyun49.db/test_wb';
分区表
创建表语句
create table IF NOT EXISTS
zhiyun49.emp_part(
empno int,
ename string
)
partitioned by
(area string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ;
上传数据到分区表
load data local inpath '本地路径' into table 表名 partition(分区字段=分区值);
例:load data local inpath '/home/zhiyun/emp_qingdao.txt'
into table zhiyun49.emp_part partition(area='jinan');
修复分区(给分区添加元数据)
msck repair table zhiyun49.user_trade;
分桶表
直接将一个大文件切分成若干个小文件
1.创建分桶表
create table zhiyun49.stu_buck_test
(id int, name string)
clustered by(id)
into 2 buckets
row format delimited fields terminated by '\t';
2.打开分桶的设置(临时生效)
set hive.enforce.bucketing=true;
|