1、DDL操作
DDL 语句 建表 删除表(清空表) 修改表结构(查看表结构) 创建数据库 显示命令
1.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| ORDER BY| SORT BY (col_name, col_name, ...) [ROW FORMAT row_format] [STORED AS file_format] ORDER BY: [LOCATION hdfs_path]
1、CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用 户可以用 IF NOT EXIST 选项来忽略这个异常
2、EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的 路径(LOCATION)
3、LIKE 允许用户复制现有的表结构,但是不复制数据
4、COMMENT 可以为表与字段增加描述
5、ROW FORMAT DELIMITED [FIELDS TERMINATED BY char] [LINES TERMINATED BY char] | SERDE serde_name
[WITH SERDEPROPERTIES (property_name=property_value, property_name=property_value, ...)]
用户在建表的时候可以自定义 SerDe 或者使 用自带的 SerDe。如果没有指定 ROW FORMAT 或者 ROW FORMAT DELIMITED,将会使用自带的 SerDe。
在建表的时候,用户还需要为表指定列,用户在指定表的列的同时也会指 定自定义的 SerDe,Hive 通过 SerDe 确定表的具体的列的数据。
6、STORED AS SEQUENCEFILE | TEXTFILE | RCFILE | INPUTFORMAT input_format_classname OUTPUTFORMAT output_format_classname
如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS RCFILE。