Unity Catalog のコンピューティング アクセス モードの制限事項
Databricks では、ほとんどのワークロードで Unity Catalogと共有アクセス モードを使用することをお勧めします。 この記事では、Unity Catalog の各アクセス モードの制限事項と要件について概説します。 アクセス モードの詳細については、「アクセス モード」を参照してください。
Databricks では、コンピューティング ポリシーを使用して、ほとんどのユーザーの構成オプションを簡略化することをお勧めします。 「コンピューティング ポリシーの作成と管理」を参照してください。
Note
分離なし共有は、Unity Catalog をサポートしないレガシ アクセス モードです。
重要
Init スクリプトとライブラリでは、アクセス モードと Databricks Runtime バージョンで異なるサポートがあります。 「init スクリプトをインストールできる場所」を参照してください。クラスター スコープのライブラリ。
Unity Catalog でのシングル ユーザー アクセス モードの制限事項
Unity Catalog のシングル ユーザー アクセス モードには、次の制限があります。 これらは、すべての Unity Catalog アクセス モードの一般的な制限事項に追加されるものです。 「Unity Catalog の一般的な制限事項」を参照してください。
Unity Catalog シングル ユーザー アクセス モードの詳細なアクセス制御の制限事項
Databricks Runtime 15.3 以下では、シングル ユーザー コンピューティングでのきめ細かなアクセス制御はサポートされていません。 具体的には、次のように使用します。
- 行フィルターまたは列マスクがあるテーブルにはアクセスできません。
- 動的ビューにアクセスできません。
- ビューから読み取るには、そのビューで参照されているすべてのテーブルとビューに
SELECT
が必要です。
動的ビュー、基になるテーブルとビューに対する SELECT
がないビュー、行フィルターまたは列マスクが含まれるテーブルのクエリを実行するには、次のいずれかを使います。
SQL ウェアハウス
共有アクセス モードを使用したコンピューティング。
Databricks Runtime 15.4 LTS 以降のシングル ユーザー アクセス モードを使用したコンピューティング。
Databricks Runtime 15.4 LTS 以降では、シングル ユーザー コンピューティングでのきめ細かなアクセス制御がサポートされています。 Databricks Runtime 15.4 LTS 以降で提供されているデータ フィルター処理を利用するには、 サーバーレス コンピューティングでワークスペースが有効になっていることを確認。
サーバーレス コンピューティングはデータ フィルター処理を処理します。これにより、基になるテーブルとビューに対するアクセス許可を必要とせずにビューにアクセスできます。 サーバーレス コンピューティングはデータ フィルター処理を処理するため、シングル ユーザー コンピューティングを使用してビューにクエリを実行すると、サーバーレス コンピューティング料金が発生する可能性があります。 詳細については、「 シングル ユーザー コンピューティングでの詳細なアクセス制御を参照してください。
Unity Catalog シングル ユーザー アクセス モードでのストリーミング テーブルと具体化されたビューの制限事項
Databricks Runtime 15.3 以下では、デルタ ライブ テーブル パイプラインを使用して作成されたテーブル (ストリーミング テーブル、の具体化されたビューなどそれらのテーブルが他のユーザーによってされている場合は、クエリを実行するために単一ユーザー コンピューティングを使用することはできません。 テーブルを作成したユーザーが所有者です。
Delta Live Tables によって作成され、他のユーザーが所有するストリーミング テーブルと具体化されたビューに対してクエリを実行するには、次のいずれかを使用します。
SQL ウェアハウス
Databricks Runtime 13.3 LTS 以降で共有アクセス モードを使用したコンピューティング。
Databricks Runtime 15.4 LTS 以降のシングル ユーザー アクセス モードを使用したコンピューティング。
ワークスペースは、サーバーレス コンピューティングでも有効にする必要があります。 詳細については、「 シングル ユーザー コンピューティングでの詳細なアクセス制御を参照してください。
Unity Catalog シングル ユーザー アクセス モードのストリーミングの制限事項
- 非同期チェックポイント処理は、Databricks Runtime 11.3 以前でサポートされていません。
StreamingQueryListener
では、シングルユーザー コンピューティングで資格情報を使用したり、Unity Catalog によって管理されるオブジェクトを操作したりするのに、Databricks Runtime 15.1 以降が必要です。
Unity Catalog での共有アクセス モードの制限事項
Unity Catalog の共有アクセス モードには、次の制限事項があります。 これらは、Unity Catalog のすべてのアクセス モードの一般的な制限事項に加えて適用されます。 「Unity Catalog の一般的な制限事項」を参照してください。
Databricks Runtime ML と Spark Machine Learning Library (MLlib) はサポートされていません。
Spark-submit ジョブはサポートされていません。
Databricks Runtime 13.3 以降では、個々の行が 128 MB を超えてはなりません。
PySpark の UDF は、Git のフォルダー、ワークスペース ファイル、ボリュームにアクセスして、Databricks Runtime 14.2 以前にモジュールをインポートすることはできません。
DBFS ルートおよびマウントは FUSE をサポートしていません。
資格情報パススルーで共有アクセス モードを使用すると、Unity Catalog の機能は無効になります。
カスタム コンテナーはサポートされていません。
Unity Catalog 共有アクセス モードの言語サポート
- 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 Catalog 共有アクセス モードの Spark API の制限事項と要件
- RDD API はサポートされていません。
- DBUtils と、クラウド ストレージからデータを直接読み取るその他のクライアントは、外部の場所を使用してストレージの場所にアクセスする場合にのみサポートされます。 「クラウド ストレージを Azure Databricks に接続するための外部の場所を作成する」を参照してください。
- Spark コンテキスト (
sc
)、spark.sparkContext
、sqlContext
は、Databricks Runtime の Scala ではサポートされておらず、Databricks Runtime 14.0 以降の Python ではサポートされていません。- Databricks では、
spark
変数を使用してSparkSession
インスタンスを操作することをお勧めします。 - 次の
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 操作
map
、mapPartitions
、foreachPartition
、flatMap
、reduce
、filter
には、Databricks Runtime 15.4 LTS 以降が必要です。
Unity Catalog 共有アクセス モードの UDF の制限事項と要件
ユーザー定義関数 (UDF) には、共有アクセス モードについて次の制限があります。
Hive UDF はサポートされていません。
applyInPandas
とmapInPandas
には Databricks Runtime 14.3 以降が必要です。Scala のスカラー UDF には Databricks Runtime 14.2 以降が必要です。 その他の Scala UDF と UDAF はサポートされていません。
Databricks Runtime 14.2 以下では、ノートブックスコープまたはクラスタースコープのライブラリを通した PySpark UDF 内のカスタム バージョンの
grpc
、pyarrow
、またはprotobuf
の使用はサポートされていません。これはインストールされているバージョンが常に優先されるためです。 インストールされているライブラリのバージョンを確認するには、特定の Databricks Runtime バージョンのリリース ノートの "システム環境" セクションを参照してください。Python のスカラー UDF と Pandas UDF には Databricks Runtime 13.3 LTS 以降が必要です。
Spark 上の UDF、UDF、Pandas を含む非スカラー Python および Pandas UDF には、Databricks Runtime 14.3 LTS 以降が必要です。
「Unity Catalog のユーザー定義関数 (UDF)」を参照してください。
Unity Catalog 共有アクセス モードのストリーミングの制限事項と要件
Note
一覧に示されている Kafka オプションの一部では、Azure Databricks でサポートされている構成に使用する場合のサポートが制限されています。 一覧表示されているすべての Kafka 制限事項は、バッチ処理とストリーム処理の両方で有効です。 「Apache Kafka と Azure Databricks を使用したストリーム処理」を参照してください。
- Scala に関しては、
foreach
、foreachBatch
、StreamingListeners
、FlatMapGroupWithState
はサポートされていません。 - Python の場合、
foreachBatch
は Databricks Runtime 14.0 以降で次のように動作が変更されました。print()
コマンドは、ドライバー ログに出力を書き込みます。- 関数内の
dbutils.widgets
サブモジュールにアクセスすることはできません。 - 関数で参照されるすべてのファイル、モジュール、またはオブジェクトは、シリアル化可能であり、Spark で使用できる必要があります。
- Scala の場合、
from_avro
には Databricks Runtime 14.2 以降が必要です。 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
StreamingQueryListener
では、共有コンピューティングで資格情報を使用したり、Unity Catalog によって管理されるオブジェクトを操作したりするのに、Databricks Runtime 14.3 LTS 以降が必要です。
Unity Catalog 共有アクセス モードのネットワークとファイル システムのアクセス制限と要件
ファイル システムの機密性の高い部分へのアクセスが禁じられている特権の低いユーザーとして、コンピューティング ノードでコマンドを実行する必要があります。
Databricks Runtime 11.3 LTS 以下では、ポート 80 と 443 へのネットワーク接続のみを確立できます。
インスタンス メタデータ サービスや Azure WireServer には接続できません。
Unity Catalog の一般的な制限事項
Unity Catalog 対応のすべてのアクセス モードには、次の制限事項が適用されます。
Unity Catalog のストリーミングの制限事項
- Apache Spark の連続処理モードはサポートされていません。 詳しくは、「Spark 構造化ストリーミング プログラミング ガイド」の「継続的処理」をご覧ください。
「Unity Catalog シングル ユーザー アクセス モードのストリーミングの制限事項」と「Unity Catalog 共有アクセス モードのストリーミングの制限事項と要件」も参照してください。
Unity Catalog でのストリーミングの詳細については、「構造化ストリーミングで Unity Catalog を使用する」を参照してください。