Hive建表基本语法

CREATE [EXTERNAL] TABLE [IF NOT EXIST] 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],...)] INFO num_buckets BUCKETS]
[ROW FORMAT row_format]
[STORED AS file_format]
[LOCATION hdfs_path]

解释

  • CREATE TABLE 创建一个指定名字的表,如果名字相同抛出异常,用户可以使用IF NOT EXIST来忽略异常
  • EXTERNAL 关键字可以创建一个外部表,在建表的同时指定一个实际数据的路径(​LOCATION​);Hive在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据
  • COMMENT 为表和列添加注释
  • PARTITIONED BY 分区表
  • CLUSTERED BY 建分桶
  • SORTED BY 排序(不常用)
  • ROW FORMAT 定义行的格式
  • STORED AS 指定存储文件类型
  • LOCATION 指定表在HDFS上的存储位置
  • LIKE 允许复制现有的表结构但是不复制数据