使用 Amazon Glue 连接到 Simple Storage Service (Amazon S3) 中的数据源 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 Amazon Glue 连接到 Simple Storage Service (Amazon S3) 中的数据源

Athena 可以使用 Amazon Glue Data Catalog 连接到 Amazon S3 中存储的数据,以便存储表和列名等元数据。建立连接后,数据库、表和视图将显示在 Athena 的查询编辑器中。

要定义供 Amazon Glue 使用的架构信息,您可以设置 Amazon Glue 爬网程序来自动检索信息,也可以手动添加表并输入架构信息。

创建 Amazon Glue 爬网程序

您可以通过在 Athena 控制台中启动,然后以集成方式使用 Amazon Glue 控制台来创建爬网程序。创建爬网程序时,您可以在 Amazon S3 中指定要爬取的数据位置。

在 Amazon Glue 中从 Athena 控制台开始创建爬网程序

  1. https://console.aws.amazon.com/athena/ 打开 Athena 控制台。

  2. 在查询编辑器中,选择 Tables and views(表和视图)旁边的 Create(创建),然后选择 Amazon Glue crawler(Amazon Glue 爬网程序)。

  3. Amazon Glue 控制台的 Add crawler (添加爬网程序) 页面上,按照步骤创建爬网程序。有关更多信息,请参阅本指南中的使用 Amazon Glue 爬网程序和《Amazon Glue 开发人员指南》中的填充 Amazon Glue Data Catalog

注意

Athena 不承认您为 Amazon Glue 爬网程序指定的排除模式。例如,如果您有一个 Amazon S3 存储桶,其中包含 .csv.json 文件,并且您从爬网程序中排除了 .json 文件时,Athena 会查询两组文件。要避免这种情况,请将要排除的文件放置在其他位置。

使用表单添加表

以下过程演示了如何使用 Athena 控制台通过根据 S3 存储桶数据创建表表单添加表。

使用表单添加表并输入架构信息

  1. https://console.aws.amazon.com/athena/ 打开 Athena 控制台。

  2. 在查询编辑器中,选择 Tables and views(表和视图)旁边的 Create(创建),然后选择 S3 bucket data(S3 存储桶数据)。

  3. 根据 S3 存储桶数据创建表表单中,对于 Table name(表名称),输入表的名称。

  4. 对于 Database configuration(数据库配置),选择现有数据库或新建一个数据库。

  5. 对于 Location of Input Data Set(输入数据集的位置),在 Amazon S3 中指定包含要处理的数据集的文件夹的路径。

  6. 对于 Data Format (数据格式),请选择一种数据格式(Apache Web Logs (Apache Web 日志)CSVTSVText File with Custom Delimiters (带自定义分隔符的文本文件)JSONParquetORC)。

    • 对于 Apache Web Logs (Apache Web 日志) 选项,您还必须在 Regex (正则表达式) 框中输入正则表达式。

    • 对于 Text File with Custom Delimiters (带自定义分隔符的文本文件) 选项,请指定 Field terminator (字段终止符)(即列分隔符)。或者,您可以指定数组类型的 Collection terminator (集合终止符)Map key terminator (映射键终止符)

  7. 对于 Column details(列详情),指定列名称和列数据类型。

    • 要添加更多列(一次添加一列),请选择 Add a column (添加列)

    • 要快速添加更多列,请选择 Bulk add columns (批量添加列)。在文本框中,输入以逗号分隔的列列表,格式为 column_name data_type, column_name data_type[,…],然后选择 Add(添加)。

  8. (可选)对于 Partition details(分区详情),添加一个或多个列名称和数据类型。

  9. Preview table query(预览表查询)方框显示您在表单中输入的信息所生成的 CREATE TABLE 语句。无法直接编辑预览语句。要更改语句,请修改表单中的字段,或在查询编辑器中直接创建语句,而不是使用表单。

  10. 选择 Create table(创建表),在查询编辑器中运行生成的语句并创建表。