Data Definition Laguange俗称数据定义语言。
hive的DDL操作包括了一些基本的建表和一些基本命令操作
基本操作
查看数据库:show databases;
使用某一个数据库:use tablename;
查看某一个数据库的表:show tables;
显示某一个表的列信息:desc tablename或者describe tablename
显示表的详细信息:desc formatted tablename;
建表
"[]"里面的内容代表可选的
create [temporary:临时表] [external:外部表] table [if not exists] tablename
[(col_name data_type [COMMENT col_comment:对column的介绍],....:表的列信息]
[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]:存储位置,一般用于外部表
fields terminited by '....':以什么分割column
map keys terminited by '...':map键值之间以什么分割
collection items terminited by ’..':集合之间以什么分割
LINES TERMINATED BY char:每条数据之间由换行符分割(默认[ \n ])。
Drop Alter
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];
RESTRICT:默认是restrict,如果该数据库还有表存在则报错;
CASCADE:级联删除数据库(当数据库还有表时,级联删除表后再删除数据库) --生产尽量不用。
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;
官网详细操作文档
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL