选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用更改架构重新映射数据属性键

聚焦模式
使用更改架构重新映射数据属性键 - AWS Glue

更改架构转换将源数据属性键重新映射到目标数据所需的配置。在“更改架构”转换节点中,您可以:

  • 更改多个数据属性键的名称。

  • 如果支持新数据类型并且两种数据类型之间存在转换路径,则更改数据属性键的数据类型。

  • 指示要删除的数据属性键,以选择数据属性键的子集。

您还可以根据需要(例如,为了修改其他数据来源或遵循联接转换),为作业图添加其他更改架构节点。

使用更改架构来处理十进制数据类型

使用更改架构转换处理十进制数据类型时,更改架构转换会将精度修改为默认值(10,2)。要修改此精度并针对您的使用案例进行设置,您可以使用 SQL 查询转换并以特定的精度转换列。

例如,如果您有一个名为“DecimalCol”、类型为“Decimal”的输入列,并且您想将其重新映射到名为“OutputDecimalCol”、特定精度为(18,6)的输出列,则需要:

  1. 更改架构转换之后添加一个后续的 SQL 查询转换。

  2. SQL 查询转换中,使用 SQL 查询将重新映射的列转换为所需的精度。SQL 查询将如下所示:

    SELECT col1, col2, CAST(DecimalCol AS DECIMAL(18,6)) AS OutputDecimalCol FROM __THIS__

    在上面的 SQL 查询中:

    • `col1` 和 `col2` 是数据中的其他列,您希望在不做任何修改的情况下传递这些列。

    • `DecimalCol` 是输入数据中的原始列名。

    • `CAST(DecimalCol AS DECIMAL(18,6))` 将 `DecimalCol` 转换为 Decimal 类型,并指定精度为 18 位,包含 6 位小数。

    • `AS OutputDecimalCol` 会将转换后的列重命名为 `OutputDecimalCol`。

通过使用 SQL 查询转换,您可以覆盖由更改架构转换设置的默认精度,并将 Decimal 列显式转换为所需的精度。利用这种方法,您可以利用更改架构转换来重命名和重构数据,同时通过后续的 SQL 查询转换来处理 Decimal 列的精度要求。

将更改架构转换添加到您的作业

注意

更改架构转换不区分大小写。

将更改架构转换节点添加到作业图
  1. (可选)打开资源面板,然后选择更改架构将新转换添加到作业图(如果需要)。

  2. 在节点属性面板中,输入作业图中节点的名称。如果尚未选择父节点,请从 Node parents (父节点) 列表中选择一个节点,用作转换的输入源。

  3. 选择节点属性面板中的转换选项卡。

  4. 修改输入架构:

    • 要重命名数据属性键,请在 Target key (目标键) 字段中输入键的新名称。

    • 要更改数据属性键的数据类型,请从 Data type (数据类型) 列表中为键选择新数据类型。

    • 要从目标架构中删除数据属性键,请选中该键对应的 Drop (删除) 复选框。

  5. (可选)配置转换节点属性后,您可以选择节点详细信息面板中的 Output schema (输出架构) 选项卡,查看数据的修改架构。当您首次为任务中的任何节点选择此选项卡时,系统会提示您提供 IAM 角色以访问数据。如果您尚未在 Job details (任务详细信息) 选项卡上指定 IAM 角色,系统会提示您在此处输入 IAM 角色。

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

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。