Day05 Hive DDL
一、数据库
1. 创建数据库
基本语法:create database 库名;
可选:
if not exists:如果表不存在则创建,存在则不创建(避免报错产生尴尬)。
Location:在查询该库时可以显示信息。(一般用于指定该库关联hdfs中的目录,不写则默认执行)
with dbproperties:在查询库时显示信息,不会影响库
Comment:描述,记得加引号
2. 查看库
普通:show databases;
高级:desc database 库名;
尼古拉斯赵四:desc database extended 库名;
3. 修改库
alter database 库名 set dbproperties(“…”=”…”,…)
4. 删除库
(1) 普通:drop database 库名;
(2) 强制:drop database 库名 cascade;
(3) 未卜先知: drop database if exists 库名;
二、创建数据表
1. 普通
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name – EXTERANL: 外部表
[(col_name data_type [COMMENT col_comment], …)] – 列名 列类型 列描述信息 …
[ROW FORMAT delimited fields terminated by … ] – 指定一条数据字段与字段的分割符
[collection items terminated by … ] – 指定集合元素与元素的分割符
[map keys terminated by … ] – 指定map的kv的分割符
2. 大拿
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name – EXTERANL: 外部表
[(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, …) – 创建分桶表指定分桶字段 分桶列名
INTO num_buckets BUCKETS] – 指定分桶数
[ROW FORMAT delimited fields terminated by … ] – 指定一条数据字段与字段的分割符
[collection items terminated by … ] – 指定集合元素与元素的分割符
[map keys terminated by … ] – 指定map的kv的分割符
[STORED AS file_format] – 指定文件存储格式,默认为 textfile
[LOCATION hdfs_path] – 指定表在hdfs中对应的路径
[TBLPROPERTIES (property_name=property_value, …)] – 指定表的属性
[AS select_statement] – 基于某个查询建表