次の方法で共有


チュートリアル パート 1: Apache Spark を使用して Microsoft Fabric Lakehouse にデータを取り込む

このチュートリアルでは、データをデルタ レイク形式で Fabric レイクハウスに取り込みます。 理解すべき重要な用語を次に示します。

  • Lakehouse - Lakehouse は、ビッグ データ処理のために Spark エンジンと SQL エンジンによって使用されるデータ レイク上のデータベースを表すファイル/フォルダー/テーブルのコレクションであり、オープンソースの Delta 形式のテーブルを使用する場合の ACID トランザクションの機能が強化されています。

  • Delta Lake - Delta Lake は、ACID トランザクション、スケーラブルなメタデータ管理、バッチおよびストリーミング データ処理を Apache Spark に提供するオープンソースストレージレイヤーです。 Delta Lake テーブルは、ACID トランザクションとスケーラブルなメタデータ管理用のファイル ベースのトランザクション ログを使用して Parquet データ ファイルを拡張するデータ テーブル形式です。

  • Azure Open Datasets は、より正確なモデルを得るために機械学習ソリューションにシナリオ固有の機能を追加するために使用できる、キュレーションされたパブリック データセットです。 オープン データセットは Microsoft Azure Storage 上のクラウドにあり、Apache Spark、REST API、Data Factory、その他のツールなど、さまざまな方法でアクセスできます。

このチュートリアルでは、Apache Spark を使用して次の操作を行います。

  • Azure Open Datasets コンテナーからデータを読み取ります。
  • Fabric Lakehouse デルタ テーブルにデータを書き込みます。

前提 条件

ノートブックで作業を進める

1-ingest-data.ipynb は、このチュートリアルに付属するノートブックです。

銀行離れデータ

データセットには、10,000 人の顧客のチャーン状態が含まれています。 また、次のようなチャーンに影響を与える可能性のある属性も含まれています。

  • クレジット スコア
  • 地理的な場所 (ドイツ、フランス、スペイン)
  • 性別 (男性、女性)
  • 年齢
  • 在職期間 (銀行の顧客の年数)
  • 口座残高
  • 推定給与
  • 顧客が銀行を通じて購入した製品の数
  • クレジット カードの状態 (顧客がクレジット カードを持っているかどうか)
  • アクティブなメンバーの状態 (アクティブな銀行の顧客かどうか)

データセットには、行番号、顧客 ID、顧客姓などの列も含まれています。この列は、銀行を離れるという顧客の決定に影響を与えるべきではありません。

顧客のチャーンを定義するイベントは、顧客の銀行口座のクローズです。 データセット内の exited 列は、顧客の破棄を参照します。 これらの属性に関して使用できるコンテキストはあまりないため、データセットに関する背景情報を取得せずに続行する必要があります。 目的は、これらの属性が exited の状態にどのように影響するかを理解するためです。

データセットの行の例:

"CustomerID" 名字 "CreditScore" 地理 ジェンダー 年齢 "Tenure" "Balance" "NumOfProducts" "HasCrCard" "IsActiveMember" 推定給与 "Exited"
15634602 Hargrave 619 フランス 女性 42 2 0.00 1 1 1 101348.88 1
15647311 Hill 608 スペイン 女性 41 1 83807.86 1 0 1 112542.58 0

データセットをダウンロードして lakehouse にアップロードする

ヒント

次のパラメーターを定義することで、このノートブックをさまざまなデータセットで簡単に使用できます。

IS_CUSTOM_DATA = False  # if TRUE, dataset has to be uploaded manually

DATA_ROOT = "/lakehouse/default"
DATA_FOLDER = "Files/churn"  # folder with data files
DATA_FILE = "churn.csv"  # data file name

このコードは、公開されているバージョンのデータセットをダウンロードし、Fabric Lakehouse に格納します。

重要

ノートブックを実行する前に、必ずレイクハウスを追加してください。 これを行わないと、エラーが発生します。

import os, requests
if not IS_CUSTOM_DATA:
# Download demo data files into lakehouse if not exist
    remote_url = "https://synapseaisolutionsa.blob.core.windows.net/public/bankcustomerchurn"
    file_list = [DATA_FILE]
    download_path = f"{DATA_ROOT}/{DATA_FOLDER}/raw"

    if not os.path.exists("/lakehouse/default"):
        raise FileNotFoundError(
            "Default lakehouse not found, please add a lakehouse and restart the session."
        )
    os.makedirs(download_path, exist_ok=True)
    for fname in file_list:
        if not os.path.exists(f"{download_path}/{fname}"):
            r = requests.get(f"{remote_url}/{fname}", timeout=30)
            with open(f"{download_path}/{fname}", "wb") as f:
                f.write(r.content)
    print("Downloaded demo data files into lakehouse.")

取り込んだばかりの次のデータを使用します。

パート 2: ノートブック を使用してデータを探索して視覚化する