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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

ResolveChoice 类

解析 DynamicFrame 内的选择类型。

方法

__call__(frame, specs = None, choice = "", transformation_ctx = "", info = "", 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" 来选择价格的数字而非字符串版本。

  • choicespecs 参数为 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(cls)

继承自 GlueTransform describeArgs

describeReturn(cls)

继承自 GlueTransform describeReturn

describeTransform(cls)

继承自 GlueTransform describeTransform

describeErrors(cls)

继承自 GlueTransform describeErrors

describe(cls)

继承自 GlueTransform 描述