Hive数据定义语言DDL简介
Hive数据定义语言(Data Definition Language,简称DDL)是一种用于定义数据库表结构的语言。它可以定义表结构,指定主键,定义字段类型,指定索引等。Hive的DDL有CREATE、ALTER、DROP、TRUNCATE等语句,可以用来定义和管理Hive表。
1、CREATE语句
CREATE语句用于创建Hive表,其语法格式如下:
CREATE 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 (col_name, col_name, ...) [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION hdfs_path] [TBLPROPERTIES (property_name=property_value, ...)]
2、ALTER语句
ALTER语句用于修改Hive表的结构,其语法格式如下:
ALTER TABLE table_name [PARTITION partition_spec] [RENAME TO new_table_name] [ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)] [CHANGE col_old_name col_new_name data_type [COMMENT col_comment]] [SET FILEFORMAT file_format] [SET LOCATION hdfs_path] [SET TBLPROPERTIES (property_name=property_value, ...)] [UNSET TBLPROPERTIES [IF EXISTS] (property_name[, property_name] ...)] [ADD|REPLACE PARTITION partition_spec [LOCATION hdfs_path]]
3、DROP语句
DROP语句用于删除Hive表,其语法格式如下:
DROP TABLE [IF EXISTS] table_name [PURGE]
4、TRUNCATE语句
TRUNCATE语句用于清空Hive表中的数据,其语法格式如下:
TRUNCATE TABLE [IF EXISTS] table_name [PARTITION (partition_col = 'partition_col_value', ...)] [PURGE]