任务编辑器功能 - Amazon Glue Studio
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

任务编辑器功能

任务编辑器提供以下功能,用于创建和编辑任务。

  • 任务的可视图,每个任务任务都有一个节点:用于读取数据的数据源节点;用于修改数据的转换节点;用于写入数据的数据目标节点。

    您可以查看和配置任务图中每个节点的属性。您还可以查看任务图中每个节点的架构和示例数据。这些功能可帮助您验证任务是否正在以正确的方式修改和转换数据,而无需运行任务。

  • Script viewing and editing (脚本查看和编辑) 选项卡,您可以在其中修改为任务生成的代码。

  • Job details (任务详细信息) 选项卡,您可以在其中配置各种设置,自定义 Amazon Glue ETL 任务的运行环境。

  • Runs (运行) 选项卡,您可以在其中查看任务的当前运行和上一次运行,查看任务运行的状态,以及访问任务运行的日志。

  • Schedules (计划) 选项卡,您可以在其中配置任务的开始时间,或设置定期任务运行。

在可视任务编辑器中使用架构预览

创建或编辑任务时,您可以使用 Output schema (输出架构) 选项卡查看数据的架构。

在查看架构之前,任务编辑器需要数据源的访问权限。您可以在编辑器的 Job details (任务详细信息) 选项卡上或者节点的 Output schema (输出架构) 选项卡上指定 IAM 角色。如果 IAM 角色具有数据源的所有必要访问权限,您可以在节点的 Output schema (输出架构) 选项卡上查看架构。

在可视任务编辑器中使用数据预览

创建或编辑任务时,您可以使用 Data preview (数据预览) 选项卡查看数据示例。

在查看数据示例之前,任务编辑器需要数据源的访问权限。您首次选择 Data preview (数据预览) 选项卡时,系统会提示您选择要使用的 IAM 角色。这可以是您计划用于任务的相同角色,也可以是不同的角色。您选择的 IAM 角色必须具有数据预览的必要创建权限。

选择 IAM 角色后,大约需要 20 到 30 秒才能显示数据。选择 IAM 角色后,您需要为数据预览使用付费。以下功能可帮助您查看数据。

  • 选择设置图标(齿轮符号)以配置数据预览的首选项。您可以更改样本大小,也可以选择将文本从一行换到下一行。这些设置适用于任务图中的所有节点。

  • 选择 Previewing x of y fields (预览 y 个字段中的 x 个字段) 按钮,选择要预览的列(字段)。您使用默认设置预览数据时,任务编辑器会显示数据集的前 5 列。您可以更改此选项以显示全部或不显示(不推荐)。

  • 您可以水平和垂直滚动浏览数据预览窗口。

  • 使用拆分/整个屏幕按钮将 Data preview (数据预览) 选项卡展开到整个屏幕(叠加任务图),以便更好地查看数据和数据结构。

数据预览可帮助您创建和测试任务,而无需重复运行任务。

  • 您可以测试 IAM 角色,确保您有权访问您的数据源或数据目标。

  • 您可以检查转换是否以预期方式修改数据。例如,如果您使用筛选条件转换,则可以确保筛选条件正在选择合适的数据子集。

  • 如果数据集包含具有多种类型值的列,则数据预览会显示这些列的元组列表。每个元组都包含数据类型及其值,如以下屏幕截图所示。

    
              屏幕截图显示节点的 Data preview (数据预览) 选项卡。显示的列包括国家/地区、alpha-2 代码、alpha-3 代码、数字代码和纬度。列出的前 5 个国家/地区是阿富汗、阿尔巴尼亚、阿尔及利亚、美属萨摩亚和安道尔。对于纬度列,显示的值为:{"long":33, "string":null}、{"long":41, "string":null}、{"long":28, "string":null}、{"long":null, "string":"-14.3333"}、{"long":null, "string":"42.5"} 和另外 2 个。

使用数据预览时的限制

使用数据预览时,您可能会遇到以下限制。

  • 您首次选择 Data preview (数据预览) 选项卡时,您必须选择 IAM 角色。此角色必须有权访问创建数据预览所需的数据和其他资源。

  • 提供 IAM 角色后,需要一段时间才能查看数据。对于数据少于 1GB 的数据集,可能最多需要一分钟。如果您拥有较大的数据集,则应使用分区来缩短加载时间。直接从 Amazon S3 加载数据可以实现更出色的性能。

  • 如果您拥有非常大的数据集,并且查询用于数据预览的数据需要 30 分钟以上,则请求将超时。您可以减小数据集大小以使用数据预览。

  • 默认情况下,您可以查看 Data preview (数据预览) 选项卡中的前 5 列。如果列没有数据值,您将收到一条消息,指明没有要显示的数据。您可以增加采样的行数,也可以选择不同的列来查看数据值。

  • 数据预览当前不支持流式传输数据源或使用自定义连接器的数据源。

  • 一个节点上的错误会影响整个任务。如果任何一个节点在数据预览中出现错误,则该错误将在所有节点上显示,直到您更正。

  • 如果更改任务的数据源,您可能需要更新该数据源的子节点以匹配新架构。例如,如果您有用于修改列的 ApplyMapping 节点,并且该列不存在于替换数据源中,您需要更新 ApplyMapping 转换节点。

  • 如果您查看 SQL 查询转换节点的 Data preview (数据预览) 选项卡,并且 SQL 查询使用不正确的字段名称,则 Data preview (数据预览) 选项卡将显示错误。

脚本代码生成

使用可视化编辑器创建任务时,将自动为您生成 ETL 代码。Amazon Glue Studio 会创建功能完整的任务脚本,并将其保存在 Amazon S3 位置。

Amazon Glue Studio 生成的代码有两种形式:原始版本,即经典版本,以及更新的精简版本。预设情况下,会使用新的代码生成器创建任务脚本。选择 Generate classic script(生成经典脚本)切换按钮,就可以使用 Script(脚本)选项卡上的经典代码生成器生成任务脚本。

生成的新版本代码中的一些差异包括:

  • 大型的注释数据块将不再添加到脚本中

  • 代码中的输出结构将使用您在可视化编辑器中指定的节点名称。在类脚本中,输出结构将简单地命名为 DataSource0DataSource1Transform0Transform1DataSink0DataSink1 等。

  • 长命令将拆分为多行,以免滚动页面才能查看整条命令。

Amazon Glue Studio 中的新功能需要新版本的代码生成,并且不适用于经典代码脚本。尝试运行这些任务时,系统会提示您更新。