了解表、数据库和数据目录 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

了解表、数据库和数据目录

在 Athena 中,表和数据库是为底层源数据定义架构的元数据定义的容器。对于每个数据集,Athena 中都需要存在一个表。表中的元数据让 Athena 知道数据在 Amazon S3 中的位置,并指定数据的结构,例如列名称、数据类型和表的名称。数据库是表的逻辑分组,并且只保存数据集的元数据和架构信息。

对于您要查询的每个数据集,Athena 必须有一个底层表,以便用来获取和返回查询结果。因此,在查询数据之前,必须在 Athena 中注册表。当您自动或手动创建表时,会发生注册。

无论采用何种方式创建表,表的创建过程都会向 Athena 注册数据集。此注册发生在Amazon Glue Data Catalog,并允许 Athena 对数据运行查询。

  • 要自动创建表,请使用Amazon Glue从 Athena 内履带。有关 的更多信息Amazon Glue和爬虫程序,请参阅与 集成Amazon Glue。何时Amazon Glue创建一个表,它会将其注册到自己的中。Amazon Glue数据目录。使用 AthenaAmazon Glue数据目录,用于存储和检索此元数据,以便当您运行查询来分析底层数据集时使用它。

创建表后,您可以使用SQL 选择语句来查询它,包括获取源数据的特定文件位置。您的查询结果存储在 Amazon S3 中指定的查询结果位置

这些区域有:Amazon Glue通过 Amazon Web Services 账户可访问数据目录。其他Amazon服务可以共享Amazon Glue数据目录,因此,您可以使用 Athena 查看整个企业或组织内创建的数据库和表,反之亦然。此外,您可以通过 Amazon Glue 自动发现数据架构,并提取、转换和加载 (ETL) 数据。

  • 要手动创建表,请执行以下操作:

    • 使用 Athena 控制台运行创建表向导

    • 使用 Athena 控制台在查询编辑器中编写 Hive DDL 语句。

    • 使用 Athena API 或 CLI,通过 DDL 语句运行 SQL 查询。

    • 使用 Athena JDBC 或 ODBC 驱动程序。

当您手动创建表和数据库时,Athena 会使用 HiveQL 数据定义语言 (DDL) 语句,例如CREATE TABLECREATE DATABASE, 和DROP TABLE来创建表和数据库Amazon Glue Data Catalog。

注意

如果您在 2017 年 8 月 14 日之前在 Athena 中创建了表,则它们是在一个 Athena 托管的内部数据目录中创建的,该数据目录与Amazon Glue Data Catalog直到您选择更新为止。有关更多信息,请参阅 。升级到Amazon Glue Data Catalog分步

当您在后台查询现有表时,Amazon Athena 会使用 Presto,它是一种分布式 SQL 引擎。我们有使用 Athena 中的示例数据创建的示例,可向您显示如何创建表,然后使用 Athena 针对它发出查询。Athena 还在控制台中有一个教程,可帮助您开始根据 Amazon S3 中存储的数据创建表。

  • 有关在 Athena 查询编辑器中创建表和编写查询的分步教程,请参阅开始使用

  • 在控制台中运行 Athena 教程。如果您登录到https://console.aws.amazon.com/athena/第一次。您还可以在控制台中选择 Tutorial (教程) 来启动它。