文章目录
Hive DDL语句主要和database/schema, table/view, function等有关,全部的操作可以查看Hive Confluence, 包括:
- CREATE DATABASE/SCHEMA, TABLE, VIEW, FUNCTION, INDEX
- DROP DATABASE/SCHEMA, TABLE, VIEW, INDEX
- TRUNCATE TABLE
- ALTER DATABASE/SCHEMA, TABLE, VIEW
- MSCK REPAIR TABLE (or ALTER TABLE RECOVER PARTITIONS)
- SHOW DATABASES/SCHEMAS, TABLES, TBLPROPERTIES, VIEWS, PARTITIONS, FUNCTIONS, INDEX[ES], COLUMNS, CREATE TABLE
- DESCRIBE database/schema, table, view
1. Database Statements
Database作为命名空间,用于避免表,视图,分区,列等的命名冲突。
1.1 Create Database
CREATE [REMOTE] (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path]
[MANAGEDLOCATION hdfs_path]
[WITH DBPROPERTIES (property_name=property_value, ...)];
-
参数
LOCATION: 为EXTERNAL TABLE指定默认的路径。MANAGEDLOCATION: 为MANAGED TABLE指定默认的路径。
-
例子
hive> CREATE DATABASE IF NOT EXISTS `test_db`;
OK
Time taken: 0.079 seconds
1.2 Drop Database
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];
- 参数
RESTRICT: 默认行为,如果数据库不为空,DROP DATABASE会失败。CASCADE: 同时删除数据库中的表。
1.3 Alter Database
ALTER (DATABASE|SCHEMA) database_name SET DBPROPERTIES (property_name=property_value, ...); -- (Note: SCHEMA added in Hive 0.14.0)
ALTER (DATABASE|SCHEMA) database_name SET OWNER [USER|ROLE] user_or_role; -- (Note: Hive 0.13.0 and later; SCHEMA added in Hive 0.14.0)
ALTER (DATABASE|SCHEMA) database_name SET LOCATION hdfs_path; -- (Note: Hive 2.2.1, 2.4.0 and later)
ALTER (DATABASE|SCHEMA) database_name SET MANAGEDLOCATION hdfs_path; -- (Note: Hive 4.0.0 and later)
只有上面描述的数据库元数据可以被修改。
- 参数
SET LOCATION: 不会改变已经存在的表/分区的路径,只会影响新建的表的路径。
4. Use Database
USE database_name;
USE为后续HiveQL语句设置当前查询的数据库。
检查当前在使用的数据库可以使用:
SELECT current_database()
1.4 Query Databases
1. Show Databases
SHOW (DATABASES|SCHEMAS) [LIKE 'identifier_with_wildcards'];
列出所有的数据库。
- 参数
LIKE: 使用正则表达或通配符过滤数据库。
2. Describe Database
DESCRIBE (DATABASE|SCHEMA) [EXTENDED] db_name;
显示数据库的名称,注释和根路径。
- 参数
EXTENDED: 同时显示数据库的属性。
2. Table Statements
表指具有相同schema的同质数据单元。
2.1 Create Table
有多种方式创建表,包括:
1. CREATE TABLE

本文详细介绍了Hive的DDL(数据定义语言)操作,涵盖了创建数据库、表、分区,以及数据库和表的管理、查询和维护。主要内容包括创建表的各种方式,如CTAS、分区添加与修改,以及数据清理与权限设置。
最低0.47元/天 解锁文章
5418

被折叠的 条评论
为什么被折叠?



