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

教程:Amazon Glue Studio 入门

您可以使用 Amazon Glue Studio 创建从数据源中提取结构化或半结构化数据的任务,执行该数据的转换,并将结果集保存在数据目标中。

Prerequisites

本教程包含以下先决条件:

  • 您已经有一个 Amazon 账户。

  • 您拥有 Amazon Glue Studio 的访问权限。

  • 您的账户拥有为 Amazon S3 数据源和数据目标创建和运行任务所需的所有权限。

  • 您已创建一个 Amazon Identity and Access Management 角色以供任务使用。您还可以为任务选择一个 IAM 角色,该角色包括对您的所有数据源、数据目标、临时目录、脚本以及任务使用的任务库的权限。

  • 以下组件位于 Amazon 中:

    • Flights Data Crawler 爬网程序

    • flights-db 数据库

    • flightscsv

    • IAM 角色 AWSGlueServiceRole-CrawlerTutorial

    要创建这些组件,您可以完成服务教程添加爬网程序,它将使用所需的对象来填充 Amazon Glue Data Catalog。本教程还能够创建具有所需权限的 IAM 角色。您可以访问 https://console.aws.amazon.com/glue/,在 Amazon Glue 服务页面查找本教程。本教程位于左侧导航中的 Tutorials (教程) 之下。或者,您可以使用本教程的文档版本教程:添加 Amazon Glue 爬网程序

步骤 1:开始任务创建过程

在此任务中,您可以选择使用模板开始创建任务。

借助模板开始创建任务

  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Glue Studio 控制台:https://console.aws.amazon.com/gluestudio/

  2. 在 Amazon Glue Studio 登录页面,选择 Create and manage jobs (创建和管理任务) 标题下的 View jobs (查看任务)

  3. Jobs (任务) 页面的 Create job (创建任务) 标题下,选择 Source and target added to the graph (已添加到图形中的源和目标) 选项。然后,对于 Source (源),选择 S3,对于 Target (目标),选择S3

  4. 选择 Create (创建) 按钮,开始任务创建过程。

此时会打开任务编辑页面,其中显示了一个简单的三节点任务图。

步骤 2:编辑任务图中的数据源节点

选择任务图中的 Data source - S3 bucket (数据源 – S3 存储桶) 节点来编辑数据源属性。

编辑数据源节点

  1. 在节点详细信息窗格的 Node properties (节点属性) 选项卡中,对于 Name (名称),输入此任务唯一的名称。

    使用输入的值作为任务图中数据源节点的标注。如果为任务中的节点使用唯一名称,则更易于在任务图中识别每个节点以及选择父节点。对于本教程,请输入名称 S3 Flight Data

  2. 选择节点详细信息窗格中的 Data source properties - S3 (数据源属性 – S3) 选项卡。

  3. 对于 S3 源类型,选择 Data Catalog table (数据目录表) 选项。

  4. 对于 Database (数据库),选择 Amazon Glue Data Catalog 中可用数据库列表的 flights-db 数据库。

  5. 对于 Table (表),在搜索字段中输入 flight,然后选择您的 Amazon Glue Data Catalog 的 flightscsv 表。

  6. (可选)选择节点详细信息窗格中的 Output schema (输出架构) 选项卡,查看数据架构。

  7. (可选)配置节点属性和数据源属性后,您可以选择节点详细信息窗格中的 Data preview (数据预览) 选项卡来预览数据源的数据集。当您首次为任务中的任何节点选择此选项卡时,系统会提示您提供 IAM 角色以访问数据。使用此功能会产生相关费用,并且一旦您提供 IAM 角色,则会立即开始计费。

    预设情况下,选择 Data preview (数据预览) 选项卡中的前 5 列以便进行预览。要查看其他列,请选择 Previewing 5 of 65 fields (预览 65 个字段中的 5 个字段)。例如,您可以取消选择前 5 列,然后选择 fl_dateairline_idfl_numtail_numorigin_airport_id。滚动到列表底部,选择 Confirm (确认),保存您的选择。

为数据源节点提供所需信息后,会有绿色复选标记显示在任务图中的节点上。

步骤 3:编辑任务的转换节点

在转换节点中,您可以指定想要如何修改数据的原始格式。ApplyMapping 转换支持您重命名数据属性键、更改数据类型,以及从数据集中删除列。

当您编辑 Transform – ApplyMapping 节点时,数据的原始架构将显示在节点详细信息窗格的 Source key (源键) 列中。这是根据源数据获取并存储在 Amazon Glue Data Catalog 中的数据属性键名称(列名)。

Target key (目标键) 列会显示将在数据目标中显示的键名称。您可以使用此字段更改输出中的数据属性键名称。Data type (数据类型) 列会显示键的数据类型,并允许您将其更改为目标的不同数据类型。Drop (删除) 列中包含一个复选框。此复选框允许您选择一个字段,从而将其从目标架构中删除。

编辑转换节点

  1. 选择任务图中的 Transform – ApplyMapping 节点来编辑数据转换属性。

  2. 在节点详细信息窗格的 Node properties (节点属性) 选项卡上,查看信息。

    如果需要,您可以更改此节点的名称。

  3. 选择节点详细信息窗格中的 Transform (转换) 选项卡。

  4. 通过选中 Drop (删除) 列中每个键的复选框,选择删除键 quarterday_of_week

  5. 对于在 Source key (源键) 列中显示 day_of_month 的键,将 Target key (目标键) 值更改为 day

    monthday 键的数据类型更改为 tinyinttinyint 数据类型使用 1 字节存储来存储整数,其值范围为 0 到 255。更改数据类型时,您必须验证目标是否支持该数据类型。

  6. (可选)选择节点详细信息窗格中的 Output schema (输出架构) 选项卡,查看已修改的架构。

  7. (可选)配置节点属性和转换属性后,您可以选择节点详细信息窗格中的 Data preview (数据预览) 选项卡来预览已修改的数据集。当您首次为任务中的任何节点选择此选项卡时,系统会提示您提供 IAM 角色以访问数据。使用此功能会产生相关费用,并且一旦您提供 IAM 角色,则会立即开始计费。

    预设情况下,选择前 5 列进行数据预览,但这些列不再与在数据源节点上查看的列相同,因为我们删除了两列并重命名了第三列。

请注意,任务图中的 Transform - Apply Mapping 节点现已具有绿色复选标记,表示节点已受编辑并具有所需的全部信息。

步骤 4:编辑任务的数据目标节点

数据目标节点确定转换后输出的发送位置。该位置可以是 Amazon S3 存储桶、数据目录表或连接器和连接。如果选择数据目录表,则数据将写入与该表关联的位置。例如,如果您在数据目录中使用爬网程序为 JDBC 目标创建表,则数据将写入该 JDBC 表。

编辑数据目标节点

  1. 选择任务图中的 Data target - S3 bucket (数据目标 – S3 存储桶) 节点来编辑数据目标属性。

  2. 在节点详细信息窗格的右侧,选择 Node properties (节点属性) 选项卡。对于 Name (名称),输入节点的唯一名称,如 Revised Flight Data

  3. 选择 Data target properties - S3 (数据目标属性 – S3) 选项卡。

  4. 对于 Format (格式),选择 JSON

    对于 Compression Type 压缩类型,保留原定设置值 None (无)

    对于 S3 Target Location (S3 目标位置),选择 Browse S3 (浏览 S3) 按钮,查看您有权访问的 Amazon S3 存储桶,然后选择一个作为目标目的地。

    对于 Data Catalog update options (数据目录更新选项),保留 Do not update the Data Catalog (不要更新数据目录) 设置的原定设置。

    有关可用选项的更多信息,请参阅数据目标选项概览

步骤 5:查看任务脚本

配置任务中所有节点后,Amazon Glue Studio 会生成任务使用的脚本,用于在目标位置中读取、转换以及写入数据。

要查看脚本,选择任务编辑窗格顶部的 Script (脚本) 选项卡。请不要单击 Edit Script (编辑脚本) 按钮,因为这会使您退出可视化编辑器模式。

如果您单击 Edit Script (编辑脚本) 按钮并确认您的选择,则您可以重新加载页面(无需先保存任务),从而重置 Script (脚本) 选项卡。

步骤 6:指定任务详细信息并保存任务

在保存和运行提取、转换和加载(ETL)任务之前,您必须首先输入有关任务本身的其他信息。

指定任务详细信息并保存任务

  1. 选择 Job details (任务详细信息) 选项卡。

  2. 输入任务的名称(例如 FlightDataETL)。提供最大长度为 255 个字符的 UTF-8 字符串。

    您也可以输入任务描述。

  3. 对于 IAM role (IAM 角色),从可用角色列表中选择 AWSGlueServiceRole-CrawlerTutorial。您可能需要向此角色添加对目标 Amazon S3 存储桶的访问权限。

    如果您有许多角色可供选择,可以开始在 IAM role (IAM 角色) 搜索字段中输入角色名称的部分名称,而具有匹配文本字符串的角色将会显示出来。例如,您可以在搜索字段中输入 tutorial 查找所有名称中带有 tutorial(不区分大小写)的角色。

    Amazon Identity and Access Management(IAM)角色用于对运行任务所用的资源进行访问权限授权。您只能选择您的账户中已存在的角色。您选择的角色必须具有访问 Amazon S3 源、目标、临时目录、脚本以及任务所使用的任何库的权限,以及对 Amazon Glue 服务资源的访问权限。

    有关创建角色的步骤,请参阅《Amazon Glue 开发人员指南》中的为 Amazon Glue 创建 IAM 角色

  4. 对于其余字段,使用原定设置值。

  5. 在页面右上角,选择 Save (保存)

    您应在页面顶部看到一条表明任务已成功保存的通知。

如果您没有看到表明任务已成功保存的通知,则很有可能缺少阻止任务保存的信息。

  • 在可视化编辑器中查看任务,然后选择没有绿色复选标记的任意节点。

  • 如果可视化编辑器窗格上方的任何选项卡都有标注,请选择该选项卡并查找以红色突出显示的任何字段。

步骤 7:运行任务

既然任务已保存,则您可以运行该任务。选择页面顶部的 Run (运行) 按钮。然后,您应看到一条表明任务已成功启动的通知。

您可以在 Run Details (运行详细信息) 通知中选择链接,也可选择 Runs (运行) 选项卡来查看任务的运行状态。

Runs (运行) 选项卡上,每个最近运行的任务都有一个卡片,其中包含有关该任务运行的信息。

有关任务运行信息的更多信息,请参阅查看最近任务运行的信息

后续步骤

启动任务运行后,您可能想尝试一些以下任务: