CREATE TABLE

摘要

CREATE TABLE [ IF NOT EXISTS ]
table_name (
  { column_name data_type [ COMMENT comment ] [ WITH ( property_name = expression [, ...] ) ]
  | LIKE existing_table_name [ { INCLUDING | EXCLUDING } PROPERTIES ] }
  [, ...]
)
[ COMMENT table_comment ]
[ WITH ( property_name = expression [, ...] ) ]

说明

创建一个具有指定列的空表。使用 create-table-as 可以创建含数据的表。

如果使用可选的 IF NOT EXISTS 子句,则在表已存在时禁止显示错误。

可以使用可选的 WITH 子句来设置创建的表或单个列的属性。要列出所有可用的表属性,请运行以下查询:

SELECT * FROM system.metadata.table_properties

例如,对于 Hive 连接器,以下是一些可用且常用的表属性:

属性名称数据类型说明默认值
formatvarchar表的 Hive 存储格式。可能的值为:ORC、PARQUET、AVRO、RCBINARY、RCTEXT、SEQUENCEFILE、JSON、TEXTFILE 和 CSV。ORC
bucket_countinteger桶的数量。
bucketed_byarray(varchar)分桶列。
sorted_byarray(varchar)桶排序列。
externalboolean表是否为外部表。false
locationvarchar表的文件系统位置 URI。如果 external=true,则必须提供位置值。
partitioned_byarray(varchar)分区列。
transactionalboolean是否启用事务属性。存在一个限制,即仅 ORC 存储格式支持创建事务表。false

要列出所有可用的列属性,请运行以下查询:

SELECT * FROM system.metadata.column_properties

可以使用 LIKE 子句在新表中包含现有表中的所有列定义。可以指定多个 LIKE 子句,从而允许复制多个表中的列。

如果指定了 INCLUDING PROPERTIES,则将所有表属性复制到新表中。如果 WITH 子句指定的属性名称与某个复制的属性的名称相同,则使用 WITH 子句中的值。默认行为是 EXCLUDING PROPERTIES。最多只能为一个表指定 INCLUDING PROPERTIES 选项。

示例

创建表 orders

CREATE TABLE orders (
  orderkey bigint,
  orderstatus varchar,
  totalprice double,
  orderdate date
)
WITH (format = 'ORC')

创建事务表 orders

CREATE TABLE orders (
  orderkey bigint,
  orderstatus varchar,
  totalprice double,
  orderdate date
)
WITH (format = 'ORC',
transactional=true)

创建外部表 orders

CREATE TABLE orders (
  orderkey bigint,
  orderstatus varchar,
  totalprice double,
  orderdate date
)
WITH (format = 'ORC',
external=true,
location='hdfs://hdcluster/tmp/externaltbl')

如果表 orders 不存在,则创建该表,同时添加表注释和列注释:

CREATE TABLE IF NOT EXISTS orders (
  orderkey bigint,
  orderstatus varchar,
  totalprice double COMMENT 'Price in cents.',
  orderdate date
)
COMMENT 'A table to keep track of orders.'

使用 orders 中的列并在开头和结尾使用附加的列创建表 bigger_orders

CREATE TABLE bigger_orders (
  another_orderkey bigint,
  LIKE orders,
  another_orderdate date
)

限制

不同的连接器可能支持不同的数据类型和不同的表/列属性。有关更多详细信息,请参见连接器文档。

另请参见

ALTER TABLEDROP TABLECREATE TABLE ASSHOW CREATE TABLE

有奖捉虫

“有虫”文档片段

0/500

存在的问题

文档存在风险与错误

● 拼写,格式,无效链接等错误;

● 技术原理、功能、规格等描述和软件不一致,存在错误;

● 原理图、架构图等存在错误;

● 版本号不匹配:文档版本或内容描述和实际软件不一致;

● 对重要数据或系统存在风险的操作,缺少安全提示;

● 排版不美观,影响阅读;

内容描述不清晰

● 描述存在歧义;

● 图形、表格、文字等晦涩难懂;

● 逻辑不清晰,该分类、分项、分步骤的没有给出;

内容获取有困难

● 很难通过搜索引擎,openLooKeng官网,相关博客找到所需内容;

示例代码错误

● 命令、命令参数等错误;

● 命令无法执行或无法完成对应功能;

内容有缺失

● 关键步骤错误或缺失,无法指导用户完成任务,比如安装、配置、部署等;

● 逻辑不清晰,该分类、分项、分步骤的没有给出

● 图形、表格、文字等晦涩难懂

● 缺少必要的前提条件、注意事项等;

● 描述存在歧义

0/500

您对文档的总体满意度

非常不满意
非常满意

请问是什么原因让您参与到这个问题中

您的邮箱

创Issue赢奖品
根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
有奖捉虫