Unity Catalogのコンピュート アクセス モードの制限事項

Databricks では、ほとんどのワークロードに Unity Catalog と共有アクセス モードを使用することをお勧めします。 この記事では、Unity Catalog の各アクセス モードの制限と要件について説明します。 アクセスモードの詳細については、「 アクセスモード」を参照してください。

Databricks 、ほとんどのユーザーにとって構成オプションを簡素化するために、コンピュート ポリシーの使用を推奨しています。 「コンピュートポリシーの作成と管理」を参照してください。

注:

分離なしの共有は、Unity Catalog をサポートしていないレガシ アクセス モードです。

重要

init スクリプトとライブラリは、アクセス モードと Databricks ランタイムのバージョンによってサポートが異なります。 「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 パイプラインを使用して作成されたテーブル (ストリーミングテーブルマテリアライズドビューなど) が他のユーザーによって所有されている場合、それらのテーブルをクエリするためにシングルユーザーコンピュートを使用できません。テーブルを作成するユーザーが所有者です。

Delta Live Tables によって作成され、他のユーザーが所有するストリーミング テーブルと具体化されたビューに対してクエリを実行するには、次のいずれかを使用します。

  • SQLウェアハウス。

  • Databricks Runtime 13.3 LTS以降の共有アクセス モードを使用したコンピュート。

  • Databricks Runtime 15.4 LTS 以上のシングル ユーザー アクセス モードを備えたコンピュート。

    また、ワークスペースでサーバレス コンピュートが有効になっている必要があります。 詳細については、「 シングル ユーザー コンピュートでのきめ細かなアクセス制御」を参照してください。

Unity Catalog のシングルユーザーアクセスモードのストリーミングの制限事項

  • 非同期チェックポイント処理は、Databricks Runtime 11.3 LTS 以下ではサポートされていません。

  • StreamingQueryListener 認証情報を使用したり、シングル ユーザー コンピュートで Databricks Runtimeによって管理されるオブジェクトと対話したりするには 15.1 以降が必要です。Unity Catalog

Unity Catalogでの共有アクセス モードの制限

Unity Catalog の共有アクセス モードには次の制限があります。 これらは、すべてのUnity Catalogアクセス モードの一般的な制限に加えて適用されます。 Unity Catalog の一般的な制限事項を参照してください。

  • Databricks Runtime 機械学習と Spark 機械学習ライブラリ (MLlib) はサポートされていません。

  • Spark送信ジョブはサポートされません。

  • Databricks Runtime 13.3 以降では、個々の行は 128 MB を超えてはなりません。

  • PySpark UDF は、Databricks Runtime 14.2 以下では、Git フォルダー、ワークスペース ファイル、またはボリュームにアクセスしてモジュールをインポートすることはできません。

  • DBFSルートとマウントは FUSE をサポートしていません。

  • 資格情報パススルーを使用した共有アクセス モードを使用すると、Unity Catalog 機能が無効になります。

  • カスタムコンテナはサポートされていません。

Unity Catalog 共有アクセス モードの言語サポート

  • R はサポートされていません。

  • Scala は Databricks Runtime 13.3 以降でサポートされています。

    • Databricks Runtime15.4LTS 以降では、 にバンドルされているすべてのJava またはScala ライブラリ (JAR ファイル)Databricks Runtime が アクセス モードのコンピュートで利用可能です。Unity Catalog

    • 共有アクセス モードを使用するコンピュート上のDatabricks Runtime 15.3 以下の場合は、 Spark構成 spark.databricks.scala.kernel.fullClasspath.enabledtrue に設定します。

Unity Catalog 共有アクセス モードの Spark API の制限と要件

  • RDD APIsサポートされていません。

  • DBUtils と、クラウド ストレージからデータを直接読み取るその他のクライアントは、外部ロケーションを使用してストレージの場所にアクセスする場合にのみサポートされます。 「クラウドストレージをDatabricksに接続するための外部ロケーションの作成」を参照してください。

  • Spark Context ( sc )、 spark.sparkContext 、およびsqlContext 、Databricks Runtime の Scala ではサポートされておらず、Databricks Runtime 14.0 以降の Python ではサポートされていません。

    • Databricks では、 spark 変数を使用して SparkSession インスタンスを操作することをお勧めします。

    • scemptyRDDrangeinit_batched_serializerparallelizepickleFiletextFilewholeTextFilesbinaryFilesbinaryRecordssequenceFilenewAPIHadoopFilenewAPIHadoopRDDhadoopFilehadoopRDDunionrunJobsetSystemPropertyuiWebUrlstopsetJobGroupsetLocalPropertygetConf

  • 次のScalaデータセットAPI操作にはDatabricks Runtime 15.4 LTS以降が必要です: mapmapPartitionsforeachPartitionflatMapreduce、および filter

Unity Catalog 共有アクセス モードの UDF 制限と要件

ユーザー定義関数 (UDF) には、共有アクセス モードに関する次の制限があります。

  • Hive UDF はサポートされていません。

  • applyInPandas mapInPandasには Databricks Runtime 14.3 以上が必要です。

  • Scala スカラー UDF には、Databricks Runtime 14.2 以上が必要です。 その他のScala UDF およびUDAFsサポートされていません。

  • Databricks Runtime 14.2 以前では、インストールされているバージョンが常に優先されるため、ノートブック スコープまたはクラスター スコープのライブラリを介して PySpark UDF でカスタム バージョンのgrpcpyarrow 、またはprotobufを使用することはサポートされていません。 インストールされているライブラリのバージョンを確認するには、特定の バージョン リリース ノート 「システム環境」Databricks Runtime セクションを参照してください。

  • Python スカラー UDF と Pandas UDF には、Databricks Runtime 13.3 LTS 以降が必要です。

  • 非スカラー Python UDF および Pandas UDF ( UDAFs、UDTF、 Pandas on Sparkなど) には、 Databricks Runtime 14.3 LTS 以上が必要です。

Unity Catalog のユーザー定義関数 (UDF)」を参照してください。

Unity Catalog 共有アクセス モードのストリーミングの制限と要件

注:

リストされている Kafka オプションの一部は、Databricks でサポートされている構成に使用すると、サポートが制限されます。 リストされているすべての Kafka の制限は、バッチ処理とストリーム処理の両方で有効です。 「Apache Kafka と Databricks を使用したストリーム処理」を参照してください。

  • Scala の場合、 foreachforeachBatchStreamingListeners 、および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

  • 次の Kafka オプションは、Databricks Runtime 13.3 LTS 以上ではサポートされていませんが、Databricks Runtime 12.2 LTS ではサポートされていません。 これらのオプションには、 Unity Catalogによって管理される外部位置のみを指定できます。

    • kafka.ssl.truststore.location

    • kafka.ssl.keystore.location

  • StreamingQueryListener 資格情報を使用したり、共有コンピュート上の によって管理されるオブジェクトと対話したりするには 14.3 以降が必要です。Databricks RuntimeLTSUnity Catalog

  • 場合によっては、ストリーミング ワークロード用にKafkaやKinesisなどの外部ソースへのアクセスを設定することはサポートされていません。

Unity Catalog 共有アクセス モードのネットワークおよびファイル システム アクセスの制限と要件

  • ファイルシステムの機密部分へのアクセスが禁止された低特権ユーザーとしてコンピュート ノード上でコマンドを実行する必要があります。

  • Databricks Runtime 11.3 LTS 以下では、ポート 80 と 443 へのネットワーク接続のみを作成できます。

  • インスタンス メタデータ サービス (IMDS)、他のEC2インスタンス、またはDatabricks VPCで実行されている他のサービスには接続できません。 これにより、boto3 や AWS CLI など、IMDS を使用するすべてのサービスへのアクセスが防止されます。

Unity Catalogの一般的な制限事項

次の制限は、Unity Catalog が有効なすべてのアクセス モードに適用されます。

UDF (UDF の場合)

Unity Catalog 対応クラスター上の UDF に対する Graviton インスタンスのサポートは、Databricks Runtime 15.2 以降で利用できます。 共有アクセス モードには、追加の制限があります。 Unity Catalog 共有アクセス モードの UDF の制限と要件を参照してください。

Unity Catalogのストリーミングの制限事項

  • Apache Spark の連続処理モードはサポートされていません。 『Spark構造化ストリーミング・プログラミング・ガイド』の 「連続処理 」を参照してください。

Unity Catalog シングルユーザー アクセス モードでのストリーミングの制限Unity Catalog 共有アクセス モードでのストリーミングの制限と要件も参照してください。

Unity Catalog を使用したストリーミングの詳細については、「 構造化ストリーミングでの Unity Catalog の使用」を参照してください。