次の方法で共有


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

このチュートリアルでは、Fabric Lakehouse に Delta Lake 形式でデータを取り込みます。 ここでは、いくつかの重要な用語を定義します。

  • Lakehouse - Lakehouse は、データ レイク上のデータベースを表すファイル、フォルダー、および/またはテーブルのコレクションです。 Spark エンジンと SQL エンジンは、ビッグ データ処理に lakehouse リソースを使用します。 オープンソースの 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 などのツールは、Open Datasets にアクセスできます。

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

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

前提 条件

  • このノートブックにレイクハウス を追加します。 このチュートリアルでは、まずパブリック BLOB からデータをダウンロードします。 その後、データはそのレイクハウス リソースに格納されます。

ノートブックでフォローする

このチュートリアルには 、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.z13.web.core.windows.net/data/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: ノートブック を使用してデータを探索して視覚化する