この記事では、Azure Databricks 上のデータと AI 資産の統合ガバナンス ソリューションである Unity Catalog について説明します。
注
Unity Catalog は、オープンソースの実装としても使用できます。 お知らせブログとパブリック Unity カタログ GitHub リポジトリを参照してください。
Unity Catalog の概要
Unity Catalog には、Azure Databricks ワークスペース全体の一元化されたアクセス制御、監査、系列、およびデータ検出機能が備えられています。
Unity Catalog の主な特徴は次のとおりです。
- 一度定義し、あらゆる場所でセキュリティで保護する: Unity カタログには、すべてのワークスペースに適用されるデータ アクセス ポリシーを管理する 1 つの場所が用意されています。
- 標準準拠のセキュリティ モデル: Unity カタログのセキュリティ モデルは、標準の ANSI SQL に基づいており、管理者は、カタログ、スキーマ (データベースとも呼ばれます)、テーブル、ビューのレベルで、使い慣れた構文を使用して既存のデータ レイクにアクセス許可を付与できます。
- 組み込みの監査と系列: Unity Catalog では、データへのアクセスを記録するユーザーレベルの監査ログが自動的に取得されます。 さらに Unity Catalog では、すべての言語でデータ資産がどのように作成され、どのように使用されているかを追跡する系列データもキャプチャされます。
- データ検出: Unity カタログを使用すると、データ資産のタグ付けとドキュメント化が可能になり、データ コンシューマーがデータを見つけるのに役立つ検索インターフェイスが提供されます。
- システム テーブル (パブリック プレビュー):Unity カタログを使用すると、監査ログ、課金対象の使用状況、系列など、アカウントの運用データに簡単にアクセスしてクエリを実行できます。
Unity Catalog のオブジェクト モデル
Unity Catalog では、すべてのメタデータがメタストアに登録されます。 Unity Catalog メタストア内のデータベース オブジェクトの階層は、テーブル、ビュー、ボリューム、モデル、および関数を参照するときに、3 レベルの名前空間 (catalog.schema.table-etc
) として表される 3 つのレベルに分けられます。
メタストア
メタストアは、Unity Catalog 内のメタデータの最上位レベルのコンテナーです。 データと AI 資産に関するメタデータとそれらへのアクセス権を制御するアクセス許可を登録します。 ワークスペースで Unity Catalog を使用するには、Unity Catalog メタストアがアタッチされている必要があります。
ワークスペースがあるリージョンごとに 1 つのメタストアが必要です。 ワークスペースはどのようにメタストアにアタッチされますか? 「組織の Unity カタログを設定する方法」を参照してください。
メタストア内のオブジェクト階層
Unity Catalog メタストアの、3 レベルのデータベース オブジェクト階層はスキーマを含むカタログで構成されます。このスキーマには、テーブルやモデルなどのデータと AI オブジェクトが含まれます。
レベル 1:
- カタログ はデータ資産を整理するために使用され、通常はデータ分離スキームの最上位レベルとして使用されます。 多くの場合、カタログは組織単位やソフトウェア開発のライフサイクル スコープを反映します。 「Azure Databricks のカタログとは」を参照してください。
- ストレージ資格情報や外部の場所など、データセキュリティ保護可能でないオブジェクトは、Unity カタログでデータ ガバナンス モデルを管理するために使用されます。 これらはメタストアのすぐ下にもあります。 詳細については、「 その他のセキュリティ保護可能なオブジェクト」を参照してください。
レベル 2:
- スキーマ (データベースとも呼ばれます) には、テーブル、ビュー、ボリューム、AI モデル、関数が含まれます。 スキーマは、データと AI 資産を、カタログよりも詳細な論理カテゴリに整理します。 通常、スキーマは単一のユース ケース、プロジェクト、またはチーム サンドボックスを表します。 「Azure Databricks のスキーマとは」を参照してください。
レベル 3:
- ボリューム は、クラウド オブジェクト ストレージ内の非構造化の表形式ではないデータの論理ボリュームです。 ボリュームは、Unity Catalog がストレージ内のデータのライフサイクルとレイアウトを完全に管理する方法(管理)と、Unity Catalog が Azure Databricks 内からのみデータへのアクセスを管理し、他のクライアントからのクラウドストレージ内のデータへのアクセスは管理しない方法(外部)のどちらかを選択できます。 「Unity カタログボリュームとは何か」と「マネージドテーブルと外部テーブルおよびボリュームの比較」を参照してください。
- テーブル は、行と列で編成されたデータのコレクションです。 テーブルは、Unity カタログでテーブルの完全なライフサイクルを管理するか、Unity カタログで Azure Databricks 内からデータへのアクセスを管理する外部を使用して管理できますが、他のクライアントからのクラウド ストレージ内のデータへのアクセスは管理できません。 「 テーブルとは」 および「 マネージド」と「外部テーブルとボリューム」を参照してください。
- ビュー は、1 つ以上のテーブルに対して保存されたクエリです。 「 ビューとは」を参照してください。
- 関数 は、スカラー値または行のセットを返す保存済みロジックの単位です。 Unity カタログのユーザー定義関数 (UDF) を参照してください。
- モデル は、MLflow でパッケージ化され、関数として Unity カタログに登録された AI モデルです。 Unity カタログでのモデルのライフサイクルの管理に関するページを参照してください。
Unity Catalog でのデータベース オブジェクトの操作
Unity カタログでのデータベース オブジェクトの操作は、Hive メタストアに登録されているデータベース オブジェクトを操作するのとよく似ていますが、例外として、Hive メタストアにはオブジェクト名前空間にカタログが含まれていません。 使い慣れた ANSI 構文を使用して、データベース オブジェクトの作成、データベース オブジェクトの管理、アクセス許可の管理、Unity Catalog のデータの操作を行うことができます。 カタログ エクスプローラー UI を使用して、データベース オブジェクトの作成、データベース オブジェクトの管理、データベース オブジェクトに対するアクセス許可の管理を行うこともできます。
詳細については、「 Azure Databricks のデータベース オブジェクト 」および 「Unity カタログと従来の Hive メタストアを操作する」を参照してください。
その他のセキュリティ保護可能なオブジェクト
Unity Catalog は、スキーマに含まれるデータベース オブジェクトと AI 資産に加えて、次のセキュリティ保護可能なオブジェクトを使用してデータへのアクセスを管理します。
- サービス資格情報。外部サービスへのアクセスを提供する長期的なクラウド資格情報をカプセル化します。 「サービス資格情報の作成」を参照してください。
- ストレージ資格情報。クラウド ストレージへのアクセスを提供する長期的なクラウド資格情報をカプセル化します。 Azure Data Lake Storage に接続するためのストレージ資格情報の作成に関するページを参照してください。
- 外部の場所。ストレージ資格情報とクラウド ストレージ パスへの参照が含まれます。 外部の場所を使用して、外部テーブルを作成したり、マネージド テーブルとボリュームの マネージド ストレージの場所 を割り当てたりすることができます。 クラウド ストレージを Azure Databricks に接続するための外部の場所の作成、マネージド ストレージを使用したデータの分離、Unity カタログでのマネージド ストレージの場所の指定に関するページを参照してください。
- 接続。これは、Lakehouse フェデレーションを使用する MySQL などのデータベース システム内の外部データベースへの読み取り専用アクセスを提供する資格情報を表します。 「Lakehouse Federation and Unity Catalog」と「Lakehouse Federation とは」を参照してください。
- Databricks で管理される環境を表すクリーン ルーム。基になるデータを相互に共有することなく、複数の参加者がプロジェクトで共同作業を行うことができます。 「Azure Databricks Clean Rooms とは」を参照してください。
- シェアは、データプロバイダーが受信者と共有するデータとAI資産の読み取り専用コレクションを表すDelta Sharingオブジェクトです。
- 受信者は、「データ プロバイダー」からシェアを受け取るエンティティを表すDelta Sharingオブジェクトです。
- プロバイダー。これは、受信者とデータを共有するエンティティを表す差分共有オブジェクトです。
デルタ共有のセキュリティ保護可能なオブジェクトの詳細については、「 差分共有とは」を参照してください。
Unity Catalog 内のデータベース オブジェクトとその他のセキュリティ保護可能なオブジェクトへのアクセスの許可と取り消し
メタストア自体を含め、階層内の任意のレベルでセキュリティ保護可能なオブジェクトへのアクセスを許可および取り消すことができます。 オブジェクトへのアクセス権は、取り消されない限り、そのオブジェクトのすべての子に対して暗黙的に同じアクセス権を付与します。
一般的な ANSI SQL コマンドを使用して、Unity Catalog 内のオブジェクトへのアクセスを許可および取り消すことができます。 次に例を示します。
GRANT CREATE TABLE ON SCHEMA mycatalog.myschema TO `finance-team`;
カタログ エクスプローラー、Databricks CLI、REST API を使用して、オブジェクトのアクセス許可を管理することもできます。
Unity カタログで権限を管理する方法については、Unity カタログ での権限の管理に関するページを参照してください。
Unity Catalog 内のデータベース オブジェクトへの既定のアクセス
Unity Catalog は、最小限の特権という原則に基づいて動作します。ユーザーは、必要なタスクを実行するために必要な最小限のアクセス権を持ちます。 ワークスペースが作成されると、管理者以外のユーザーは自動的にプロビジョニングされた ワークスペース カタログにのみアクセスできます。これにより、このカタログは、ユーザーが Unity カタログでデータベース オブジェクトを作成してアクセスするプロセスを試すのに便利な場所になります。 ワークスペース カタログ権限を参照してください。
管理者ロール
ワークスペース管理者とアカウント管理者には、既定で追加の特権があります。 Metastore 管理者 はオプションのロールであり、メタストア レベルでテーブルとボリュームのストレージを管理する場合に必要であり、リージョン内の複数のワークスペースでデータを一元的に管理する場合に便利です。 詳細については、「 Unity カタログの管理者特権 」および 「(省略可能) メタストア管理者ロールを割り当てる」を参照してください。
マネージドまたは外部のテーブルとボリューム
テーブルとボリュームは、マネージドまたは外部にできます。
- マネージド テーブル は Unity カタログによって完全に管理されます。つまり、Unity カタログは、各マネージド テーブルのガバナンスと基になるデータ ファイルの両方を管理します。 マネージド テーブルは、クラウド ストレージ内の Unity Catalog 管理の場所に格納されます。 マネージド テーブルでは、常に Delta Lake 形式を使用します。 マネージド テーブルは、メタストア、カタログ、またはスキーマのレベルで格納できます。
- 外部テーブル とは、Azure Databricks からのアクセスが Unity カタログによって管理されているが、データ ライフサイクルとファイル レイアウトがクラウド プロバイダーやその他のデータ プラットフォームを使用して管理されるテーブルです。 通常、Azure Databricks の大量の既存のデータを登録するか、Azure Databricks の外部のツールを使用してデータへの書き込みアクセスを要求する場合に、外部テーブルを使用します。 外部テーブルは複数のデータ形式でサポートされています。 外部テーブルが Unity Catalog メタストアに登録されたら、マネージド テーブルと同様に、Azure Databricks のアクセスを管理および監査して使用できます。
- マネージド ボリューム は Unity カタログによって完全に管理されます。つまり、Unity カタログは、クラウド プロバイダー アカウント内のボリュームのストレージの場所へのアクセスを管理します。 マネージド ボリュームを作成すると、そのボリュームは、包含スキーマに割り当てられた マネージド ストレージの場所 に自動的に格納されます。
- 外部ボリュームは 、Azure Databricks の外部で管理されているが、Azure Databricks 内からのアクセスを制御および監査するために Unity カタログに登録されているストレージの場所にある既存のデータを表します。 Azure Databricks で外部ボリュームを作成するときは、その場所を指定します。この場所は、Unity カタログの 外部の場所で定義されているパス上にある必要があります。
Databricks では、Unity Catalog のガバナンス機能とパフォーマンスの最適化を最大限に活用するために、マネージド テーブルとマネージド ボリュームを推奨しています。
「マネージド テーブルの操作」、「外部テーブルを操作する」、および「マネージド ボリュームと外部ボリューム」を参照してください。
マネージド ストレージを使用したデータの分離
組織では、クラウド テナント内の特定のアカウントまたはバケット内に特定の種類のデータを格納することが要求される場合があります。
Unity Catalog では、このような要件を満たすために、メタストア、カタログ、またはスキーマ レベルで格納場所を構成できます。 システムは、スキーマからカタログ、メタストアまでの格納場所の階層を評価します。
たとえば、組織に、コンテナー abfss://mycompany-hr-prod@storage-account.dfs.core.windows.netに存在する人事に関連する運用データを必要とする会社のコンプライアンス ポリシーがあるとします。 Unity カタログでは、カタログ レベルで場所を設定し、 hr_prod
などのカタログを作成し、場所 abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net/unity-catalog を割り当てることで、この要件を満たすことができます。 つまり、 hr_prod
カタログに作成されたマネージド テーブルまたはボリューム (たとえば、 CREATE TABLE hr_prod.default.table …
を使用) は、そのデータを abfss://mycompany-hr-prod@storage-account.dfs.core.windows.net/unity-catalog に格納します。 オプションで、hr_prod catalog
内のデータをより細かいレベルで整理するためにスキーマ レベルの場所を指定することもできます。
一部のカタログでストレージの分離が必要ない場合は、必要に応じて、メタストア レベルでストレージの場所を設定できます。 この場所は、ストレージが割り当てられないカタログとスキーマ内のマネージド テーブルとボリュームの既定の場所として機能します。 ただし、通常、Databricks では、カタログごとに個別のマネージド ストレージの場所を割り当てることを推奨しています。
詳細については、「 Unity カタログでマネージド ストレージの場所を指定 する」を参照してください。 データはストレージ内で物理的に分離されています。
ワークスペースとカタログのバインド
既定では、カタログ所有者 (およびアカウントに対して定義されている場合はメタストア管理者) は、同じ Unity Catalog メタストアに接続されている複数のワークスペースのユーザーにカタログへのアクセスを許可できます。 ただし、ワークスペースを使用してユーザー データ アクセスを分離する場合は、特定の種類のデータがそれらのワークスペースでのみ処理されるように、アカウント内の特定のワークスペースへのカタログ アクセスを制限することができます。 たとえば、運用ワークスペースと開発ワークスペースを別々にする場合や、個人データを処理するための別個のワークスペースが必要な場合があります。 これは、ワークスペースとカタログのバインドと呼ばれます。 特定のワークスペースへのカタログ アクセスの制限を参照してください。
注
データの分離を強化するために、クラウド ストレージ アクセスとクラウド サービスアクセスを特定のワークスペースにバインドすることもできます。 (省略可能) 特定のワークスペースへのストレージ資格情報の割り当て、(省略可能) 特定のワークスペースへの外部の場所の割り当て、(省略可能) 特定のワークスペースへのサービス資格情報の割り当てに関するページを参照してください。
データ アクセスの監査
Unity Catalog では、メタストアに対して実行されたアクションの監査ログがキャプチャされ、管理者は特定のデータセットにアクセスしたユーザーと実行したアクションに関する詳細にアクセスできます。
Unity カタログで管理されているシステム テーブルを使用して、アカウントの監査ログにアクセスできます。
システム テーブルを使用した Unity カタログ イベントの監査、 Unity カタログ イベント、および アカウント アクティビティの監視を参照してください。
データ系列の追跡
Unity Catalog を使用すると、Azure Databricks クラスターまたは SQL ウェアハウスに対して実行されたあらゆる言語のクエリを対象にランタイム データ系列をキャプチャできます。 系譜は列レベルまで追跡され、クエリに関連するノートブックやジョブ、ダッシュボードが含まれます。 詳細については、「 Unity カタログを使用してデータ系列を表示する」を参照してください。
Lakehouse フェデレーションと Unity Catalog
Lakehouse フェデレーションは、Azure Databricks のクエリ フェデレーション プラットフォームです。 クエリ フェデレーションという用語は、すべてのデータを統合システムに移行しなくても、ユーザーとシステムが複数のサイロ化されたデータ ソースに対してクエリを実行できるようにする機能のコレクションを表します。
Azure Databricks は、Unity Catalog を使用してクエリ フェデレーションを管理します。 Unity カタログを使用して、一般的な外部データベース システムへの読み取り専用 接続 を構成し、外部データベースをミラー化する 外部カタログを 作成します。 Unity Catalog のデータ ガバナンスとデータ系列ツールを使用すると、Azure Databricks ワークスペース内のユーザーによって行われたすべてのフェデレーション クエリについて、データ アクセスが管理および監査されます。
「Lakehouse Federation とは」を参照してください。
Delta Sharing、Databricks Marketplace、Unity Catalog
Delta Sharingは、データとAI資産を組織外のユーザーと共有できる、セキュリティで保護されたデータ共有プラットフォームです。そのユーザーがDatabricksを使用しているかどうかに関係なく利用できます。 Delta Sharingはオープンソースの実装として提供されていますが、DatabricksではUnity Catalogが必要で、拡張機能を最大限に活用できます。 「Delta Sharing とは」を参照してください。
Databricks Marketplace は、データ製品を交換するためのオープン フォーラムであり、Delta Sharing の上に構築されているため、Marketplace プロバイダーになるには Unity Catalog 対応ワークスペースが必要です。 Databricks Marketplace とはを参照してください。
組織操作方法 Unity カタログを設定しますか?
Unity Catalog を使用するには、Unity Catalog に対して Azure Databricks ワークスペースを有効にする必要があります。これは、ワークスペースが Unity Catalog メタストアにアタッチされていることを意味します。
ワークスペースはどのようにメタストアにアタッチされますか? アカウントとワークスペースによって異なります。
- 通常、リージョンに Azure Databricks ワークスペースを初めて作成すると、メタストアが自動的に作成され、ワークスペースにアタッチされます。
- 一部の古いアカウントでは、アカウント管理者がメタストアを作成し、そのリージョンのワークスペースをメタストアに割り当てる必要があります。 手順については、「 Unity カタログメタストアの作成」を参照してください。
- アカウントにリージョンにメタストアが既に割り当てられている場合、アカウント管理者は、そのリージョン内のすべての新しいワークスペースにメタストアを自動的にアタッチするかどうかを決定できます。 「 メタストアを新しいワークスペースに自動的に割り当てできるようにする」を参照してください。
ワークスペースが Unity Catalog に対して自動的に有効になっているかどうかにかかわらず、Unity Catalog の使用を開始するには、次の手順も必要です。
- テーブルやボリュームなどのデータベース オブジェクトを含むカタログとスキーマを作成します。
- これらのカタログとスキーマにマネージド テーブルとマネージド ボリュームを格納するマネージド ストレージの場所を作成します。
- カタログ、スキーマ、およびデータベース オブジェクトへのアクセス権をユーザーに付与します。
Unity カタログに対して自動的に有効になっているワークスペースは、すべてのワークスペース ユーザーに付与される広範な特権を持つワークスペース カタログ をプロビジョニングします。 このカタログは、Unity Catalog を試す際の出発点として便利です。
詳細なセットアップ手順については、「 Unity カタログのセットアップと管理」を参照してください。
既存のワークスペースを Unity カタログに移行する
Unity Catalog に対して最近有効にした古いワークスペースがある場合は、レガシ Hive メタストアによってデータが管理されている可能性があります。 そのデータは Unity カタログに登録されているデータと共に操作できますが、Databricks では、Unity カタログの優れたガバナンス機能とパフォーマンスを利用するために、できるだけ早く Hive メタストア内のデータを Unity カタログに移行することをお勧めします。
移行には次の処理が含まれます。
- ワークスペースローカルグループをアカウントレベルのグループに変換します。 Unity Catalog は、アカウント レベルで ID 管理を一元化します。 「 ワークスペースローカル グループをアカウント グループに移行する」を参照してください。
- Hive メタストアで管理されているテーブルとビューを Unity カタログに移行します。 Hive のテーブルとビューを Unity カタログにアップグレードするを参照してください。
- 古い Hive メタストア テーブルではなく、新しい Unity Catalog テーブルを参照するようにクエリとジョブを更新します。
- Hive メタストアを無効にします。 「Azure Databricks ワークスペースで使用される Hive メタストアへのアクセスを無効にする」を参照してください。
移行の管理に役立つ情報を次に示します。
- Databricks Labs プロジェクトである UCX には、Unity Catalog 以外のワークスペースを Unity Catalog にアップグレードするのに役立つツールが用意されています。 UCX は、大規模な移行に適しています。 「UCX ユーティリティを使用してワークスペースを Unity カタログにアップグレードする」を参照してください。
- Hive メタストア フェデレーションを使用すると、Unity カタログは Hive メタストアに格納されているテーブルを管理できます。 これにより、Unity カタログへの移行中に Hive メタストア テーブルを参照するワークロードを引き続き使用できます。 Hive メタストアのフェデレーション: Unity カタログを有効にして、Hive メタストアに登録されているテーブルを管理する方法に関する説明を参照してください。
- 移行するテーブルの数が少ない場合は、Azure Databricks の UI ウィザードと SQL コマンドを使用できます。 Hive のテーブルとビューを Unity カタログにアップグレードするを参照してください。
Unity Catalog の要件と制限事項
Unity Catalog には、以下で説明する特定の種類のコンピューティング形式とファイル形式が必要です。 また、すべての Databricks Runtime バージョンの Unity Catalog で完全にはサポートされていないいくつかの Azure Databricks 機能を次に示します。
リージョンのサポート
すべてのリージョンで Unity Catalog がサポートされます。 詳細については、 Azure Databricks リージョンに関するページを参照してください。
コンピューティングの要件
Unity Catalog は、Databricks Runtime 11.3 LTS 以降を実行するクラスターでサポートされています。 Unity カタログは、すべての SQL Warehouse コンピューティング バージョンで既定でサポートされています。
以前のバージョンの Databricks Runtime で実行されているクラスターでは、Unity Catalog GA のすべての機能がサポートされるわけではありません。
Unity カタログ内のデータにアクセスするには、クラスターを正しい アクセス モードで構成する必要があります。 既定で Unity Catalog はセキュリティで保護されています。 クラスターが標準または専用のアクセス モードで構成されていない場合、クラスターは Unity カタログ内のデータにアクセスできません。 アクセス モードを参照してください。
各 Databricks Runtime バージョンでの Unity カタログ機能の変更の詳細については、 リリース ノートを参照してください。
Unity Catalog の制限はアクセス モードと Databricks Runtime バージョンによって変わります。 Unity カタログのコンピューティング アクセス モードの制限事項を参照してください。
ファイル形式のサポート
Unity カタログでは、次のテーブル形式がサポートされます:
-
マネージド テーブル では、
delta
テーブル形式を使用する必要があります。 -
外部テーブル では、
delta
、CSV
、JSON
、avro
、parquet
、ORC
、またはtext
を使用できます。
制限事項
Unity Catalog には次の制限事項があります。 これらの一部は、以前の Databricks Runtime バージョンとコンピューティング アクセス モードに固有です。
構造化ストリーミング ワークロードには、Databricks Runtime とアクセス モードによって追加の制限があります。 Unity カタログのコンピューティング アクセス モードの制限事項を参照してください。
Databricks は、新機能をリリースしており、このリストは定期的に縮小されます。
- ワークスペースで以前に作成されたグループ (つまり、ワークスペースレベルのグループ) は、Unity Catalog
GRANT
ステートメントで使用できません。 これは、複数のワークスペースにまたがる可能性のあるグループのビューについて一貫性を確保するためです。GRAN
T ステートメントでグループを使用するには、アカウント レベルでグループを作成し、ワークスペース エンドポイントではなくアカウント エンドポイントを参照するように、プリンシパルまたはグループ管理 (SCIM、Okta、Microsoft Entra ID コネクタ、Terraform など) の自動化を更新してください。 グループ ソースを参照してください。 - R のワークロードでは、Databricks Runtime 15.3 以下を実行しているコンピューティングでの行レベルまたは列レベルのセキュリティに対する動的ビューの使用はサポートされていません。
動的ビューを照会する R のワークロードには、Databricks Runtime 15.4 LTS 以降を実行する専用のコンピューティング リソースを使用します。 このようなワークロードには、サーバーレス コンピューティングに対して有効になっているワークスペースも必要です。 詳細については、 専用コンピューティング (以前のシングル ユーザー コンピューティング) でのきめ細かなアクセス制御に関するページを参照してください。
シャロー クローンは、Databricks Runtime 12.2 LTS 以下を実行するコンピューティング上の Unity Catalog ではサポートされていません。 シャロー クローンを使用したマネージド テーブルの作成は、Databricks Runtime 13.3 LTS 以降で行えます。 Databricks Runtime のバージョンに関係なく、これらを使用して外部テーブルを作成することはできません。 Unity カタログ テーブルの簡易クローンを参照してください。
Unity Catalog テーブルではバケットはサポートされていません。 Unity Catalog でバケット化テーブルを作成しようとするコマンドを実行すると、例外がスローされます。
複数のリージョンにあるワークスペースから同じパスまたは Delta Lake テーブルに書き込むと、一部のクラスターが Unity Catalog にアクセスし、他のクラスターがそれにアクセスしない場合、パフォーマンスの信頼性が低下することがあります。
ALTER TABLE ADD PARTITION
などのコマンドを使用して外部テーブルのパーティションを操作するには、パーティション メタデータ ログを有効にする必要があります。 外部テーブルのパーティション検出を参照してください。差分形式でないテーブルに上書きモードを使用する場合、ユーザーは親スキーマに対する CREATE TABLE 権限を持ち、既存のオブジェクトの所有者であるか、オブジェクトに対する MODIFY 権限を持っている必要があります。
Python UDF は、Databricks Runtime 12.2 LTS 以下ではサポートされていません。 これには、Spark (
applyInPandas
とmapInPandas
) 上の UDAF、UDTF、Pandas が含まれます。 Databricks Runtime 13.3 LTS 以降では、Python スカラー UDF がサポートされています。標準アクセス モードのコンピューティングでは、Databricks Runtime 14.1 以下では Scala UDF はサポートされていません。 Scala スカラー UDF は、Databricks Runtime 14.2 以降の標準アクセス モードのコンピューティングでサポートされています。
標準 Scala スレッド プールはサポートされていません。 代わりに、
org.apache.spark.util.ThreadUtils
で特殊なスレッド プールを使用します (例:org.apache.spark.util.ThreadUtils.newDaemonFixedThreadPool
)。 ただし、ThreadUtils
内のThreadUtils.newForkJoinPool
スレッド プールとすべてのScheduledExecutorService
スレッド プールはサポートされていません。
- 監査ログは、ワークスペース レベルの Unity Catalog イベントに対してのみサポートされています。 メタストアの作成など、ワークスペースに関係なくアカウント レベルで発生するイベントはログに記録されません。
Unity Catalog に登録されているモデルには、追加の制限があります。 制限事項を参照してください。
リソース クォータ
Unity Catalog では、セキュリティ保護可能なすべてのオブジェクトにリソース クォータが適用されます。 これらのクォータは、[ リソースの制限] に一覧表示されます。 これらのリソース制限を超えることが予想される場合は、Azure Databricks アカウント チームにお問い合わせください。
Unity Catalog リソース クォータ API を使用して、クォータの使用状況を監視できます。 Unity カタログ リソース クォータの使用状況の監視を参照してください。