注
アクセス モードの名前が変更されました。 共有アクセス モードが Standard になりました。 シングル ユーザー アクセス モードが Dedicated になり、1 人のユーザーまたはグループに割り当てることができます。 グループ アクセスはパブリック プレビュー段階です。
Databricks では、ほとんどのワークロードで標準アクセス モード (以前の共有アクセス モード) を使用することをお勧めします。 この記事では、Unity Catalog の各アクセス モードにおける制限事項と要件について説明します。 アクセス モードの詳細については、「アクセス モード」を参照してください。
Databricks は、ほとんどのユーザー向けに構成の簡素化のため、コンピューティング ポリシーの使用を推奨しています。 「コンピューティング ポリシーの作成と管理」を参照してください。
注
分離なしの共有と資格情報のパススルーは、Unity カタログをサポートしないレガシ アクセス モードです。
重要
Init スクリプトとライブラリは、アクセス モードおよび Databricks Runtime のバージョンによってサポート状況が異なります。 init スクリプトをインストールできる場所とコンピューティング スコープのライブラリを参照してください。
Unity カタログの専用アクセス モードの制限事項
Unity カタログの専用アクセス モードには、次の制限があります。 これらは、すべての Unity Catalog アクセス モードに共通する一般的な制限に加えて適用されます。 「Unity Catalog の一般的な制限事項」を参照してください。
Unity カタログ専用アクセス モードの詳細なアクセス制御の制限事項
Databricks Runtime 15.3 以下では、シングルユーザー コンピューティングでのきめ細かいアクセス制御はサポートされていません。 具体的な内容は次のとおりです。
- 行フィルターや列マスクが設定されたテーブルにはアクセスできません。
- 動的ビューにはアクセスできません。
- ビューを読み取るには、そのビューが参照しているすべてのテーブルおよびビューに対して
SELECT
権限が必要です。
動的ビュー、基になるテーブルとビューに SELECT
がないビュー、および行フィルターまたは列マスクを持つテーブルに対してクエリを実行するには、次のいずれかを使用します。
- SQL ウェアハウス
- 標準アクセス モードを使用したコンピューティング。
- Databricks Runtime 15.4 LTS 以降の専用アクセス モードを使用したコンピューティング。
Databricks Runtime 15.4 LTS 以上では、シングルユーザー コンピューティングでのきめ細かいアクセス制御がサポートされています。 Databricks Runtime 15.4 LTS 以上のデータ フィルター処理機能を利用するには、ワークスペースでサーバーレス コンピューティングが有効であることを確認してください。
サーバーレス コンピューティングではデータ フィルター処理を利用することで、基盤となるテーブルやビューに対するアクセス許可がなくてもビューにアクセスできます。 サーバーレス コンピューティングではデータ フィルター処理を利用するため、シングルユーザー コンピューティングでビューをクエリするとサーバーレス コンピューティングの料金が発生する場合があります。 詳細については、 専用コンピューティングでのきめ細かなアクセス制御に関するページを参照してください。
Unityカタログ専用アクセスモードにおけるストリーミングテーブルとマテリアライズドビューの制限事項
Databricks Runtime 15.3 以下では、ストリーミング テーブル や 具体化されたビューを含む、Lakeflow 宣言パイプラインを使用して作成されたテーブルをクエリするために、単一ユーザー コンピューティングを使用することはできません (これらのテーブルが 他のユーザーが所有している場合)。 テーブルの作成者がその所有者となります。
Lakeflow 宣言パイプラインによって作成され、他のユーザーが所有するストリーミング テーブルと具体化されたビューに対してクエリを実行するには、次のいずれかを使用します。
- SQL ウェアハウス
- Databricks Runtime 13.3 LTS 以降の標準アクセス モードを使用したコンピューティング。
- Databricks Runtime 15.4 LTS 以降の専用アクセス モードを使用したコンピューティング。
ワークスペースでもサーバーレス コンピューティングを有効にする必要があります。 詳細については、 専用コンピューティングでのきめ細かなアクセス制御に関するページを参照してください。
Unity カタログ専用アクセス モードのストリーミング制限
- Databricks Runtime 11.3 LTS 以下では、非同期チェックポイントはサポートされていません。
-
StreamingQueryListener
では、シングルユーザー コンピューティングで資格情報を使用したり Unity Catalog マネージドのオブジェクトを操作したりするために、Databricks Runtime 15.1 以上が必要です。
専用アクセス モードのネットワーク要件
- ワークスペースがファイアウォールを使用してデプロイされた場合、または送信ネットワークの制限がある場合は、ポート 8443 と 8444 を開いて、専用コンピューティングできめ細かなアクセス制御を有効にする必要があります。 ネットワーク セキュリティ グループの規則 を参照してください。
Unity カタログの標準アクセス モードの制限事項
Unity カタログの標準アクセス モードには、次の制限があります。 これらは、すべての Unity Catalog アクセス モードに共通する一般的な制限に加えて適用されます。 「Unity Catalog の一般的な制限事項」を参照してください。
- Databricks Runtime ML はサポートされていません。
- Spark-submit ジョブ タスクはサポートされていません。 代わりに、JAR タスク を使用してください。
- クラウド ストレージからデータを直接読み取る DBUtils やその他のクライアントは、外部ロケーションを使用してストレージ ロケーションにアクセスする場合にのみサポートされます。 クラウド ストレージを Azure Databricks に接続するには、「外部ロケーションを作成する」を参照してください。
- Databricks Runtime 13.3 以上では、1 行あたりのサイズが 128 MB を超えることはできません。
- DBFS ルートおよびマウントは FUSE をサポートしていません。
- カスタム コンテナーはサポートされていません。
Unity カタログ標準アクセス モードの言語サポート
- R はサポートされていません。
- Scala は Databricks Runtime 13.3 以上でサポートされています。
- Databricks Runtime 15.4 LTS 以上では、Databricks Runtime にバンドルされているすべての Java および Scala ライブラリ (JAR ファイル) が Unity Catalog アクセス モードのコンピューティングで使用できます。
- 標準アクセス モードを使用するコンピューティング上の Databricks Runtime 15.3 以下の場合は、Spark 構成
spark.databricks.scala.kernel.fullClasspath.enabled
をtrue
に設定します。
Unity カタログ標準アクセス モードの Spark API の制限事項と要件
- RDD API はサポートされていません。
- Spark Context (
sc
)、spark.sparkContext
、およびsqlContext
は、すべての Databricks Runtime において Scala でサポートされておらず、Databricks Runtime 14.0 以上において Python でサポートされていません。- Databricks は、
SparkSession
インスタンスとのやり取りにはspark
変数を使用することを推奨しています。 - 次の
sc
関数もサポートされていません:emptyRDD
、range
、init_batched_serializer
、parallelize
、pickleFile
、textFile
、wholeTextFiles
、binaryFiles
、binaryRecords
、sequenceFile
、newAPIHadoopFile
、newAPIHadoopRDD
、hadoopFile
、hadoopRDD
、union
、runJob
、setSystemProperty
、uiWebUrl
、stop
、setJobGroup
、setLocalProperty
、getConf
。
- Databricks は、
- 次の Scala Dataset API 操作には Databricks Runtime 15.4 LTS 以上が必要です:
map
、mapPartitions
、foreachPartition
、flatMap
、reduce
、filter
。 - Spark 構成 プロパティ
spark.executor.extraJavaOptions
はサポートされていません。
Unity カタログ標準アクセス モードの UDF の制限事項と要件
ユーザー定義関数 (UDF) には、標準アクセス モードでは次の制限があります。
- Hive UDF はサポートされていません。
-
applyInPandas
とmapInPandas
では Databricks Runtime 14.3 以上が必要です。 - Databricks Runtime 14.2 以下では、PySpark UDF から Git フォルダー、ワークスペース ファイル、またはボリュームにアクセスしてモジュールをインポートすることはできません。
- Scala スカラ UDF および Scala UDAF では Databricks Runtime 14.2 LTS 以上が必要です。
- Databricks Runtime 14.2 以下では、ノートブック スコープまたはクラスター スコープのライブラリを通じて、PySpark UDF で
grpc
、pyarrow
、protobuf
のカスタム バージョンを使用することはサポートされていません。インストール済みのバージョンが常に優先されるためです。 インストール済みのライブラリのバージョンについては、該当する Databricks Runtime バージョンのリリース ノートで「システム環境」セクションを参照してください。
- Python スカラ UDF および Pandas UDF では Databricks Runtime 13.3 LTS 以上が必要です。
- 非スカラの Python および Pandas UDF (UDAF、UDTF、Pandas on Spark など) では Databricks Runtime 14.3 LTS 以上が必要です。
「Unity Catalog におけるユーザー定義関数 (UDF)」を参照してください。
Unity カタログ標準アクセス モードのストリーミングの制限事項と要件
注
記載されている Kafka のオプションの一部は、Azure Databricks でサポートされている構成で使用する場合に制限があります。 記載されている Kafka の制限事項は、バッチ処理とストリーム処理の両方に適用されます。 「Apache Kafka と Azure Databricks を使用したストリーム処理」を参照してください。
statestore
形式とstate-metadata
形式を使用して、ステートフル ストリーミング クエリの状態情報を照会することはできません。transformWithState
および関連する API はサポートされていません。transformWithStateInPandas
には Databricks Runtime 16.3 以降が必要です。- Scala の場合、
foreach
には Databricks Runtime 16.1 以降が必要です。foreachBatch
およびflatMapGroupsWithState
にはDatabricks Runtime 16.2以降が必要です。 - Python では、Databricks Runtime 14.0 以上で
foreachBatch
に次の動作変更があります。-
print()
コマンドの出力はドライバー ログに記録されます。 - 関数内で
dbutils.widgets
サブモジュールにはアクセスできません。 - 関数内で参照されるファイル、モジュール、オブジェクトはすべてシリアル化可能であり、Spark 上で使用可能である必要があります。
-
- Scala では、
from_avro
に Databricks Runtime 14.2 以上が必要です。 - Scala では、
applyInPandasWithState
に Databricks Runtime 14.3 LTS 以上が必要です。 - ソケットソースの使用はサポートされていません。
- Unity Catalog マネージドのデータ ソースで
option("cleanSource", "archive")
を使用する場合、sourceArchiveDir
はソースと同じ外部ロケーションである必要があります。 - Kafka ソースおよびシンクで、次のオプションはサポートされていません。
kafka.sasl.client.callback.handler.class
kafka.sasl.login.callback.handler.class
kafka.sasl.login.class
kafka.partition.assignment.strategy
- Databricks Runtime 13.3 LTS 以降では次の Kafka オプションがサポートされていますが、Databricks Runtime 12.2 LTS ではサポートされていません。 これらのオプションには、Unity Catalog マネージドの外部ロケーションのみ指定できます。
kafka.ssl.truststore.___location
kafka.ssl.keystore.___location
- Scala の場合、
StreamingQueryListener
には Databricks Runtime 16.1 以降が必要です。 - Python の場合、
StreamingQueryListener
では、Databricks Runtime 14.3 LTS 以降で、資格情報を使用したり、標準アクセス モードでコンピューティング時に Unity Catalog によって管理されるオブジェクトと対話したりする必要があります。
Unity カタログ標準アクセス モードの Scala カーネルの制限事項
標準アクセス モードコンピューティングで Scala カーネルを使用する場合は、次の制限が適用されます。
- 特定のクラスは、内部のカーネル ライブラリ (特に
Input
) と競合する場合は、コードで使用できません。 アーモンドの定義された輸入品の一覧については、 アーモンドの輸入を参照してください。 - log4j への直接ログ記録はサポートされていません。
- UI では、データフレーム スキーマドロップダウンはサポートされていません。
- ドライバーが OOM にヒットした場合、Scala REPL は終了しません。
//connector/sql-aws-connectors:sql-aws-connectors
が Scala REPL のバゼル ターゲットに含まれていない場合は、ClassNotFoundException
で結果を使用します。- Scala ストリーミングはサポートされていません。
- Scala カーネルは SQLImplicits と互換性はありません。
Unity カタログ標準アクセス モードのネットワークとファイル システムのアクセス制限と要件
- コンピューティング ノード上でコマンドを実行する際は、ファイルシステムの重要領域へのアクセスが禁止された低権限ユーザーとして実行する必要があります。
- DBFS の POSIX スタイルのパス (
/
) はサポートされていません。 - DBFS を使用してファイルを直接操作できるのは、ワークスペース管理者と任意の FILE アクセス許可を持つユーザーだけです。
- Databricks Runtime 11.3 LTS 以下では、ネットワーク接続はポート 80 および 443 に対してのみ作成できます。
Unity Catalog の一般的な制限
以下の制限は、すべての Unity Catalog 対応のアクセス モードに適用されます。
Unity Catalog のストリーミング制限
- Apache Spark の連続処理モードはサポートされていません。 Spark Structured Streaming プログラミング ガイドの「連続処理」を参照してください。
Unity カタログ専用アクセス モードのストリーミング制限と、Unity カタログ標準アクセス モードのストリーミングの制限事項と要件も参照してください。
Unity Catalog でのストリーミングの詳細については、「構造化ストリーミングでの Unity Catalog の使用」を参照してください。
Unity カタログの Spark API の制限事項
RDD API はサポートされていません。