對應資料流程中的衍生資料行轉換

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

Azure Data Factory 和 Azure Synapse Pipelines 中均可使用資料流。 本文適用於對應資料流。 如果您不熟悉轉換作業,請參閱簡介文章使用對應資料流轉換資料

使用衍生的資料行轉換可在資料流程中產生新資料行或修改現有欄位。

建立和更新資料行

建立衍生資料行時,您可以產生新的資料行或更新現有資料行。 在 [資料行] 文字方塊中,輸入您正在建立的資料行。 若要覆寫結構描述中的現有資料行,您可以使用資料行下拉式清單。 若要組建衍生資料行的運算式,請按一下 [輸入運算式] 文字方塊。 您可以開始輸入運算式,或開啟運算式建立器來建構邏輯。

Derived column settings

若要新增更多衍生的資料行,請按一下資料行清單上方的 [新增],或按一下現有衍生的資料行旁邊的加號圖示。 選擇 [新增資料行] 或 [新增資料行模式]

New derived column selection

資料行模式

如果結構描述未明確定義,或者如果您想要大量更新一組資料行,則您會想要建立資料行模式。 資料行模式可讓您根據資料行中繼資料使用規則來比對資料行,並為每個相符的資料行建立衍生的資料行。 如需詳細資訊,請瞭解如何在衍生的資料行轉換中建置資料行模式

Column patterns

使用運算式產生器建置結構描述

使用對應資料流運算式產生器時,您可以在 [衍生的資料行] 區段中建立、編輯及管理衍生的資料行。 轉換中建立或變更的所有資料行都會列出。 按一下資料行名稱,以互動方式選擇您要編輯的資料行或模式。 若要新增其他資料行,請選取 [新建],然後選擇是否要新增單一資料行或模式。

Create new column

使用複雜的資料行時,您可以建立子欄。 若要這樣做,請按一下任何資料行旁的加號圖示,然後選取 [新增子欄]。 如需處理資料流程中複雜類型的詳細資訊,請參閱對應資料流程中的 JSON 處理

Add subcolumn

如需處理資料流程中複雜類型的詳細資訊,請參閱對應資料流程中的 JSON 處理

Add complex column

資料流程指令碼

語法

<incomingStream>
    derive(
           <columnName1> = <expression1>,
           <columnName2> = <expression2>,
           each(
                match(matchExpression),
                <metadataColumn1> = <metadataExpression1>,
                <metadataColumn2> = <metadataExpression2>
               )
          ) ~> <deriveTransformationName>

範例

以下範例是一個名為 CleanData 的衍生資料行,其會接受傳入的資料流 MoviesYear 並建立兩個所衍生資料行。 第一個所衍生資料行會將資料行 Rating 取代為整數類型的分級值。 第二個衍生的資料行是一種模式,其會比對名稱開頭為 'movies' 的每個資料行。 針對每個相符的資料行,它會建立一個資料行 movie,其值等於前面加上 'movie_' 的相符資料行值。

在 UI 中,這項轉換看起來如下圖所示:

Derive example

此轉換的資料流指令碼位於下列程式碼片段中:

MoviesYear derive(
                Rating = toInteger(Rating),
		        each(
                    match(startsWith(name,'movies')),
                    'movie' = 'movie_' + toString($$)
                )
            ) ~> CleanData