Hadoop-Hive语句一览

数据库操作

创建数据库

create database 数据库名;

创建数据库并指定HDFS存储位置

create database 数据库名 location 'HDFS路径';

删除空数据库

drop database 数据库名;

删除非空数据库

drop  database  数据库名 cascade;

查看数据库基本信息

desc  database  数据库名;

查看数据库更多详细信息

desc database extended 数据库名;

数据表操作

普通表

创建表并指定字段之间的分隔符

 create table 表名(字段名 字段类型,字段名 字段类型)
 row format delimited fields terminated by '分隔符';

根据查询结果创建表

create table 表名 as select * from 表名;

根据已经存在的表结构创建表

create table  表名 like 表名;

查询表的基本信息

desc 表名;

查询表的类型

desc formatted  表名;

从本地文件系统向表中加载数据

load data local inpath '本地文件路径' into table 表名;

从本地文件系统向表中加载数据并覆盖已有数据

load data local inpath '本地文件路径' overwrite  into table 表名;

从HDFS向表中加载数据

load data  inpath 'HDFS路径' into table 表名;

从HDFS向表中加载数据并覆盖已有数据

load data  inpath 'HDFS路径' overwrite  into table 表名;

分区表

创建分区表

create table 表名(字段名 字段类型,字段名 字段类型)
partitioned by (字段名 字段类型,字段名 字段类型 
row format delimited fields terminated by '分隔符';

从本地加载数据到分区表

load data local inpath '本地路径' into table 表名 
partition(分区字段='XXX',分区字段='XXX',分区字段='XXX');

多分区联合查询

select * from 表名 where 分区字段='XXX'
union all 
select * from 表名 where 分区字段='XXX';

查看分区

show  partitions  表名;

添加分区

alter table 表名 add partition(分区字段='XXX') partition(分区字段='XXX');

删除分区

alter table 表名 drop partition(分区字段='XXX');

分桶表

开启hive的桶表功能

set hive.enforce.bucketing=true;

设置reduce的个数

set mapreduce.job.reduces=个数;

创建桶表

create table 表名(字段名 字段类型,字段名 字段类型) 
clustered by(分桶字段) into 分桶个数 buckets 
row format delimited fields terminated by '分隔符';

向桶表中加载数据

insert overwrite table 桶表名 select * from 普通表名  cluster by(分桶字段);

其他表操作

重命名

alter  table  旧表名  rename  to  新表名;

添加字段

alter table 表名 add columns (字段名 字段类型);

更改字段类型

alter table 表名 change column 字段名 字段类型;

清空内部表数据

truncate table 表名;

修复表

msck  repair   table  表名;

导出表到本地

insert overwrite local directory '本地路径' select * from 表名;

导出表到HDFS

insert overwrite  directory 'HDFS路径' select * from 表名;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值