3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Azure】Microsoft Fabric レイクハウス内にあるファイルとテーブルにデータを取り込む。

Posted at

1. はじめに

1-1 ご挨拶

初めまして、井村と申します。

Microsoft Fabricは、データの統合、エンジニアリング、分析、ビジネスインテリジェンスなどの機能を統合したSaaS型データ分析ツールです。
そしてMicrosoft Fabricは60日間のフリートライアル期間があります。

さらに、Microsoftが提供する無料のオンライン学習プラットフォームであるMicrosoft Learn(MSLearn)にはたくさんのMicrosoft Fabricに関する記事があります。

本記事はフリートライアル期間を利用してMSLearnの演習を行っていきます。
演習を通して気づいた点、Tips、なるべく多くのスクリーンショットをとりつつ備忘録として残していきます。

1-2 MSLearn

今回はMicrosoft Fabric でのレイクハウスの概要を行います。

この演習の学習の目的は以下の通りです。

  • Microsoft Fabric のレイクハウスのコア機能について説明する。
  • レイクハウスを作成します。
  • レイクハウス内にあるファイルとテーブルにデータを取り込む。
  • SQL を使用してレイクハウス テーブルでクエリを実行する。

1-3 Get started with Microsoft Fabric

以下からMicrosoft Fabricのフリートライアルを開始できます。

Get started with Microsoft Fabric

2. Microsoft Fabric のレイクハウスについて

Microsoft Fabricのレイクハウスについての概要になります。

  • レイクハウスの定義
    データベースとして表示され、Delta形式テーブルを使用してデータレイクを基盤として構築されます。リレーショナルデータウェアハウスのSQLベースの分析機能とデータレイクの柔軟性とスケーラビリティを組み合わせたものです。
  • 利点
    • SparkエンジンとSQLエンジンを使用して大規模なデータを処理し、機械学習や予測モデリング分析をサポート。
    • データの一貫性と整合性のためのACIDトランザクションがDelta Lake形式のテーブルを介してサポートされます。
    • データエンジニア、データサイエンティスト、データアナリストがデータにアクセスして使用するための一元化された場所。
  • データの取り込み:ローカルファイル、データベース、APIなど、さまざまなソースからデータを取り込むことができます。Azure Data Lake Store Gen2やOneLakeなどの外部ソースのデータに対してショートカットを作成することも可能です。
  • セキュリティ:ワークスペースまたはアイテムレベルの共有を通じて管理され、秘密度ラベルを含むデータガバナンス機能もサポートされています。

3. 演習スタート

演習 - Microsoft Fabric レイクハウスを作成する

上記URLから演習を開始できます。実際のMicrosoft Fabricを使うため、とても勉強になります。

3-1 レイクハウスを作成する

1 . 赤枠の新しいワークスペースを押下します。

001.png
2 . ワークスペースの名前を記入し適用ボタンを押下します。

002.png
3 . 左側のメニューバーの (...) から作成を押下します。

003.png
4 . [データ エンジニアリング] セクションで、[レイクハウス] を選択します。

004.png
5 . 任意の一意の名前を付け作成ボタンを押下します。

005.png
6 . 新しいレイクハウスが作成されます。

006.png

  • Tables フォルダには、SQL セマンティクスを使用してクエリを実行できるテーブルが含まれています。Microsoft Fabric レイクハウスのテーブルは、Apache Spark で一般的に使用されるオープン ソースの Delta Lake ファイル形式に基づいています。

  • Files フォルダーには、レイクハウスの OneLake ストレージに、マネージド デルタ テーブルに関連付けられていないデータ ファイルが含まれています。また、このフォルダにショートカットを作成して、外部に保存されているデータを参照することもできます。

3-2 ファイルのアップロード

検証材料であるcsvファイルは以下のURLに格納されています。このあとcsvファイルをダウウンロードし、レイクハウスにアップロードします。

sales.csv

007.png

1 . [ファイル] フォルダーの [...] メニューで [新しいサブフォルダー] を選択し、data という名前のサブフォルダーを作成します。

008.png

009.png

2 . 新しいデータ フォルダのメニューで [アップロード] と [ファイルのアップロード] を選択し、ローカル コンピューター からsales.csvファイルをアップロードします。

010.png

011.png
3 . sales.csvがレイクハウスにアップロードされたことを確認します。

012.png

3-3 ショートカット機能の確認

レイクハウスのOneLakeストレージにデータを取り込む方法はたくさんありますが、ショートカットを使用すると、外部ソースのデータを分析ソリューションに含めることができ、オーバーヘッドやコピーに関連するデータの不整合のリスクを回避できます。

今回は利用しませんがショートカットの画面を確認します。

1 . sales.csvがレイクハウスにアップロードされたことを確認します。

013.png

2 . ショートカットで使用可能なデータソースの種類を表示します。次に、ショートカットを作成せずに[新しいショートカット]ダイアログボックスを閉じます。

014.png

3-4 ファイル・データをテーブルにロードする

アップロードした売上データ(sales.csv)はファイル内にあり、データ アナリストやエンジニアは Apache Spark コードを使用して直接操作できます。ここではSQL を使用してクエリを実行できるように、ファイルからテーブルにデータをロードします。

1 . sales.csv ファイルのメニューで、[テーブルに読み込む] > [新しいテーブル] を選択します。

015.png

2 . [新しいテーブルにファイルを読み込む] ダイアログボックスで、テーブル名を sales に設定し、読み込みボタンを押下します。

016.png

3 . Tables フォルダ配下にsalesテーブルが作成されます。sales テーブルのメニューで [ファイルの表示] を選択し、このテーブルの基になるファイルを表示します。

017.png

差分テーブルのファイルは Parquet 形式で保存され、テーブルに適用されたトランザクションの詳細が記録される _delta_log という名前のサブフォルダが含まれます。

018.png

3-5 SQL を使用してテーブルをクエリする

レイクハウスを作成し、その中にテーブルを定義すると、SQL ステートメントを使用してテーブルをクエリできる SQL エンドポイントが自動的に作成されます。

1 . 画面右上の [Lakehouse]から[SQL分析エンドポイント]に切り替えます。こちらを行うことで、レイクハウスの SQL 分析エンドポイントがビジュアル インターフェイスで開き、そこからテーブルに対してクエリを実行できるようになります。

019.png

2 . ツールバーで、 [新しい SQL クエリ] オプションを展開し、 [新しい SQL クエリ] を選択して新しいクエリ エディタを開きます。

020.png

クエリ エディタを開き、次の SQL クエリを入力します。

SQL
SELECT Item, SUM(Quantity * UnitPrice) AS Revenue
FROM sales
GROUP BY Item
ORDER BY Revenue DESC;

3 . [実行]ボタンを押下後、各製品の合計収益を表示する結果を表示することができます。

021.png

3-6 ビジュアル クエリを作成する

Power BI の経験を持つデータ アナリストは、Power Query のスキルを適用してビジュアル クエリを作成できます。

1 . ツールバーで、 [新しい SQL クエリ] オプションを展開し、 [新しいビジュアル クエリ] を選択します。

022.png

2 . sales テーブルを選択し右クリック [キャンパスに挿入]を選択します。
※公式ドキュメントよりsales テーブルを新しいビジュアル クエリ エディター ウィンドウにドラッグして開く事もできるそうです。

023.png

024.png

3 . [列の管理] メニューで、[列の選択] を選択します。

025.png

4 . [列の選択] ダイアログボックスで、SalesOrderNumber 列と SalesOrderLineNumber 列のみを選択します。[OK]を押下します。

026.png

5 . 画面遷移後、下記テーブルが2列のみになっていることを確認できます。次に、[変換] メニューで、[グループ化] を選択します。

027.png

6 . [変換] メニューで、[グループ化] を選択します。次に、次の基本設定を使用してデータをグループ化します。[OK]を押下します。

  • グループ化: SalesOrderNumber
  • 新しい列名: LineItems
  • 操作: 個別の値をカウントする
  • 列: SalesOrderLineNumber

028.png

7 . 完了すると、ビジュアル クエリの結果ウィンドウに、各販売注文の品目の数が表示されます。

029.png

3-7 リソースをクリーンアップする

以上で演習は終了になります。最後はワークスペースを削除します。

1 . 左側のバーで、ワークスペースのアイコンを選択して、演習で作成したワークスペースの[...] - [ワークスペースの設定]を選択します。

030.png

2 . [全般] セクションで、名前を確認し、[このワークスペースの削除する] を選択します。

031.png

3 . [ワークスペースを削除しますか]ダイアログボックスで、[削除] を選択します。

032.png

以上でワークスペースが削除されます。お疲れ様でした!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?