数据库和HDFS的关系
Hive的库在HDFS上就是一个以.db结尾的目录
默认存储在:/user/hive/warehouse内
可以通过LOCATION关键字在创建的时候指定存储目录
Hive中可以创建的表有好几种类型, 分别是:
内部表
外部表
分区表
分桶表
二、Hive SQL语法
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 (col_name, col_name, ...) 分桶 [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] [ROW FORMAT DELIMITED | SERDE serde_name WITH SERDEPROPERTIES(property_name=property_value,..)] [STORED AS file_format] [LOCATION hdfs_path]
[] 中括号的语法表示可选。
| 表示使用的时候,左右语法二选一。
建表语句中的语法顺序要和语法树中顺序保持一致。
字段简单说明
CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXISTS 选项 来忽略这个异常。
EXTERNAL 外部表
COMMENT: 为表和列添加注释。
PARTITIONED BY 创建分区表
CLUSTERED BY 创建分桶表
SORTED BY 排序不常用
ROW FORMAT DELIMITED 使用默认序列化LazySimpleSerDe 进行指定分隔符
SERDE 使用其他序列化类 读取文件
STORED AS 指定文件存储类型
LOCATION 指定表在HDFS上的存储位置。
LIKE 允许用户复制现有的表结构,但是不复制数据
数据类型