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 Runtime15.3 以前では、シングル ユーザー コンピュートを使用しDelta Live Tables て、ストリーミング テーブル マテリアライズド ビュー など、 パイプラインによって作成されたテーブルをクエリすることはできません。

Delta Live Tables パイプラインによって作成されたテーブルをクエリするには、次のいずれかを実行します。

  • SQLウェアハウスを使用してください。

  • Databricks Runtime 13.3 LTS以降では、共有アクセス モードでコンピュートを使用します。

  • Databricks Runtime 15.4 LTS以降 (パブリック プレビュー) では、シングル ユーザー アクセス モードでコンピュートを使用します。

    Databricks Runtime 15.4 LTS以降では、シングル ユーザー コンピュートでのDelta Live Tables で生成されたテーブルに対するクエリがサポートされています。 Databricks Runtime 15.4 LTS以降で提供されるデータ フィルターを利用するには、ワークスペースでサーバーレス コンピュートが有効になっていることも確認する必要があります。これは、 Delta Live Tables で生成されたテーブルをサポートするデータ フィルター機能がサーバーレス コンピュートで実行されるためです。 したがって、シングルユーザー コンピュートを使用してデータ フィルタリング操作を実行する場合、サーバレス コンピュート リソースに対して料金が発生する可能性があります。 「シングルユーザーコンピュートでのきめ細かいアクセス制御」を参照してください。

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 フォルダー、ワークスペース ファイル、またはボリュームにアクセスしてモジュールをインポートすることはできません。

  • 資格情報パススルーを使用した共有アクセス モードを使用すると、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 以上が必要です。 、UDTF、 上の などのその他のPython UDFUDAFsPandas Sparkはサポートされていません。

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

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

注:

リストされている Kafka オプションの一部は、Databricks でサポートされている構成に使用する場合、サポートが制限されます。 「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 の使用」を参照してください。