1、DDL 操作
掌握 Hive 的各种基本操作:创建库和表。
1.1、库操作
1.1.1、创建库
语法结构:
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path]
[WITH DBPROPERTIES (property_name=property_value, ...)];
创建库的使用方式:
(1)创建普通库:
create database dbname;
(2)创建库的时候检查存与否(常用):
create databse if not exists dbname;
(3)创建库的时候带注释:
create database if not exists dbname comment 'create my db named dbname';
(4)创建带属性的库
# 语法结构
create database if not exists dbname with dbproperties ('a'='aaa','b'='bbb');
# 事例
create database if not exists myhive with dbproperties ('a'='aaa','b'='bbb');
1.1.2、查看库
(1)查看有哪些数据库:
show databases;
(2)显示数据库的详细属性信息:
# 语法
desc database [extended] dbname;
# 示例
desc database extended myhive;
(3)查看正在使用哪个库:
select current_database();
(4)查看创建库的详细语句:
show create database mydb;
1.1.3、删除库
删除库的使用方式:
(1)普通删除库:
drop database dbname;
(2)删除库的时候检查存与否(常用):
drop database if exists dbname;
默认情况下,hive 不允许删除包含表的数据库,有两种解决办法:
(1)手动删除库下所有表,然后删除库;
(2)使用 cascade 关键字(常用):
drop database if exists dbname cascade;
# 默认情况下就是 restrict
drop database if exists myhive; # <====> drop database if exists myhive restrict;
1.1.4、切换库
切换库操作:
# 语法
use database_name;
# 实例
use myhive;
1.2、表操作
1.2.1、创建表
(1)建表语句:
语法结构:
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
[(col_name data_type [COMMENT col_comment], ...)]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
[CLUSTERED BY