本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
解析 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 CatalogMATCH_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。