本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
ResolveChoice 类
解析 DynamicFrame
内的选择类型。
Methods
__call__(帧,规格=无,选择="",转换_ctx="",信息="", stageThreshold =0, totalThreshold =0)
为解决 DynamicFrame
。返回结果 DynamicFrame
.
-
frame
– 在其中解析选择类型的DynamicFrame
(必需)。 -
specs
– 要解决的特定歧义列表,每个都以组合的形式:(path, action)
。的path
值识别特定的模糊元素,以及action
值标识对应的分辨率。只能使用spec
和choice
参数之一。如果spec
参数不为None
,则choice
参数必须为空字符串。相反,如果choice
不是空字符串,则spec
参数必须None
。如果两个参数都未提供, AWS Glue 尝试解析框架并使用它来解决模糊性。specs
元组的action
部分可以指定四个解析策略之一:-
cast
: 允许您指定要铸造的类型(例如,cast:int
)。 -
make_cols
: 通过精简数据来解决潜在的歧义。例如,如果columnA
是int
或string
,则解析就是在结果DynamicFrame
中生成名为columnA_int
和columnA_string
的两个列。 -
make_struct
: 使用结构表示数据,以解决潜在的歧义。例如,如果某个列中的数据是int
或string
,则使用make_struct
操作会在结果DynamicFrame
中生成结构列,而每个结构都同时包含int
和string
。 -
project
: 通过在结果中仅保留指定类型的值,解决潜在的模糊性DynamicFrame
。例如,如果ChoiceType
列可能是int
或string
,指定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。