持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第30天,10月更文诚意加码,激发写作潜力|掘金·日新计划 - 掘金 (juejin.cn)点击查看活动详情
Hive对库的操作
1.创建库
先打开node01,进入hive
(1)简单方式
create database t2;
show databases;
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';
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');
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;
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;
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;
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();
0: jdbc:hive2://192.168.67.110:10000> select current_database();
+----------+
| _c0 |
+----------+
| default |
+----------+
1 row selected (1.426 seconds)
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;
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;
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)