1.查看建表语句
show create table table_name;
2.查看表的元信息
desc table_name;
desc extended table_name;
desc formatted table_name;
3.重命名表
alter table table_name to rename to new_table;
4.创建数据库
cretae database database_name;
5.查看数据库
show databases;
6.删除数据库
drop database tmp;
7.强制删除数据库
drop database tmp cascade;
8.修改数据类型
alter table lv_test change column colxx string;
9.增加分区
alter table test_table add patition (pt=xxx)
10.删除分区
alter table test_table drop if exists partition(…);
11.select后可用语法
where --用于过滤,分区裁剪,指定条件
join --用于两表关联,left outer join,join,mapjoin
group by --用于分组聚合
order by --用于全局排列,要尽量避免排序,是针对全局排序的,即对所有的reduce输出是有序的
sort by --sort by : 当有多个reduce时,只能保证单个reduce输出有序,不能保证全局有序
cluster by = distribute by + sort by
distinct --去重
12.mapjoin
将小表广播分发到各个计算节点的内存里
用于大表关联小表,注意,关联的时候,左表需要是大表
select /+mapjoin/ uid,name from bigtable b left outer join small s on biuid=s.uid
select /+mapjoin/ * from bigtable b left outer join small s on biuid=s.uid
select /+mapjoin/ * from bigtable b left outer join small s on biuid=s.uid where …
13.join
左连接会按照左表匹配关联,不管是否能关联上,左边全部输出,没有匹配的右边表,为null。
select a from A a left join B b on a.id=b.id where b.id is not null
//先join后过滤
select * from city_data d left outer join city_id c on d.city_id=c.city_id where pt=‘join’;
优化写法:
select * from (select * from city_data where pt=‘join’) d left outer join city_id c on d.city_id=c.city_id ;
//这种写法是 先过滤(导致数据量变小)后join
去重:
select distinct city_id from country_info_table limit 100;
排序:
select * from city_data distribute by city_id sort by duration;
14.外部表和普通表 //内部表也叫普通表
create table city_data_as_S as select * from city_data_503 limit 10;
注意:新建表不允许是外部表
select 后面表需要是已经存在的表,建表同时会加载数据。
会启动mapreduce任务去读取源表数据写入新表
create external table if not exists city_data_like like data_503;
注意:
外部表和普通表的区别:
1.外部表的路径可以自定义,内部表的路径需要在 hive/warehouse/目录下
2.删除表后,普通表数据文件和表信息都删除,外部表仅删除表信息
//外部表:删除表,数据不会删除
//内部表:删除表,数据会删除
外部表其他功能:可以映射外部数据源。
Hive SQL基础操作指南
本文详细介绍Hive SQL的基本操作,包括查看建表语句、表的元信息、重命名表、创建及删除数据库等。此外,还深入解析了数据类型修改、分区管理、SQL查询语法,如where、join、group by、order by、sort by、cluster by、distinct等,以及内外部表的区别。
2144

被折叠的 条评论
为什么被折叠?



