ResolveChoice 類別 - AWS Glue

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

ResolveChoice 類別

解析 DynamicFrame 內的選擇類型。

範例

建議您使用 DynamicFrame.resolveChoice() 方法來處理 DynamicFrame 中包含多個類型的欄位。若要檢視程式碼範例,請參閱 範例:使用 resolveChoice 來處理包含多種類型的資料欄

方法

__call__(frame, specs = none, choice = "", transformation_ctx = "", info = "", stageThreshold = 0, totalThreshold = 0)

提供資訊以解析 DynamicFrame 內模棱兩可的類型。它會傳回產生的 DynamicFrame

  • frame – 要解析其中選擇類型的 DynamicFrame (必要)。

  • specs – 要解析的特定模棱兩可項目的清單,形式皆為 tuple:(path, action)path 值代表模棱兩可的特定元素,action 值則代表對應的解析動作。

    您只能使用 specchoice 參數的其中一項。如果 spec 參數不是 None,則 choice 參數必須為空字串。相反地,如果 choice 不是空字串,則 spec 參數必須為 None。如果兩種參數皆未提供,則 AWS Glue 會試著剖析結構描述,並利用結構描述來解析模棱兩可的項目。

    可在 specs 元組的 action 部分中指定下列解析策略的其中一種:

    • cast - 可讓您指定轉換的目標類型 (例如 cast:int)。

    • make_cols – 透過將資料壓平合併來解析可能的模棱兩可項目。例如,如果 columnA 可能是 intstring,則在得出的 DynamicFrame 中,解析動作會產生名為 columnA_intcolumnA_string 的兩個欄。

    • make_struct - 藉由以結構表示資料,來解決可能的模棱兩可項目。舉例來說,如果欄中的資料可能是 intstring,則使用 make_struct 動作會在結果的 DynamicFrame 中產生結構的欄,每個欄同時包含 intstring

    • project - 在產生的 DynamicFrame 中只擷取指定種類的值,以此解析可能的模棱兩可項目。例如,如果 ChoiceType 欄中的資料可能是 intstring,指定 project:string 動作會從並非 string 類型產生的 DynamicFrame 捨棄欄。

    path 識別到陣列,在陣列的名稱後放置空白的方括號以避免模棱兩可的狀況。例如,假設您使用如下結構化的資料:

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

    您可以選取數值而不是價格字串版本,方法是將 path 設定為 "myList[].price",且將 action 設定為 "cast:double"

  • choice – 當 specs 參數為 None 時的預設解析動作。如果 specs 參數不是 None,則此值只能為空字串,不能設定成其他的值。

    除了上述 specs 動作,此引數也支援下列動作:

    • MATCH_CATALOG – 嘗試將每個 ChoiceType 投射至指定 Data Catalog 資料表中的對應類型。

  • database - 要搭配 MATCH_CATALOG 選擇使用的 AWS Glue Data Catalog 資料庫 (MATCH_CATALOG 需要)。

  • table_name - 要搭配 MATCH_CATALOG 動作使用的 AWS Glue Data Catalog 資料表名稱 (MATCH_CATALOG 需要)。

  • transformation_ctx – 用於識別狀態資訊的唯一字串 (選用)。

  • info – 與轉換中的錯誤相關的字串 (選用)。

  • stageThreshold – 在錯誤輸出之前,轉換作業中可發生錯誤的次數上限 (選用)。預設為零。

  • totalThreshold – 在處理錯誤輸出之前,整體作業可發生錯誤的次數上限 (選用)。預設為零。

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 describe