在控制台中运行 CTAS 查询 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在控制台中运行 CTAS 查询

在 Athena 控制台中,您可以通过另一个查询创建 CTAS 查询。

通过另一个查询创建 CTAS 查询
  1. 在 Athena 控制台查询编辑器中运行查询。

  2. 在查询编辑器底部,选择 Create(创建)选项,然后选择 Table from query(根据查询创建表)。

  3. Create table as select(根据选择创建表)表单中,填写字段,如下所示:

    1. 对于 Table name(表名称),指定新表的名称。仅使用小写和下划线,例如 my_select_query_parquet

    2. 对于 Database configuration(数据库配置),使用选项选择一个现有的数据库或创建一个数据库。

    3. (可选)在 Result configuration(结果配置)中,对于 Location of CTAS query results(CTAS 查询结果的位置),如果您的工作组查询结果位置设置未覆盖此选项,请执行以下操作之一:

      • 在搜索框中输入一个现有 S3 位置的路径,或选择 Browse S3(浏览 S3)以从列表中选择一个位置。

      • 选择 View(查看)以打开 Amazon S3 控制台的 Buckets (存储桶)页面,您可以在其中查看有关现有存储桶的更多信息并进行选择,或者使用自己的设置创建一个存储桶。

      您需要在 Amazon S3 中指定一个将用于输出数据的空位置。如果指定位置中已存在数据,则查询会失败并出现错误。

      如果工作组的查询结果位置设置覆盖了此位置设置,则 Athena 会在位置 s3://DOC-EXAMPLE-BUCKET/tables/query_id/ 中创建您的表。

    4. 对于 Data format(数据格式),指定您的数据将采用的格式。

      • 表类型 – Athena 中的默认表类型是 Apache Hive。

      • 文件格式 – 可选择 CSV、TSV、JSON、Parquet 或 ORC 等选项。有关 Parquet 和 ORC 格式的信息,请参阅 列式存储格式

      • 写入压缩 –(可选)选择一个压缩格式。Athena 支持多种用于读取和写入数据的压缩格式,例如从使用多种压缩格式的表中进行读取。例如,当某些 Parquet 文件使用 Snappy 压缩而其他 Parquet 文件使用 GZIP 压缩时,Athena 可以成功读取使用 Parquet 文件格式的表中的数据。同样的原则适用于 ORC、文本文件和 JSON 存储格式。有关更多信息,请参阅 Athena 压缩支持

      • 分区 –(可选)选择要分区的列。通过对数据进行分区,您可以限制每个查询扫描的数据量,从而提高性能并降低成本。您可按任何键对数据进行分区。有关更多信息,请参阅 在 Athena 中对数据进行分区

      • –(可选)选择要分桶的列。分桶是一种在单个分区内基于特定列将数据进行分组的技术。这些列被称为 桶键。通过将相关数据分组到单个桶(分区内的一个文件)中,您可以显著减少 Athena 扫描的数据量,从而提高查询性能并降低成本。有关更多信息,请参阅 在 Athena 中进行分区和分桶

    5. 对于 Preview table query(预览表查询),检查您的查询。有关查询语法,请参阅 CREATE TABLE AS

    6. 选择创建表

使用 SQL 模板创建 CTAS 查询

使用 CREATE TABLE AS SELECT 模板在查询编辑器中创建 CTAS 查询。

  1. 在 Athena 控制台中,选择 Tables and views(表和视图)旁边的 Create table(创建表),然后选择 CREATE TABLE AS SELECT。这会使用具有占位符值的 CTAS 查询填充查询编辑器。

  2. 在查询编辑器中,根据需要编辑查询。有关查询语法,请参阅 CREATE TABLE AS

  3. 选择运行

有关示例,请参阅CTAS 查询的示例