Hive对库的操作

137 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第30天,10月更文诚意加码,激发写作潜力|掘金·日新计划 - 掘金 (juejin.cn)点击查看活动详情

Hive对库的操作

1.创建库

先打开node01,进入hive

image.png

image.png

(1)简单方式

create database t2;

show databases;

image.png

0: jdbc:hive2://192.168.67.110:10000> create database t2;

No rows affected (2.882 seconds)

0: jdbc:hive2://192.168.67.110:10000> show databases;

+----------------+

| database_name  |

+----------------+

| default        |

| t1             |

| t2             |

+----------------+

3 rows selected (0.813 seconds)

(2)创建库的时候带注释。

create database if not exists t2 comment 'learning hive';

image.png

0: jdbc:hive2://192.168.67.110:10000> create database if not exists t2 comment 'learning hive';
No rows affected (0.309 seconds)
0: jdbc:hive2://192.168.67.110:10000> desc database extended t2;
+----------+----------------+-----------------------------------------------+-------------+-------------+-------------+
| db_name  |    comment     |                   location                    | owner_name  | owner_type  | parameters  |
+----------+----------------+-----------------------------------------------+-------------+-------------+-------------+
| t2       | learning hive  | hdfs://node01:9000/user/hive/warehouse/t2.db  | root        | USER        |             |
+----------+----------------+-----------------------------------------------+-------------+-------------+-------------+
1 row selected (0.226 seconds)

(3)创建带属性的库。

create database if not exists t2 with dbproperties('creator'='hadoop','date'='2019-01-01');

image.png

0: jdbc:hive2://192.168.67.110:10000> create database if not exists t2 with dbproperties('creator'='hadoop','date'='2022-10-21');
No rows affected (0.138 seconds)
0: jdbc:hive2://192.168.67.110:10000> desc database extended t2;
+----------+----------+---------------------------------------------+-------------+-------------+------------------------------------+
| db_name  | comment  |                   location                    | owner_name  | owner_type  |             parameters             |
+----------+----------+---------------------------------------------+-------------+-------------+------------------------------------+
| t2       |          | hdfs://node01:9000/user/hive/warehouse/t2.db  | root        | USER        | {date=2022-10-21, creator=hadoop}  |
+----------+----------+-----------------------------------------------+-------------+-------------+------------------------------------+
1 row selected (0.247 seconds)

2查看库

(1)最常用查看库方式。

show databases;

image.png

0: jdbc:hive2://192.168.67.110:10000> show  databases;

+----------------+
| database_name  |
+----------------+
| default        |
| t1             |
| t2             |
+----------------+
3 rows selected (0.17 seconds)

(2)显示数据库的详细属性信息。

desc database t3;

image.png

0: jdbc:hive2://192.168.67.110:10000> desc database t2;
+----------+----------+-----------------------------------------------+-------------+-------------+-------------+
| db_name  | comment  |                   location                    | owner_name  | owner_type  | parameters  |
+----------+----------+-----------------------------------------------+-------------+-------------+-------------+
| t2       |          | hdfs://node01:9000/user/hive/warehouse/t2.db  | root        | USER        |             |
+----------+----------+-----------------------------------------------+-------------+-------------+-------------+
1 row selected (0.204 seconds)

desc database extended t2;

image.png

0: jdbc:hive2://192.168.67.110:10000> desc database extended t2;
+----------+----------+-----------------------------------------------+-------------+-------------+------------------------------------+
| db_name  | comment  |                   location                    | owner_name  | owner_type  |             parameters             |
+----------+----------+-----------------------------------------------+-------------+-------------+------------------------------------+
| t2       |          | hdfs://node01:9000/user/hive/warehouse/t2.db  | root        | USER        | {date=2022-10-21, creator=hadoop}  |
+----------+----------+-----------------------------------------------+-------------+-------------+------------------------------------+
1 row selected (0.179 seconds)

(3)查看正在使用哪个库。

select current_database();

image.png

0: jdbc:hive2://192.168.67.110:10000> select current_database();
+----------+
|   _c0    |
+----------+
| default  |
+----------+
1 row selected (1.426 seconds)

image.png

0: jdbc:hive2://192.168.67.110:10000> use t2;
No rows affected (0.189 seconds)
0: jdbc:hive2://192.168.67.110:10000> select current_database();
+------+
| _c0  |
+------+
| t2   |
+------+
1 row selected (0.259 seconds)

3删除库

默认情况下,hive 不允许删除包含表的数据库。需要使用cascade 关键字。

drop database if exists t3 cascade;

image.png

0: jdbc:hive2://192.168.67.110:10000> drop database if exists t2 cascade;
No rows affected (0.274 seconds)
0: jdbc:hive2://192.168.67.110:10000> show databases;
+----------------+
| database_name  |
+----------------+
| default        |
| t1             |
+----------------+
2 rows selected (0.163 seconds)

4切换库

切换到t2数据库。

use t2;

image.png

0: jdbc:hive2://192.168.67.110:10000> use t1;
No rows affected (0.151 seconds)
0: jdbc:hive2://192.168.67.110:10000> select current_database();
+------+
| _c0  |
+------+
| t1   |
+------+
1 row selected (0.239 seconds)
0: jdbc:hive2://192.168.67.110:10000> use t2;
No rows affected (0.149 seconds)
0: jdbc:hive2://192.168.67.110:10000> select current_database();
+------+
| _c0  |
+------+
| t2   |
+------+
1 row selected (0.216 seconds)