在控制台中运行 CTAS 查询 - Amazon Athena

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在控制台中运行 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://workgroup_query_results_location/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. 选择 Create Table(创建表)。

使用 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 查询的示例