Azure Data Factoryで派生列を追加する方法

Azure Data Factory

はじめに

Azure Data Factory (ADF) を使ってデータの変換や加工を行う際、派生列 (derived column) の追加は非常に有用です。派生列を使うことで、既存のデータに基づいて新しい列を作成し、データの分析や処理をより効率的に行うことができます。本記事では、ADF初心者向けに派生列の追加方法を詳しく解説します。具体的な手順をステップバイステップで紹介し、実際のデータを用いた例を通じて理解を深めていきます。

派生列アクティビティとは?

派生列 (derivedColumn)アクティビティは、データフロー内で新しい列を生成したり、既存の列を変更したりするために使用されます。このアクティビティを利用することで、データの変換や加工を柔軟に行うことができます。

主な機能

  1. 新しい列の生成:
    • 新しい列を追加する際、列名を指定し、式を入力します。例えば、年齢に基づいてカテゴリを追加する場合、以下のような式を使用します:iif(age >= 30, '30代', '20代')
  2. 既存の列の更新:
    • 既存の列を更新する場合、列名を選択し、新しい式を適用します。これにより、既存のデータを基にした新しい値を設定できます。
  3. 列パターンの作成:
    • スキーマが明確に定義されていない場合や、複数の列を一括で更新したい場合に、列パターンを使用します。列パターンを使用すると、列のメタデータに基づいて一致する列を見つけ、それぞれに派生列を作成できます。
「列パターンの作成」はめんどくさいから割愛!使ったことない!

データ内容

今回使う入力データの内容は以下の通り。

データの内容

結合する source.csv と target.csv です。「type」と「base」をキーとして、data と outpu の情報を結合します。
本記事では、このデータを例にして、ADFでのファイル結合方法を説明します。

source.csv

typebasedateoutput
AX2024/12/01150
BY2024/12/02200

色々と追加してみる

いろんな関数があって、いろんな値の列が追加できます。

  • 「type & base」:concat()で文字列を連結してみたり
  • 「add month」:date列の日付を1か月後の日付にしてみたり
typebasedateoutputtype & baseadd month
AX2024/12/01150A-X2025/01/01
BY2024/12/02200B-Y2025/01/02

設定内容

1. データセットの作成

  • ADFポータルにログインし、新しいデータセットを作成します。
  • source.csv と target.csv のデータセットをそれぞれ作成し、適切なリンクサービスを設定します。

データセットの作り方は以下の投稿で説明。

2. パイプラインの作成

  • 新しいパイプラインを作成し、データフローアクティビティを追加します。
  • データフローの中で、ソースとして source.csv を追加します。

3. 派生列アクティビティの設定

  • データフロー内で派生列アクティビティを追加し、source.csv に列を追加します。
  • いろいろと列を追加してみます。
    • 「type & base」:concat関数で文字列を連結して追加
    • 「add month」:addMonths関数date列の日付を1か月後の日付にして追加

関数はたくさん用意されていて、以下にリファレンスがあるから使い方に関してはそちらを参照してください。

式と関数 – Azure Data Factory & Azure Synapse | Microsoft Learn

4. 出力データの確認

  • 「データのプレビュー」でデータを確認します。

まとめ

本記事では、Azure Data Factoryを使用して派生列を追加する方法を解説しました。派生列を活用することで、データの分析や処理がより柔軟に行えるようになります。ADF初心者の方でも、この記事を参考にすることで簡単に派生列を追加できるようになるでしょう。今後もADFを活用して、効率的なデータ処理を行っていきましょう。

コメント

タイトルとURLをコピーしました