在 Athena 控制台中,您可以通过另一个查询创建 CTAS 查询。
通过另一个查询创建 CTAS 查询
-
在 Athena 控制台查询编辑器中运行查询。
-
在查询编辑器底部,选择 Create(创建)选项,然后选择 Table from query(根据查询创建表)。
-
在 Create table as select(根据选择创建表)表单中,填写字段,如下所示:
-
对于 Table name(表名称),指定新表的名称。仅使用小写和下划线,例如
my_select_query_parquet
。 -
对于 Database configuration(数据库配置),使用选项选择一个现有的数据库或创建一个数据库。
-
(可选)在 Result configuration(结果配置)中,对于 Location of CTAS query results(CTAS 查询结果的位置),如果您的工作组查询结果位置设置未覆盖此选项,请执行以下操作之一:
-
在搜索框中输入一个现有 S3 位置的路径,或选择 Browse S3(浏览 S3)以从列表中选择一个位置。
-
选择 View(查看)以打开 Amazon S3 控制台的 Buckets (存储桶)页面,您可以在其中查看有关现有存储桶的更多信息并进行选择,或者使用自己的设置创建一个存储桶。
您需要在 Amazon S3 中指定一个将用于输出数据的空位置。如果指定位置中已存在数据,则查询会失败并出现错误。
如果工作组的查询结果位置设置覆盖了此位置设置,则 Athena 会在位置
s3://amzn-s3-demo-bucket/tables/
中创建您的表。query_id
/ -
-
对于 Data format(数据格式),指定您的数据将采用的格式。
-
表类型 – Athena 中的默认表类型是 Apache Hive。
-
文件格式 – 可选择 CSV、TSV、JSON、Parquet 或 ORC 等选项。有关 Parquet 和 ORC 格式的信息,请参阅 使用列式存储格式。
-
写入压缩 –(可选)选择一个压缩格式。Athena 支持多种用于读取和写入数据的压缩格式,例如从使用多种压缩格式的表中进行读取。例如,当某些 Parquet 文件使用 Snappy 压缩而其他 Parquet 文件使用 GZIP 压缩时,Athena 可以成功读取使用 Parquet 文件格式的表中的数据。同样的原则适用于 ORC、文本文件和 JSON 存储格式。有关更多信息,请参阅 在 Athena 中使用压缩。
-
分区 –(可选)选择要分区的列。通过对数据进行分区,您可以限制每个查询扫描的数据量,从而提高性能并降低成本。您可按任何键对数据进行分区。有关更多信息,请参阅 对您的数据进行分区。
-
桶 –(可选)选择要分桶的列。分桶是一种在单个分区内基于特定列将数据进行分组的技术。这些列被称为 桶键。通过将相关数据分组到单个桶(分区内的一个文件)中,您可以显著减少 Athena 扫描的数据量,从而提高查询性能并降低成本。有关更多信息,请参阅 使用分区和分桶。
-
-
对于 Preview table query(预览表查询),检查您的查询。有关查询语法,请参阅 CREATE TABLE AS。
-
选择创建表。
-
Athena 控制台有 SQL 模板,您也可以使用该模板来创建 CTAS 查询。
使用 SQL 模板创建 CTAS 查询
使用 CREATE TABLE AS SELECT
模板在查询编辑器中创建 CTAS 查询。
-
在 Athena 控制台中,选择 Tables and views(表和视图)旁边的 Create table(创建表),然后选择 CREATE TABLE AS SELECT。这会使用具有占位符值的 CTAS 查询填充查询编辑器。
-
在查询编辑器中,根据需要编辑查询。有关查询语法,请参阅 CREATE TABLE AS。
-
选择运行。
有关示例,请参阅CTAS 查询的示例。