基本介绍
略
基本操作
DDL语句
建表语句
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 row_format] *row format delimited fiedls terminated by '\t';(一般必加的语句)*
[STORED AS file_format]
[LOCATION hdfs_path] *针对的extetnal外部表,要指定存储路径,不指定也没事,默认路径。内部表不用指定,默认路径*
CREATE TABLE 创建表有三种方式,第一种是直接使用create table,第二种是使用create table table_name as select ·······,第三种使用 create table table_name like exist_table_name,只复制现有的表结构,不复制表数据;
EXTERNAL 可以让用户创建一个外部表,搭配LOCATION使用,指定数据存放路径。未指定LOCATION时,外部表的数据会存放在默认的路径。hive创建内部表的时候,会将数据移动到数据仓库中。在做删除操作的时候,内部表会将表的元数据以及数据都删除,而外部表则只删除表的元数据,相应的数据不作删除。
IF NOT EXISTS 在创建表的时候,若是已存在相同表名的表,则会抛出异常;加了该关键字,则会忽略异常。