次の方法で共有


Lakehouse スキーマ (プレビュー) とは?

Lakehouse はカスタム スキーマの作成をサポートしています。 スキーマを使用すると、データの検出やアクセス制御などを向上させるために、テーブルをグループ化できます。

Lakehouse スキーマを作成する

Lakehouse のスキーマ サポートを有効にするには、作成時に Lakehouse スキーマ (パブリック プレビュー) の横にあるチェック ボックスをオンにします。

新規Lakehouse ダイアログを示すスクリーンショット。

重要

ワークスペース名には、プレビューの制限により英数字のみを含める必要があります。 ワークスペース名に特殊文字が使用されている場合、Lakehouse の一部の機能は機能しません。

Lakehouse を作成すると、Tables の下に dbo という名前のデフォルトのスキーマが表示されます。 このスキーマは常に存在し、変更または削除することはできません。 新規スキーマを作成するには、 Tablesにカーソルを合わせ、[ ...] を選択し、[新規スキーマ 選択します。 スキーマ名を入力し、作成 を選択します。 スキーマが Tables の下にアルファベット順に表示されます。

[新規Lakehouse] ダイアログを示すスクリーンショット。

Lakehouse スキーマにテーブルを保存する

スキーマにテーブルを保存するには、スキーマ名が必要です。 それ以外の場合は、デフォルトの dbo スキーマに進みます。

df.write.mode("Overwrite").saveAsTable("contoso.sales")

Lakehouse Explorer を使用すると、テーブルを配置したり、テーブル名を別のスキーマにドラッグ アンド ドロップしたりできます。

スキーマ間でテーブルを移動するアニメーション。

注意事項

テーブルを変更する場合は、Notebook コードやデータフローなどの関連項目も更新して、正しいスキーマに合わせて配置する必要があります。

スキーマ ショートカットを使用して複数のテーブルを表示する

他の Fabric Lakehouse または外部ストレージから複数の Delta テーブルを参照するには、選択したスキーマまたはフォルダーのすべてのテーブルを表示するスキーマ ショートカットを使用します。 ソースの場所のテーブルに対する変更もスキーマに表示されます。 スキーマ ショートカットを作成するには、 Tablesにカーソルを合わせ、 ... を選択して、新規スキーマ ショートカット を選択します。 次に、別の Lakehouse のスキーマ、または Azure Data Lake Storage (ADLS) Gen2 などの外部ストレージに Delta テーブルがあるフォルダーを選択します。 参照先のテーブルを含む新規スキーマが作成されます。

新規 Lakehouse スキーマ ショートカットを示すスクリーンショット。

Power BI レポート用の Lakehouse スキーマにアクセスする

セマンティック モデルを作成するには、使用するテーブルを選択するだけです。 テーブルは、異なるスキーマに含めることができます。 異なるスキーマのテーブルが同じ名前を共有している場合は、モデル ビューのテーブル名の横に数字が表示されます。

Notebookの Lakehouse スキーマ

Notebook オブジェクト エクスプローラーでスキーマが有効になっている Lakehouse を見ると、テーブルがスキーマに含まれていることがわかります。 テーブルをコード セルにドラッグ アンド ドロップし、テーブルが配置されているスキーマを参照するコード スニペットを取得できます。 この名前空間を使用して、コード内のテーブル "workspace.Lakehouse.schema.table" を参照します。 いずれかの要素を除外すると、Executor はデフォルトの設定を使用します。 たとえば、テーブル名のみを指定した場合、Notebookのデフォルトの Lakehouse のデフォルトのスキーマ (dbo) が使用されます。

重要

コードでスキーマを使用する場合は、Notebookのデフォルトの Lakehouse でスキーマが有効になっていることを確認します。

ワークスペース間の Spark SQL クエリ

名前空間 "workspace.lakehouse.schema.table" を使用して、コード内のテーブルを参照します。 これにより、コードを実行するユーザーがテーブルにアクセスするアクセス許可を持っている場合は、異なるワークスペースのテーブルを結合できます。

SELECT * 
    FROM operations.hr.hrm.employees as employees 
    INNER JOIN global.corporate.company.departments as departments
    ON employees.deptno = departments.deptno;

重要

スキーマが有効になっているLakehouse からのみテーブルを結合してください。 スキーマが有効になっていないLakehouse からのテーブルの結合は機能しません。

パブリック プレビューの制限事項

以下に示すサポートされていない機能は、パブリック プレビューの現在のリリース向けです。 これらは、一般公開前の今後のリリースで解決されます。

サポートされていない機能 メモ
共有レイクハウス 共有レイクハウスの名前空間におけるワークスペースの使用は機能しません (例: wokrkspace.sharedlakehouse.schema.table)。 名前空間でワークスペースを使用するには、ユーザーにワークスペース ロールが必要です。
差分以外のマネージド テーブル スキーマ デルタ形式以外のマネージド テーブル (CSV など) のスキーマの取得はサポートされていません。 Lakehouse エクスプローラーでこれらのテーブルを展開しても、UX にスキーマ情報は表示されません。
外部 Spark テーブル 外部 Spark テーブルの操作 (検出、スキーマの取得など) はサポートされていません。 これらのテーブルは UX で識別されません。
パブリック API パブリック API (テーブルの一覧表示、テーブルの読み込み、defaultSchema 拡張プロパティの公開など) は、スキーマが有効な Lakehouse ではサポートされていません。 スキーマが有効になっている Lakehouse で呼び出された既存のパブリック API では、エラーが発生します。
テーブルのメンテナンス サポートされていません。
テーブルのプロパティを更新する サポートされていません。
特殊文字を含むワークスペース名 特殊文字 (スペース、スラッシュなど) を含むワークスペースはサポートされていません。 ユーザー エラーが表示されます。
Spark の表示 サポートされていません。
Hive特有の機能 サポートされていません。
Spark.catalog API サポートされていません。 代わりに Spark SQL を使用してください。
USE <schemaName> ワークスペース間では機能しませんが、同じワークスペース内でサポートされます。
移行 スキーマ ベースの Lakehouse への既存のスキーマ以外の Lakehouse の移行はサポートされていません。