使用 CTAS 和 INSERT INTO 创建 Amazon Ion 表 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 CTAS 和 INSERT INTO 创建 Amazon Ion 表

您可以使用 CREATE TABLE AS SELECT(CTAS)和 INSERT INTO 语句将数据从表复制或插入到 Athena 中 Amazon Ion 格式的新表中。

在 CTAS 查询中,在 format='ION' 子句中指定 WITH,如以下示例所示。

CREATE TABLE new_table WITH (format='ION') AS SELECT * from existing_table

默认情况下,Athena 以 Ion 二进制格式序列化 Amazon Ion 结果,但您也可以使用文本格式。若要使用文本格式,请在 CTAS WITH 子句中指定 ion_encoding = 'TEXT',如以下示例所示。

CREATE TABLE new_table WITH (format='ION', ion_encoding = 'TEXT') AS SELECT * from existing_table

有关 CTAS WITH 子句中 Amazon Ion 特定属性的更多信息,请参阅以下部分。

CTAS WITH 子句 Amazon Ion 属性

在 CTAS 查询中,您可以使用 WITH 子句指定 Amazon Ion 格式,并可选择指定要使用的 Amazon Ion 编码和/或写入压缩算法。

format

您可以将 ION 关键字指定为 CTAS 查询的 WITH 子句中的格式选项。执行此操作时,您创建的表将使用您为 IonInputFormat 指定的读取格式,并以您为 IonOutputFormat 指定的格式序列化数据。

以下示例指定 CTAS 查询使用 Amazon Ion 格式。

WITH (format='ION')
ion_encoding

可选

默认:BINARY

值:BINARYTEXT

指定以 Amazon Ion 二进制格式还是 Amazon Ion 文本格式序列化数据。以下示例指定 Amazon Ion 文本格式。

WITH (format='ION', ion_encoding='TEXT')
write_compression

可选

默认:GZIP

值:GZIPZSTDBZIP2SNAPPYNONE

指定用于压缩输出文件的压缩算法。

以下示例指定 CTAS 查询使用 Zstandard 压缩算法以 Amazon Ion 格式写入其输出。

WITH (format='ION', write_compression = 'ZSTD')

有关在 Athena 中使用压缩的信息,请参阅 Athena 压缩支持

有关 Athena 中其他 CTAS 属性的信息,请参阅 CTAS 表属性