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值則代表對應的解析動作。您只能使用
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動作會從並非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。