ResolveChoice 类 - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

ResolveChoice 类

解析 DynamicFrame 内的选择类型。

Methods

__call__(帧,规格=无,选择="",转换_ctx="",信息="", stageThreshold =0, totalThreshold =0)

为解决 DynamicFrame。返回结果 DynamicFrame.

  • frame – 在其中解析选择类型的 DynamicFrame(必需)。

  • specs – 要解决的特定歧义列表,每个都以组合的形式:(path, action)。的 path 值识别特定的模糊元素,以及 action 值标识对应的分辨率。只能使用 specchoice 参数之一。如果 spec 参数不为 None,则 choice 参数必须为空字符串。相反,如果 choice 不是空字符串,则 spec 参数必须 None。如果两个参数都未提供, AWS Glue 尝试解析框架并使用它来解决模糊性。

    specs 元组的 action 部分可以指定四个解析策略之一:

    • cast:  允许您指定要铸造的类型(例如, cast:int)。

    • make_cols:  通过精简数据来解决潜在的歧义。例如,如果 columnAintstring,则解析就是在结果 DynamicFrame 中生成名为 columnA_intcolumnA_string 的两个列。

    • make_struct:  使用结构表示数据,以解决潜在的歧义。例如,如果某个列中的数据是 intstring,则使用 make_struct 操作会在结果 DynamicFrame 中生成结构列,而每个结构都同时包含 intstring

    • project:  通过在结果中仅保留指定类型的值,解决潜在的模糊性 DynamicFrame。例如,如果 ChoiceType 列可能是 intstring,指定 project:string 操作将列从生成的 DynamicFrame 不属于 string.

    如果 path 识别到数组,则在数组名称后放置一个空的方括号可避免歧义。例如,假设您正在使用结构如下的数据:

    "myList": [ { "price": 100.00 }, { "price": "$100.00" } ]

    可以通过将 path 设置为 "myList[].price"、将 action 设置为 "cast:double" 来选择价格的数字而非字符串版本。

  • choice – 如果 specs 参数是 None。如果 specs 参数不是 None,则不能将其设置为除空字符串之外的任何内容。

  • transformation_ctx – 用于标识状态信息的唯一字符串(可选)。

  • info – 与转换中的错误关联的字符串(可选)。

  • stageThreshold – 在转换出错之前可能在其中发生的最大错误数(可选;默认值为零)。

  • totalThreshold – 在处理出错之前可能全面发生的最大错误数(可选;默认值为零)。

返回包含已解析选择的 DynamicFrame

df1 = ResolveChoice.apply(df, choice = "make_cols") df2 = ResolveChoice.apply(df, specs = [("a.b", "make_struct"), ("c.d", "cast:double")])

apply(cls, *args, **kwargs)

继承自 GlueTransform apply

name(cls)

继承自 GlueTransform name (名称)

describeArgs(包括)

继承自 GlueTransform describeArgs

describeReturn(包括)

继承自 GlueTransform describeReturn

describeTransform(包括)

继承自 GlueTransform describeTransform

describeErrors(包括)

继承自 GlueTransform describeErrors

describe(cls)

继承自 GlueTransform describe