【大数据系列】之Hive DDL and DML

Hive DDL and DML

Hive定义了一套自己的SQL,简称HQL,它与关系型数据库的SQL略有不同,但支持了绝大多数的语句如DDL、DML以及常见的聚合函数、连接查询、条件查询。
DDL操作(数据定义语言)包括:Create、Alter、Show、Drop等。

(1)create database- 创建新数据库
(2)alter database - 修改数据库
(3)drop database - 删除数据库
(4)create table - 创建新表
(5)alter table - 变更(改变)数据库表
(6)drop table - 删除表
(7)create index - 创建索引(搜索键)
(8)drop index - 删除索引
(9)show table - 查看表

DML操作(数据操作语言)包括:Load 、Insert、Update、Delete、Merge。

(1)load data - 加载数据
(2)insert into - 插入数据
insert overwrite - 覆盖数据(insert … values从Hive 0.14开始可用。)
(3)update table - 更新表(update在Hive 0.14开始可用,并且只能在支持ACID的表上执行)
(4)delete from table where id = 1; - 删除表中ID等于1的数据(delete在Hive 0.14开始可用,并且只能在支持ACID的表上执行)
(5)merge - 合并(MERGE在Hive 2.2开始可用,并且只能在支持ACID的表上执行)
注意:频繁的update和delete操作已经违背了Hive的初衷。不到万不得已的情况,还是使用增量添加的方式最好。

DDL数据库操作

create database 数据库名创建数据库
desc/describe database 数据库名查看数据库表结构
drop database if exists 数据库名删除数据库

DDL数据表操作

show tables;查看数据库下存在的表
create table cat(cat_id string,cat_name string);创建内部表
create external cat2(cat_id string,cat_name string);创建外部表
create table cat4 like cat;创建与cat结构一致的cat4表
desc cat;查看表结构
alter table cat2 add columns(group_id string,cat_code string);修改表结构
drop table cat3;删除表
select * from cat;查看表内容

DML数据的导入

先创建一个cat_group,导入内容以‘\t'划分
create table cat_group(group_id string,group_name string)   
           row format delimited fields  
           terminated by '\t' stored as textfile;  
load data local inpath ‘本地文件路径’ into table cat_group;从本地文件导入
load data inpath ‘hdfs文件路径’ into table cat_group;从hdfs上文件导入
insert into table cat_group2 select * from cat_group;表与表之间导入
insert overwrite table cat_group2 select * from cat_group;导入,覆盖内容
create table cat_group3 as select * from cat_group2;创建时从表导入

DML数据的导出

insert overwrite local directory ‘本地路径’ select * from cat_group;导出到本地
insert overwrite local directory ‘本地路径’ select group_id,concat(’\t’,group_name) from cat_group;导出本地,并指定分割符
insert overwrite directory ‘hdfs路径’ select * from cat_group;导出到hdfs上
insert into table cat_group3 select * from cat_group;表与表之间的导出

待完善…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值