教程:添加 Amazon Glue 爬网程序 - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

教程:添加 Amazon Glue 爬网程序

对于此 Amazon Glue 场景,需要您分析主要航空公司的抵达数据,从而计算出发机场每月的受欢迎程度。您拥有以 CSV 格式存储在 Amazon S3 中的 2016 年的航班数据。在转换和分析数据之前,请您先将其元数据编录在 Amazon Glue Data Catalog 中。

在本教程中,让我们添加一个能够根据 Amazon S3 中的这些飞行日志推断元数据,并且能在您的数据目录中创建表的爬网程序。

先决条件

本教程假定您拥有 Amazon 账户并具有对 Amazon Glue 的访问权限。

步骤 1:添加爬网程序

使用以下步骤配置并运行能够从 Amazon S3 存储的 CSV 文件中提取元数据的爬网程序。

要创建能够读取 Amazon S3 存储的文件的爬网程序
  1. 在 Amazon Glue 服务控制台的左侧菜单,选择 Crawlers (爬网程序)

  2. 在“爬网程序”页面上,选择创建爬网程序。这将打开一系列页面,提示您输入爬网程序详细信息。

    
            屏幕截图显示的是爬网程序页面。在这里,您可以创建爬网程序或者编辑、复制、删除、查看现有的爬网程序。
  3. 在 Crawler name (爬网程序名称) 字段中,输入 Flights Data Crawler,然后选择 Next (下一步)

    爬网程序会调用分类器来推断您的数据架构。预设情况下,本教程使用 CSV 的内置分类器。

  4. 对于爬网程序源类型,选择 Data stores (数据存储),然后选择 Next (下一步)

  5. 现在,让我们将爬网程序指向您的数据。在 Add a data store (添加数据存储) 页面上,选择 Amazon S3 data store (Amazon S3 数据存储)。本教程不使用连接,因此请将 Connection (连接) 字段留空(如果可见)。

    对于 Crawl data in (对以下位置的数据进行爬网) 选项,选择 Specified path in another account (另一个账户中的指定路径)。然后,对于 Include path (包含路径),输入爬网程序可以找到航班数据的路径,即 s3://crawler-public-us-east-1/flight/2016/csv。输入路径后,此字段的标题将更改为 Include path (包含路径)。选择 Next(下一步)。

  6. 您可以使用单个爬网程序对多个数据存储进行爬网。但是,在本教程中,我们只使用单个数据存储,因此选择 No (否),然后选择 Next (下一步)

  7. 爬网程序需要权限才能访问数据存储并在 Amazon Glue Data Catalog 中创建对象。要配置这些权限,请选择 Create an IAM role (创建 IAM 角色)。IAM 角色名称以 AWSGlueServiceRole- 开头,另外在字段中,请您输入角色名称的最后一部分。输入 CrawlerTutorial,然后选择 Next (下一步)

    注意

    要创建 IAM 角色,您的亚马逊云科技用户必须具有对 CreateRoleCreatePolicyAttachRolePolicy 的访问权限。

    向导将创建名为 AWSGlueServiceRole-CrawlerTutorial 的 IAM 角色,并为此角色附上 Amazon 托管式策略 AWSGlueServiceRole,然后添加允许对 Amazon S3 位置 s3://crawler-public-us-east-1/flight/2016/csv 进行读取访问内联策略。

  8. 创建爬网程序计划。对于 Frequency (频率),选择 Run on demand (按需运行),然后选择 Next (下一步)

  9. 爬网程序在数据目录中创建表。数据目录中的数据库包含元数据表。首先,选择 Add database (添加数据库) 来创建数据库。在弹出窗口中,输入 test-flights-db 作为数据库名称,然后选择 Create (创建)

    接下来,输入 flights 作为添加到表中的前缀。使用其余选项的原定设置值,然后选择 Next (下一步)

  10. 验证您在 Add crawler (添加爬网程序) 向导中所做的选择。如果看到任何错误,您可以选择 Back (返回),从而返回到之前的页面进行更改。

    查看信息后,选择 Finish (完成),结束创建爬网程序。

步骤 2:运行爬网程序

创建爬网程序后,向导会将您引导至爬网程序视图页面。由于您使用按需计划创建爬网程序,因此将为您提供运行爬网程序的选项。

要运行爬网程序
  1. 此页面顶部附近的横幅会告知您爬网程序已完成创建,并询问您是否要立即运行。选择 Run it now? (现在运行它?) 来运行爬网程序。

    该横幅更改为显示爬网程序的“尝试运行”和“正在运行”消息。爬完程序开始运行后,横幅消失,爬网程序显示更新,以显示启动状态。一分钟后,您可以单击 Refresh (刷新) 图标来更新表中显示的爬网程序的状态。

  2. 爬网程序完成后,将出现一条描述爬网程序所做更改的新横幅。您可以选择 test-flights-db 链接来查看数据目录对象。

步骤 3:查看 Amazon Glue Data Catalog 对象

爬网程序在源位置读取数据并在数据目录中创建表。表是代表您的数据及其架构的元数据定义。数据目录中的表不包含数据。相反,您可以使用这些表作为任务定义中的源或目标。

要查看爬网程序创建的数据目录对象
  1. 在左侧导航窗格中的 Data catalog (数据目录) 下方,选择 Databases (数据库)。在这里,您可以查看爬网程序创建的 flights-db 数据库。

  2. 在左侧导航窗格的 Data catalog (数据目录) 以及 Databases (数据库) 下方,选择 Tables (表)。在这里,您可以查看爬网程序创建的 flightscsv 表。如果您选择表名称,则可以查看表设置、参数和属性。在此视图中向下滚动,您可以查看关于表的列和数据类型信息的架构。

  3. 如果在表视图页面上选择 View partitions (查看分区),您可以看到为数据创建的分区。第一列将作为分区键。