二、Hive数据仓库应用之Hive数据定义语言(二)(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)

Hive远程模式部署参考:
一、Hive数据仓库应用之Hive部署(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)

数据库与表的基本操作参考:
二、Hive数据仓库应用之Hive数据定义语言(一)(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)

三、分区表操作

1、创建分区表

在数据库hive_database中创建分区表partitioned_table。

CREATE TABLE IF NOT EXISTS  
hive_database.partitioned_table(
username STRING COMMENT "This is username", 
age INT COMMENT "This is user age") 
PARTITIONED BY (
province STRING COMMENT "User live in province",
city STRING COMMENT "User live in city")
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS textfile
TBLPROPERTIES("comment"="This is a partitioned table");

2、查询分区表

查询数据库hive_database中分区表partitioned_table的分区信息。

SHOW PARTITIONS hive_database.partitioned_table;

在这里插入图片描述

3、添加分区

向数据库hive_database的分区表partitioned_table添加分区。

ALTER TABLE hive_database.partitioned_table 
ADD PARTITION (province='HeBei', city='HanDan') 
location '/user/hive_local/warehouse/hive_database.db/HeBei' 
PARTITION (province='ShanDong', city='JiNan') 
location '/user/hive_local/warehouse/hive_database.db/ShanDong';

之后执行相关指令查看新的分区内容:
在这里插入图片描述

4、重命名分区

重命名数据库hive_database中分区表partitioned_table的分区。

ALTER TABLE hive_database.partitioned_table PARTITION 
(province='HeBei', city='HanDan') 
RENAME TO PARTITION (province='HuBei', city='WuHan');

之后执行相关指令查看新的分区内容:
在这里插入图片描述

5、移动分区

5.1 在数据库hive_database中,创建与分区表partitioned_table表结构一致的分区表partitioned_table1。

CREATE  TABLE IF NOT EXISTS  
hive_database.partitioned_table1(
username STRING COMMENT "This is username", 
age INT COMMENT "This is user age"
) 
PARTITIONED BY (
province STRING COMMENT "User live in province",
city STRING COMMENT "User live in city"
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS textfile
TBLPROPERTIES("comment"="This is a partitioned table");

5.2 将分区表partitioned_table的二级分区province=HuBei/city=WuHan移动到分区表partitioned_table1。

ALTER TABLE hive_database.partitioned_table1 EXCHANGE 
PARTITION (province='HuBei', city='WuHan') WITH TABLE partitioned_table;

5.3 分别执行指令查看分区表partitioned_table和partitioned_table1的分区信息。

SHOW PARTITIONS hive_database.partitioned_table;
SHOW PARTITIONS hive_database.partitioned_table1;

在这里插入图片描述

6、删除分区

删除数据库hive_database中分区表partitioned_table1的分区。

ALTER TABLE hive_database.partitioned_table1 DROP IF EXISTS PARTITION (province='HuBei', city='WuHan');
SHOW PARTITIONS hive_database.partitioned_table1;

在这里插入图片描述

四、分桶表操作。

1、创建分桶表

在数据库hive database中创建分桶表clustered table。

CREATE  TABLE IF NOT EXISTS  
hive_database.clustered_table(
id STRING,
name STRING,
gender STRING,
age INT,
dept STRING
) 
CLUSTERED BY (dept) SORTED BY (age DESC) INTO 3 BUCKETS
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS textfile
TBLPROPERTIES("comment"="This is a clustered table");

2、查看分桶表

查看数据库hive_database中分桶表clustered_table的信息。

DESC FORMATTED hive_database.clustered_table;

在这里插入图片描述

五、临时表操作。

1、创建临时表

在数据库hive_database中创建临时表temporary_table。

CREATE TEMPORARY TABLE 
hive_database.temporary_table 
(name STRING, 
age int, 
genter STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
STORED AS textfile
TBLPROPERTIES("comment"="This is a temporary table");

2、查看临时表内容

DESC FORMATTED temporary_table;

在这里插入图片描述

六、视图操作。

1、创建视图

在数据库hive_database中创建视图view_table。

CREATE VIEW IF NOT EXISTS hive_database.view_table
 COMMENT "This is a view table" 
AS SELECT staff_name FROM hive_database.managed_table_new;

2、查看视图基本结构。

DESC view_table;

在这里插入图片描述

3、查询视图信息

查看视图view_table 的详细结构信息和基本结构信息。

DESC FORMATTED view_table;

在这里插入图片描述

4、修改视图:

4.1 修改视图属性
修改数据库hive_database中视图view_table的属性。

ALTER VIEW hive_database.view_table SET TBLPROPERTIES("comment"="view table");

在这里插入图片描述

4.2 修改视图结构
修改数据库hive_database中视图view_table结构。

ALTER VIEW hive_database.view_table AS SELECT salary,hobby FROM managed_table_new;

在这里插入图片描述

5、删除视图

删除数据库hive_database中的视图view_table。

DROP VIEW IF EXISTS hive_database.view_table;

在这里插入图片描述

七、索引操作

1、创建索引

为数据库内部表managed_table_new创建索引index_staff_name。

CREATE INDEX index_staff_name
ON TABLE hive_database.managed_table_new (staff_name)
AS 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' 
WITH DEFERRED REBUILD
IN TABLE index_name_table
TBLPROPERTIES ("create"="itcast")
COMMENT "index comment";

2、查看索引表

SHOW TABLES;
DESC FORMATTED index_name_table;

在这里插入图片描述

3、查看索引

SHOW INDEXES ON managed_table_new FROM hive_database;

在这里插入图片描述

4、重建索引

ALTER INDEX index_staff_name ON hive_database.managed_table_new REBUILD;

在这里插入图片描述

5、删除索引

DROP INDEX IF EXISTS index_staff_name ON managed_table_new;
SHOW TABLES;

在这里插入图片描述

参考文献:黑马程序员.Hive数据仓库应用[M].北京:清华大学出版社,2021.

后续学习链接:
三、Hive数据仓库应用之Hive数据操作语言(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七层楼的疯子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值