fabric-lakehouse について
fabric-lakehouseは、Microsoft FabricのLakehouseソリューションの理解、設計、最適化を支援するスキルです。ストレージ、クエリ、セキュリティ、リネージ、性能に関する実践知識を扱います。
主な機能
- 01Lakehouseの概念と構成要素
- 02テーブルとファイルの管理
- 03参照データへのショートカット
- 04セキュリティとアクセス制御
- 05最適化とリネージのガイダンス
活用シーン
- 01Microsoft Fabric Lakehouse機能の説明
- 02Lakehouseのデータ配置の計画
- 03テーブルとファイルのアクセス管理
- 04クエリ性能の改善
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ github/ awesome-copilot --skill fabric-lakehouseインストール後、Claude Code で/fabric-lakehouseを入力して読み込まれたか確認します。
同梱ファイルreferences/getdata.mdreferences/pyspark.md
詳細
このスキルを使用するタイミング
次のような場合にこのスキルを使用します:
- Fabric Lakehouse とその機能に関する定義やコンテキストを含むドキュメントや説明を生成する場合。
- ベストプラクティスを使用して Lakehouse ソリューションを設計、構築、最適化する場合。
- Microsoft Fabric における Lakehouse のコア概念とコンポーネントを理解する場合。
- Lakehouse 内で表形式データと非表形式データを管理する方法を学ぶ場合。
Fabric Lakehouse
コア概念
Lakehouse とは何か?
Microsoft Fabric の Lakehouse は、ユーザーが表形式データ(テーブルなど)と非表形式データ(ファイルなど)を保存する場所を提供するアイテムです。データレイクの柔軟性とデータウェアハウスの管理機能を組み合わせたものです。次を提供します:
- 構造化データと非構造化データのための OneLake における統合ストレージ
- ACID トランザクション、バージョン管理、タイムトラベルのための Delta Lake 形式
- T-SQL クエリのための SQL 分析エンドポイント
- Power BI 統合のためのセマンティックモデル
- CSV、Parquet などの他のテーブル形式のサポート
- 任意のファイル形式のサポート
- テーブルの最適化とデータ管理のためのツール
主要なコンポーネント
- Delta テーブル: ACID 準拠とスキーマ適用を備えたマネージドテーブル
- ファイル: Files セクションにある非構造化/半構造化データ
- SQL エンドポイント: クエリ用に自動生成される読み取り専用の SQL インターフェイス
- ショートカット: データをコピーせずに外部/内部データへの仮想リンク
- Fabric マテリアライズドビュー: 高速なクエリパフォーマンスのための事前計算されたテーブル
Lakehouse における表形式データ
テーブル形式の表形式データは「Tables」フォルダーの下に保存されます。Lakehouse におけるテーブルの主な形式は Delta です。Lakehouse は CSV や Parquet などの他の形式で表形式データを保存できますが、これらの形式は Spark クエリでのみ利用可能です。 テーブルは、データが「Tables」フォルダーの下に保存される場合は内部テーブル、テーブルへの参照のみが「Tables」フォルダーの下に保存され、データ自体は参照先の場所に保存される場合は外部テーブルとなります。テーブルはショートカットを介して参照され、ショートカットは内部(Fabric 内の別の場所を指す)または外部(Fabric の外部に保存されたデータを指す)のいずれかです。
Lakehouse におけるテーブルのスキーマ
Lakehouse を作成するとき、ユーザーはスキーマを有効にするかどうかを選択できます。スキーマは Lakehouse テーブルを整理するために使用されます。スキーマは「Tables」フォルダーの下のフォルダーとして実装され、それらのフォルダー内にテーブルを保存します。既定のスキーマは「dbo」で、削除も名前変更もできません。その他のスキーマはすべて省略可能で、作成、名前変更、削除ができます。ユーザーはスキーマショートカットを使用して別の lakehouse にあるスキーマを参照でき、それによって単一のショートカットで参照先スキーマ内のすべてのテーブルを参照できます。
Lakehouse におけるファイル
ファイルは「Files」フォルダーの下に保存されます。ユーザーはフォルダーとサブフォルダーを作成してファイルを整理できます。任意のファイル形式を Lakehouse に保存できます。
Fabric マテリアライズドビュー
スケジュールに基づいて自動的に更新される、事前計算されたテーブルのセットです。複雑な集計や結合に対して高速なクエリパフォーマンスを提供します。マテリアライズドビューは PySpark または Spark SQL を使用して定義され、関連付けられた Notebook に保存されます。
Spark ビュー
SQL クエリによって定義される論理テーブルです。データを保存せず、クエリ用の仮想レイヤーを提供します。ビューは Spark SQL を使用して定義され、Lakehouse 内の Tables の隣に保存されます。
セキュリティ
アイテムアクセスまたはコントロールプレーンセキュリティ
ユーザーは、Lakehouse とそのコンテンツへのさまざまなレベルのアクセスを提供するワークスペースロール(管理者、メンバー、共同作成者、閲覧者)を持つことができます。ユーザーは、Lakehouse の共有機能を使用してアクセス許可を取得することもできます。
データアクセスまたは OneLake セキュリティ
データアクセスには、Microsoft Entra ID(旧 Azure Active Directory)とロールベースのアクセス制御(RBAC)に基づく OneLake セキュリティモデルを使用します。Lakehouse のデータは OneLake に保存されるため、データへのアクセスは OneLake の権限を通じて制御されます。Lakehouse はオブジェクトレベルの権限に加えて、テーブルに対する列レベルおよび行レベルのセキュリティもサポートしており、テーブル内の特定の列や行を誰が参照できるかをきめ細かく制御できます。
Lakehouse ショートカット
ショートカットは、データをコピーせずに仮想リンクを作成します:
ショートカットの種類
- Internal: 他の Fabric Lakehouse/テーブルへのリンク、ワークスペース間のデータ共有
- ADLS Gen2: Azure の ADLS Gen2 コンテナーへのリンク
- Amazon S3: AWS S3 バケット、クラウド間のデータアクセス
- Dataverse: Microsoft Dataverse、ビジネスアプリケーションのデータ
- Google Cloud Storage: GCS バケット、クラウド間のデータアクセス
パフォーマンスの最適化
V-Order 最適化
セマンティックモデルでデータをより高速に読み取るには、Delta テーブルで V-Order 最適化を有効にします。これは一般的なアクセスパターンに対してクエリパフォーマンスを向上させる方法でデータを事前に並べ替えます。
テーブルの最適化
テーブルは OPTIMIZE コマンドを使用して最適化することもできます。このコマンドは小さなファイルをより大きなファイルにまとめ、特定の列に対するクエリパフォーマンスを向上させるために Z オーダーを適用することもできます。定期的な最適化は、時間の経過とともにデータが取り込まれ更新される中でパフォーマンスを維持するのに役立ちます。Vacuum コマンドは、特に更新や削除の後に、古いファイルをクリーンアップしてストレージ領域を解放するために使用できます。
系統
Lakehouse アイテムは系統をサポートしており、ユーザーはデータの起源と変換を追跡できます。系統情報は Lakehouse 内のテーブルとファイルに対して自動的にキャプチャされ、データがソースから宛先へどのように流れるかを示します。これはデバッグ、監査、およびデータ依存関係の理解に役立ちます。
PySpark コード例
詳細は PySpark コード を参照してください。
Lakehouse へのデータの取り込み
詳細は データの取得 を参照してください。