Presto 中如何使用 CREATE TABLE 语句?

推荐答案

在 Presto 中,CREATE TABLE 语句用于创建一个新表。以下是使用 CREATE TABLE 语句的基本语法:

示例

本题详细解读

1. CREATE TABLE 语句的基本结构

  • CREATE TABLE: 这是创建表的关键字。
  • IF NOT EXISTS: 这是一个可选的关键字,用于在表已经存在时避免重复创建。
  • table_name: 这是要创建的表的名称。
  • column_name: 这是表中列的名称。
  • data_type: 这是列的数据类型,例如 BIGINTVARCHARINTTIMESTAMP 等。
  • COMMENT: 这是一个可选的注释,用于描述列或表。

2. WITH 子句

WITH 子句用于指定表的存储格式和其他属性。常见的属性包括:

  • format: 指定表的存储格式,例如 ORCPARQUETTEXTFILE 等。
  • partitioned_by: 指定表的分区列,通常是一个数组,例如 ARRAY['created_at']

3. 示例解析

在示例中,我们创建了一个名为 my_table 的表,包含以下列:

  • id: 数据类型为 BIGINT
  • name: 数据类型为 VARCHAR
  • age: 数据类型为 INT,并附带了一个注释 'Age of the person'
  • created_at: 数据类型为 TIMESTAMP

表本身也有一个注释 'This is a sample table',并且使用了 ORC 格式存储,按 created_at 列进行分区。

4. 注意事项

  • 在 Presto 中,CREATE TABLE 语句通常用于创建外部表,即表的数据存储在外部存储系统(如 HDFS、S3)中。
  • Presto 本身不管理数据存储,因此 CREATE TABLE 语句通常与外部存储系统(如 Hive)结合使用。
  • 如果表已经存在且使用了 IF NOT EXISTS 子句,Presto 不会抛出错误,而是静默跳过创建操作。
纠错
反馈