首先是一些基础命令 ,然后会有我的练习代码供参考,也便于我的记忆整理:
***不是代码,但是这样我认为有利于一眼看到重点!!!***
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 - 加载数据
①insert into - 插入数据
②insert overwrite - 覆盖数据(insert … values从Hive 0.14开始可用。)
(2)update table - 更新表(update在Hive 0.14开始可用,并且只能在支持ACID的表上执行)
(3)delete from table where id = 1; - 删除表中ID等于1的数据(delete在Hive 0.14开始可用,并且只能在支持ACID的表上执行)
(4)merge - 合并(MERGE在Hive 2.2开始可用,并且只能在支持ACID的表上执行)
注意:频繁的update和delete操作已经违背了Hive的初衷。不到万不得已的情况,还是使用增量添加的方式最好。
---------------------
作者:Mr-Hunter
来源:CSDN
原文:https://blog.csdn.net/qq_41035588/article/details/90636494
版权声明:本文为博主原创文章,转载请附上博文链接!
下面开始实际的操作
1.创建数据仓库DB:
hive> create database DB;
OK
Time taken: 0.178 seconds
2.在创建库时,应避免新建的库名与已有库名重复,如果库名重复将会报出以下错误(我在已有DB库的前提下,再次创建了DB库)
hive> create database if not exists DB;
OK
Time taken: 0.022 seconds
3.查看数据库信息及路径
hive> describe database DB;
OK
db hdfs://bin01:9000/user/hive/warehouse/db.db root USER
Time taken: 0.034 seconds, Fetched: 1 row(s)
4.删除数据仓库DB,并查看表
hive> drop database if exists DB;
OK
Time taken: 0.238 seconds
hive> show tables;
OK
aa
user1
Time taken: 0.033 seconds, Fetched: 2 row(s)
5.查看已存在的表
hive> show tables;
OK
aa
user1
Time taken: 0.033 seconds, Fetched: 2 row(s)
6.创建内部表cat,并查看
hive> create table cat(cat_id string ,cat_name string);
OK
Time taken: 0.209 seconds
hive> show tables;
OK
aa
cat
user1
Time taken: 0.029 seconds, Fetched: 3 row(s)
7.创建重复表会出现的错误信息
hive> create table cat(cat_id string ,cat_name string);
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. AlreadyExistsException(message:Table cat already exists)
8…创建一个外部表,表名为cat2,有两个字段为cat_id和cat_name,字符类型为string。
hive> create external table if not exists cat2(cat_id string,cat_name string);
OK
Time taken: 0.075 seconds
hive> show table
table tables tablesample
hive> show tables;
OK
aa
cat
cat2
user1
Time taken: 0.034 seconds, Fetched: 4 row(s)
9.在内部表cat中添加字段,并查看表结构
hive> alter table cat add columns (group_id string,cat_code string);
OK
Time taken: 0.211 seconds
hive> desc cat;
OK
cat_id string
cat_name string
group_id string
cat_code string
Time taken: 0.126 seconds, Fetched: 4 row(s)
10.将表cat2重命名为cat3,并查看表
hive> alter table cat2 rename to cat3;
OK
Time taken: 0.177 seconds
hive> show tables;
OK
aa
cat
cat3
user1
Time taken: 0.016 seconds, Fetched: 4 row(s)
11.删除表cat3,并查看表
hive> drop table cat3;
OK
Time taken: 0.886 seconds
hive> show tables;
OK
aa
cat
user1
Time taken: 0.031 seconds, Fetched: 3 row(s)
12.新建表cat4 与cat表的结构相同,并查看表
hive> create table cat4 like cat;
OK
Time taken: 0.135 seconds
hive> show tables;
OK
aa
cat
cat4
user1
Time taken: 0.023 seconds, Fetched: 4 row(s)