適用対象:
Azure Data Factory
Azure Synapse Analytics
ヒント
Data Factory in Microsoft Fabric は、よりシンプルなアーキテクチャ、組み込みの AI、および新機能を備えた次世代のAzure Data Factoryです。 データ統合を初めて使用する場合は、Fabric Data Factory から始めます。 既存の ADF ワークロードをFabricにアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。
データ フローは、Azure Data Factory パイプラインとAzure Synapse Analytics パイプラインの両方で使用できます。 この記事は、マッピング データ フローに適用されます。 変換を初めて使用する場合は、入門記事「 マッピング データ フローを使用したデータの変換」を参照してください。
データ フロー内に新しい列を生成したり、既存のフィールドを変更したりするには、派生列変換を使用します。
列を作成および更新する
派生列を作成するときは、新しい列を生成するか、既存の列を更新することができます。 [列] ボックスに、作成する列を入力します。 スキーマ内の既存の列を上書きするには、列ドロップダウンを使用できます。 派生列の式を作成するには、 [式の入力] ボックスをクリックします。 式の入力を開始するか、式ビルダーを開いてロジックを作成することができます。
派生列をさらに追加するには、列リストの上にある [追加] をクリックするか、既存の派生列の横にあるプラス記号のアイコンをクリックします。 [列の追加] または [列パターンの追加] のいずれかを選択します。
カラムパターン
スキーマが明示的に定義されていない場合、または列のセットを一括して更新する場合は、列パターンを作成する必要があります。 列パターンを使用すると、列のメタデータに基づくルールを使用して列を照合し、一致した各列に対して派生列を作成できます。 詳細については、派生列の変換で列パターンの作成方法に関する説明を参照してください。
式ビルダーを使用してスキーマを作成する
マッピング データ フローの式ビルダーを使用すると、 [Derived Columns](派生列) セクションで派生列を作成、編集、管理できます。 変換で作成または変更されたすべての列の一覧が表示されます。 列の名前をクリックして、編集している列またはパターンを対話形式で選択します。 列を追加するには、 [新規作成] を選択し、1 つの列またはパターンのどちらを追加するかを選択します。
複合列を使用する場合は、サブ列を作成できます。 これを行うには、任意の列の横にあるプラス アイコンをクリックし、 [Add subcolumn](サブ列の追加) を選択します。 データ フローでの複合型の処理の詳細については、マッピング データ フローでの JSON の処理に関する記事を参照してください。
データ フローでの複合型の処理の詳細については、マッピング データ フローでの JSON の処理に関する記事を参照してください。
データ フローのスクリプト
構文
<incomingStream>
derive(
<columnName1> = <expression1>,
<columnName2> = <expression2>,
each(
match(matchExpression),
<metadataColumn1> = <metadataExpression1>,
<metadataColumn2> = <metadataExpression2>
)
) ~> <deriveTransformationName>
例
次の例は、受信ストリーム CleanData を受け取り 2 つの派生列を作成する、MoviesYear という名前の派生列です。 最初の派生列は、列 Rating を整数型の Rating の値で置き換えます。 2 番目の派生列は、名前が 'movies' で始まる各列に一致するパターンです。 一致した列ごとに、一致する列の値と等しい列 movie を、'movie_' というプレフィックスを付けて作成します。
UI では、この変換は次の図のようになります。
この変換のデータ フロー スクリプトは、次のスニペットに含まれています。
MoviesYear derive(
Rating = toInteger(Rating),
each(
match(startsWith(name,'movies')),
'movie' = 'movie_' + toString($$)
)
) ~> CleanData
関連するコンテンツ
- Mapping Data Flow式言語の詳細を確認します。