Unity カタログの要件と制限事項

このページでは、Unity カタログのコンピューティング要件、サポートされているファイル形式、名前付けの制約、既知の制限事項について説明します。

リージョンのサポート

すべてのリージョンで 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 カタログでは、次のテーブル形式がサポートされます:

  • マネージド テーブル では、 delta または iceberg テーブル形式を使用する必要があります。
  • 外部テーブル では、 deltaCSVJSONavroparquetORC、または textを使用できます。

セキュリティ保護可能なオブジェクトの名前付けの要件

Unity カタログ内のすべてのオブジェクト名には、次の制限が適用されます。

  • オブジェクト名は、255 文字以内である必要があります。
  • 次の特殊文字は使用できません:
    • ピリオド (.)
    • 空白 ( )
    • スラッシュ (/)
    • すべての ASCII 制御文字 (16 進数 00 から 1F)
    • DELETE 文字 (16 進数 7F)
  • Unity カタログでは、すべてのオブジェクト名が小文字で格納されます。
  • SQL で UC 名を参照する場合は、バッククォートを使用して、ハイフン (-) などの特殊文字を含む名前をエスケープする必要があります。

Note

列名には特殊文字を使用できますが、特殊文字を使用する場合は、すべての SQL ステートメントでバックティックを使用して名前をエスケープする必要があります。 Unity Catalog では列名での大文字と小文字の区別が保持されますが、Unity Catalog テーブルに対するクエリでは大文字と小文字は区別されません。

制限

Unity Catalog には次の制限事項があります。 これらの一部は、以前の Databricks Runtime バージョンとコンピューティング アクセス モードに固有です。

構造化ストリーミング ワークロードには、Databricks Runtime とアクセス モードによって追加の制限があります。 Standard コンピューティングの要件と制限事項、および専用コンピューティングの要件と制限事項を参照してください。

Databricks は、新機能をリリースしており、このリストは定期的に縮小されます。

  • ワークスペースで以前に作成されたグループ (つまり、ワークスペースレベルのグループ) は、Unity Catalog GRANT ステートメントで使用できません。 これは、複数のワークスペースにまたがる可能性のあるグループのビューについて一貫性を確保するためです。 GRANT ステートメントでグループを使用するには、アカウント レベルでグループを作成し、ワークスペース エンドポイントではなくアカウント エンドポイントを参照するようにプリンシパルまたはグループ管理 (SCIM、Okta、Microsoft Entra ID コネクタ、Terraform など) の自動化を更新します。 グループ ソースを参照してください。
  • R のワークロードでは、Databricks Runtime 15.3 以下を実行しているコンピューティングでの行レベルまたは列レベルのセキュリティに対する動的ビューの使用はサポートされていません。
    • 動的ビューを照会する R のワークロードには、Databricks Runtime 15.4 LTS 以降を実行する専用のコンピューティング リソースを使用します。 このようなワークロードには、サーバーレス コンピューティングに対して有効になっているワークスペースも必要です。 詳細については、 専用コンピューティングでのきめ細かなアクセス制御に関するページを参照してください。
  • マネージド テーブルは、Databricks Runtime 13.3 LTS 以降の別のマネージド テーブルに浅く複製できます。 外部テーブルは、Databricks Runtime 14.2 以降の別の外部テーブルに浅く複製できます。 マネージド テーブルを外部テーブルに浅く複製することはできません。 また、外部テーブルをマネージド テーブルに浅く複製することはできません。 詳細については、「 Unity カタログ テーブルの簡易クローン」を参照してください。
  • Unity Catalog テーブルではバケットはサポートされていません。 Unity Catalog でバケットテーブルを作成しようとするコマンドを実行すると、例外が発生します。
  • 複数のリージョンにあるワークスペースから同じパスまたは Delta Lake テーブルに書き込むと、一部のクラスターが Unity Catalog にアクセスし、他のクラスターがそれにアクセスしない場合、パフォーマンスの信頼性が低下することがあります。
  • ALTER TABLE ADD PARTITIONなどのコマンドを使用して外部テーブルのパーティションを操作するには、パーティション メタデータ ログを有効にする必要があります。 外部テーブルのパーティション検出を参照してください。
  • 差分形式でないテーブルに上書きモードを使用する場合、ユーザーは親スキーマに対する CREATE TABLE 権限を持ち、既存のオブジェクトの所有者であるか、オブジェクトに対する MODIFY 権限を持っている必要があります。
  • Python UDF は、Databricks Runtime 12.2 LTS 以下ではサポートされていません。 これには、Spark (applyInPandasmapInPandas) 上の UDAF、UDTF、Pandas が含まれます。 Databricks Runtime 13.3 LTS 以降では、Python スカラー UDF がサポートされています。
  • 標準アクセス モードのコンピューティングでは、Databricks Runtime 14.1 以下では Scala UDF はサポートされていません。 スカラー UDF は、Databricks Runtime 14.2 以降で、標準アクセス モードのコンピューティングでサポートされています。
  • 標準 Scala スレッド プールはサポートされていません。 代わりに、org.apache.spark.util.ThreadUtils で特殊なスレッド プールを使用します (例: org.apache.spark.util.ThreadUtils.newDaemonFixedThreadPool)。 ただし、ThreadUtils 内の ThreadUtils.newForkJoinPool スレッド プールとすべての ScheduledExecutorService スレッド プールはサポートされていません。
  • Azure 診断ログは、ワークスペース レベルで Unity カタログ イベントのみをログに記録します。 アカウント レベルのアクションを表示するには、監査ログ システム テーブルを使用する必要があります。 「監査ログシステムテーブル参照を参照してください。」

Unity Catalog に登録されているモデルには、追加の制限があります。 制限事項を参照してください。

リソース クォータ

Unity Catalog では、セキュリティ保護可能なすべてのオブジェクトにリソース クォータが適用されます。 これらのクォータは、リソースの制限に記載されています。 これらのリソース制限を超えることが予想される場合は、Azure Databricks アカウント チームにお問い合わせください。

Unity Catalog リソース クォータ API を使用して、クォータの使用状況を監視できます。 「Unity Catalog リソース クォータの使用状況を監視するを参照してください。