-
CREATE [EXTERNAL] TABLE:创建一个[外部]表。外部表与内部表的区别在于,外部表的数据存储在HDFS或其他数据存储系统上,而不是在Impala内部。
-
[IF NOT EXISTS]:如果表已存在,则不执行任何操作。这可以避免因尝试创建已存在的表而导致的错误。
-
[db_name.]table_name:指定表的名称,其中db_name是数据库名称,table_name是表名称。
-
(col_name data_type):定义表中的列及其数据类型。可以指定多个列,用逗号分隔。
-
[COMMENT ‘col_comment’]:为列添加注释。
-
[, …]:表示列的续行。
-
PARTITIONED BY (col_name data_type [COMMENT ‘col_comment’], …):根据指定的列对表进行分区。分区字段可以是任意数据类型,并为分区添加注释。
-
[SORT BY ([column [, column …]])]:根据指定的列对表进行排序。可以指定多个列,用逗号分隔。
-
[COMMENT ‘table_comment’]:为表添加注释。
-
[ROW FORMAT row_format]:指定表的行格式。行格式影响数据在文件中的存储方式。
-
[WITH SERDEPROPERTIES (‘key1’=‘value1’, ‘key2’=‘value2’, …)]:为表指定SERDE(数据压缩和编码插件)的属性。
-
[STORED AS file_format]:指定表存储为哪种文件格式,如Parquet、ORC等。
-
[LOCATION ‘hdfs_path’]:指定表数据的存储位置。
-
[CACHED IN ‘pool_name’ [WITH REPLICATION = integer] | UNCACHED]:指定表是否在内存中缓存,以及缓存池的名称。如果指定REPLICATION,则表示缓存池中的副本数量。
-
[TBLPROPERTIES (‘key1’=‘value1’, ‘key2’=‘value2’, …)]:为表添加元数据属性。