このチュートリアルでは、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 デルタ テーブルにデータを書き込みます。
前提 条件
Microsoft Fabric サブスクリプションを取得します。 または、Microsoft Fabric の試用版に無料でサインアップします。
Microsoft Fabric にサインインします。
ホーム ページの左下にあるエクスペリエンス スイッチャーを使用して Fabric に切り替えます。
- このノートブックにレイクハウス を追加します。 このチュートリアルでは、まずパブリック 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: ノートブック を使用してデータを探索して視覚化する