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

注:

アクセスモードの名前が変更されました。 共有アクセス モードが Standard になりました。 シングル ユーザー アクセス モードが [専用 ] になり、1 人のユーザーまたはグループに割り当てることができるようになりました。 グループ アクセスはパブリック プレビュー段階です。

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

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

注:

非分離共有パススルーと資格情報パススルーは、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 以降で提供されているデータフィルタリングを利用するには、ワークスペースでサーバレス コンピュートが有効になっていることを確認します。

サーバレス コンピュートは、データ・フィルタリングを処理します。これにより、基礎となるテーブルやビューに対するパーミッションを必要とせずにビューにアクセスできます。 サーバレス コンピュートはデータ フィルタリングを処理するため、シングル ユーザ コンピュートを使用してビューをクエリすると、サーバレス コンピュートの料金が発生する場合があります。 詳細については、「 Fine-grained access control on dedicated コンピュート (旧称 single user コンピュート)」を参照してください。

Unity Catalog 専用アクセス モードのストリーミング テーブルと具体化されたビューの制限

Databricks Runtime 15.3 以前では、Delta Live Tables パイプラインを使用して作成されたテーブル (ストリーミングテーブルマテリアライズドビューなど) が他のユーザーによって所有されている場合、それらのテーブルをクエリするためにシングルユーザーコンピュートを使用できません。テーブルを作成するユーザーが所有者です。

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

  • SQLウェアハウス。

  • Databricks Runtime 13.3 LTS 以上の標準アクセスモードのコンピュート。

  • Databricks Runtime 15.4 LTS以上での専用アクセスモードを備えたコンピュート。

また、ワークスペースでサーバレス コンピュートが有効になっている必要があります。 詳細については、「 Fine-grained access control on dedicated コンピュート (旧称 single user コンピュート)」を参照してください。

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-submit ジョブ タスクはサポートされていません。 代わりに JAR タスク を使用してください。

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

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

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

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

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サポートされていません。

  • 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

  • Spark 構成プロパティ spark.executor.extraJavaOptions はサポートされていません。

Unity Catalog 標準アクセス モードの UDF の制限事項と要件

ユーザー定義関数 (UDF) には、標準アクセス・モードに関して以下の制限があります。

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

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

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

  • 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 を使用したストリーム処理」を参照してください。

  • transformWithStatetransformWithStateInPandas、および関連する APIs はサポートされていません。

  • Scala の場合、 foreach には Databricks Runtime 16.1 以降が必要です。 foreachBatch、および flatMapGroupsWithState には Databricks Runtime 16.2 以降が必要です。

  • 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

  • Scala の場合、 StreamingQueryListener には Databricks Runtime 16.1 以降が必要です。

  • Pythonの場合、StreamingQueryListener Databricks RuntimeLTSUnity Catalogでは、標準アクセスモードのコンピュートで資格情報を使用したり、 によって管理されるオブジェクトと対話したりするには、 14.3 以上が必要です。

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

ネットワークとファイルシステムのアクセス制限と Unity Catalog 標準アクセスモードの要件

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

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

  • インスタンスメタデータサービス (IMDS)、他の EC2 インスタンス、または Databricks VPCで実行されている他のサービスには接続できません。 boto3 を使用してクラウド サービスにアクセスするには、 サービスの資格情報を使用します。

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 の使用」を参照してください。