hive进阶学习

2017-04-16  本文已影响37人  来往穿梭

创建hive表常用语句:

1. create [external] table if not exists default.xc_log_20170416 (
ip string,
user string ,
...
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
STORED AS TEXTFILE 
)
LOCATION '/user/hive/warehouse/xc_log_20170416';
2. create table if not exists default.xc_log_20170416_cp 
AS select ip,user from default.xc_log_20170416;
3. create table if not exists default.xc_log_20170417 
like default.xc_log_20170416;

修改hive表名称:

alter table dept_like rename to dept_like_rename;

内部表 vs 外部表:

内部表也称为MANAGED_TABLE;
默认存储在/user/hive/warehouse下,也可通过location指定(很少指定)
删除表时,会删除表数据以及元数据
外部表称为EXTERNAL_TABLE;
在创建表时可以自己指定目录位置(LOCATION);
删除表时,只会删除元数据而不会删除表数据

创建分区表以及补充操作:

dfs -mkdir -p /user/hive/warehouse/dept_part/day=20170417 ;
dfs -put /.../.../some.txt /user/hive/warehouse/dept_part/day=20170417;
hive (default)> msck repair table dept_part;

hive中查询介绍:

having :

例:求每个部门平均工资大于2000 的部门
select dept,avg(sal) avg_sal from emp group by dept having avg_sal > 2000;

hive中排序:

上一篇下一篇

猜你喜欢

热点阅读