メインコンテンツまでスキップ

標準コンピュートの要件と制限事項

このページには、標準コンピュートの要件と制限事項のリストが含まれています。 クラシックコンピュートを使用している場合は、ワークロードが以下に示す制限のいずれかに依存している場合を除き Databricks 、標準アクセスモードを使用することをお勧めします。

重要

initスクリプトとライブラリは、アクセスモードと Databricks Runtime バージョンによってサポートが異なります。 「initスクリプトはどこでインストールできますか?」 および コンピュートスコープのライブラリを参照してください。

現在の標準コンピュートの制限

次のセクションでは、最新の Databricks Runtime バージョンに基づく標準コンピュートの制限事項を示します。 古い Databricks Runtime バージョンに適用される制限については、「 Runtime依存の制限」を参照してください。

ワークロードにこれらの機能が必要な場合は、代わりに 専用コンピュート を使用してください。

一般標準コンピュートの制限事項

  • Databricks Runtime for ML はサポートされていません。代わりに、Databricks RuntimeにバンドルされていないMLライブラリをコンピュートスコープのライブラリとしてインストールします。
  • GPU 対応コンピュートはサポートしていません。
  • Spark 送信ジョブ タスクはサポートされていません。代わりに JAR タスク を使用してください。
  • DBUtils およびその他のクライアントは、 外部ロケーションを使用してクラウド ストレージからのみ読み取ることができます。
  • DBFSルートとマウントは FUSE をサポートしていません。

言語の制限

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

Spark API の制限事項

  • Spark Context (sc)、 spark.sparkContext、および sqlContext は Scala ではサポートされていません。

    • Databricks では、 spark 変数を使用して SparkSession インスタンスを操作することをお勧めします。
    • 次の sc 関数もサポートされていません: emptyRDDrangeinit_batched_serializerparallelizepickleFiletextFilewholeTextFilesbinaryFilesbinaryRecordssequenceFilenewAPIHadoopFilenewAPIHadoopRDDhadoopFilehadoopRDDunionrunJobsetSystemPropertyuiWebUrlstopsetJobGroupsetLocalPropertygetConf
  • 特定のSpark 構成プロパティの設定はサポートされていません。制限付きプロパティを設定するクラスターの作成または編集はエラーで失敗します。完全な一覧については、Spark 構成の制限事項を参照してください。

  • spark.createDataFrameを使用してローカルデータからDataFrameを作成する場合、行サイズは128MBを超えることはできません。

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

  • Databricks Runtime の最新バージョンで使用される Spark Connect は、分析と名前解決を実行時に延期するため、コードの動作が変わる可能性があります。「Spark Connect と Spark Classic の比較」を参照してください。

UDF の制限事項

  • Hive UDF はサポートされていません。代わりに、 Unity Catalog で UDF を使用します。
  • Scala UDF は高階関数内では使用できません。

ストリーミングの制限

注記

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

  • ソケットソースの操作はサポートされていません。

  • 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
  • Python foreachBatchThreadPoolExecutorまたはマルチスレッド実行をサポートしていません。マルチスレッド実行ではエラーが発生しない場合もありますが、データの破損や結果の不整合を引き起こす可能性があります。

ネットワークとファイルシステムの制限

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

  • DBFS の POSIX スタイル パス (/) はサポートされていません。

  • ワークスペース管理者と ANY FILE アクセス許可を持つユーザーのみが、DBFS を使用してファイルを直接操作できます。

  • インスタンスのメタデータサービスや、 Databricks VPCで実行されているサービスに接続することはできません。

環境変数の制限事項

標準のコンピュートでは、Sparkエンジンとinitスクリプトで使用できる環境変数は、事前に定義されたセットのみです。クラスターに設定した環境変数で、このセットに含まれていないものは、UDFを含むユーザーコードで引き続き利用できますが、Sparkエンジンまたはinitスクリプトでは利用できません。

このセットには、一般的な構成、認証情報、およびランタイム変数が含まれます。以下の例は網羅的ではありません。

  • ネットワークとプロキシ:HTTP_PROXYHTTPS_PROXYNO_PROXY
  • TLS証明書: REQUESTS_CA_BUNDLESSL_CERT_FILE
  • AWS 認証情報とリージョン:AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_REGIONAWS_DEFAULT_REGION
  • Azure資格情報: AZURE_CLIENT_IDAZURE_CLIENT_SECRETAZURE_TENANT_ID
  • Google クラウド認証情報: GOOGLE_APPLICATION_CREDENTIALS
  • Databricks 接続:DATABRICKS_HOSTDATABRICKS_TOKEN
  • ロケールとタイムゾーン:TZLANGLC_ALL
  • 並列処理とスレッド化:OMP_NUM_THREADSOPENBLAS_NUM_THREADSMKL_NUM_THREADSNUMEXPR_NUM_THREADS
  • 可観測性:DD_API_KEYDD_SITEDD_ENV
  • Unity Catalogのデフォルト: CATALOGCATALOG_NAME

Scala カーネルの制限事項

標準コンピュートで Scala カーネルを使用する場合、次の制限が適用されます。

  • 特定のクラスは、内部のアーモンドカーネルライブラリ(特に Input)と競合する場合、コードで使用できません。アーモンドで定義されているインポートのリストについては、 アーモンドのインポートを参照してください。
  • log4j への直接ログ記録はサポートされていません。
  • UI では、データフレームスキーマドロップダウンはサポートされていません。
  • ドライバが OOM に達した場合、Scala REPL は終了しません。
  • //connector/sql-aws-connectors:sql-aws-connectors が Scala REPL の bazel ターゲットにない場合は、結果を ClassNotFoundExceptionで使用します。
  • Scala カーネルは SQLImplicits と互換性がありません。

ランタイムに依存する制限事項

以下の制限はランタイム更新によって解決されましたが、古いランタイムを使用している場合はワークロードに引き続き適用される可能性があります。

言語サポート

機能

必要な Databricks Runtime バージョン

Scala

13.3以上

すべてのランタイムバンドル Java と Scala ライブラリは、デフォルトで利用可能

15.4 LTS以上(15.3以下の場合は spark.databricks.scala.kernel.fullClasspath.enabled=trueセット)

機能

必要な Databricks Runtime バージョン

Scala

13.3以上

すべてのランタイムバンドル Java と Scala ライブラリは、デフォルトで利用可能

15.4 LTS以上(15.3以下の場合は spark.databricks.scala.kernel.fullClasspath.enabled=trueセット)

Spark API のサポート

機能

必要な Databricks Runtime バージョン

SparkML

17.0以上

Python: SparkContext (sc)spark.sparkContextsqlContext

14.0以上

Scala Dataset ops: map, mapPartitions, foreachPartition, flatMap, reduce, filter

15.4 LTS以上

機能

必要な Databricks Runtime バージョン

SparkML

17.0以上

Python: SparkContext (sc)spark.sparkContextsqlContext

14.0以上

Scala Dataset ops: map, mapPartitions, foreachPartition, flatMap, reduce, filter

15.4 LTS以上

UDF のサポート

機能

必要な Databricks Runtime バージョン

applyInPandas, mapInPandas

14.3 LTS以上

Scala スカラー UDF と Scala UDAFs

14.3 LTS以上

PySpark UDF の Git フォルダー、ワークスペース ファイル、またはボリュームからモジュールをインポートする

14.3 LTS以上

ノートブックまたはコンピュートスコープのライブラリを介して、PySpark UDF でgrpcpyarrow、またはprotobufのカスタムバージョンを使用する

14.3 LTS以上

非スカラーPythonおよびPandas UDF(UDAFs、UDTF、およびSpark上のPandasを含む)

14.3 LTS以上

Python スカラー UDF と Pandas UDF

14.1以上

機能

必要な Databricks Runtime バージョン

applyInPandas, mapInPandas

14.3 LTS以上

Scala スカラー UDF と Scala UDAFs

14.3 LTS以上

PySpark UDF の Git フォルダー、ワークスペース ファイル、またはボリュームからモジュールをインポートする

14.3 LTS以上

ノートブックまたはコンピュートスコープのライブラリを介して、PySpark UDF でgrpcpyarrow、またはprotobufのカスタムバージョンを使用する

14.3 LTS以上

非スカラーPythonおよびPandas UDF(UDAFs、UDTF、およびSpark上のPandasを含む)

14.3 LTS以上

Python スカラー UDF と Pandas UDF

14.1以上

ストリーミングのサポート

機能

必要な Databricks Runtime バージョン

transformWithStateInPandas

16.3以上

applyInPandasWithState

14.3 LTS以上

Scala foreach

16.1以上

Scala foreachBatchflatMapGroupsWithState

16.2以上

Scala from_avro

14.2以上

Kafka オプション kafka.ssl.truststore.locationkafka.ssl.keystore.location (指定場所は 外部ロケーション 管理 Unity Catalog)

13.3 LTS以上

Scala StreamingQueryListener

16.1以上

Python StreamingQueryListener Unity Catalog で管理されるオブジェクトとの対話

14.3 LTS以上

機能

必要な Databricks Runtime バージョン

transformWithStateInPandas

16.3以上

applyInPandasWithState

14.3 LTS以上

Scala foreach

16.1以上

Scala foreachBatchflatMapGroupsWithState

16.2以上

Scala from_avro

14.2以上

Kafka オプション kafka.ssl.truststore.locationkafka.ssl.keystore.location (指定場所は 外部ロケーション 管理 Unity Catalog)

13.3 LTS以上

Scala StreamingQueryListener

16.1以上

Python StreamingQueryListener Unity Catalog で管理されるオブジェクトとの対話

14.3 LTS以上

さらに、Python の場合、Databricks Runtime 14.0 以降で次の動作変更が foreachBatch されています。

  • print() コマンドは、ドライバー ログに出力を書き込みます。
  • 関数内の dbutils.widgets サブモジュールにはアクセスできません。
  • 関数で参照されるファイル、モジュール、またはオブジェクトは、シリアル化可能であり、Spark で使用できる必要があります。

ネットワークとファイルシステムのサポート

機能

必要な Databricks Runtime バージョン

80 および 443 以外のポートへの接続

12.2 LTS以上

機能

必要な Databricks Runtime バージョン

80 および 443 以外のポートへの接続

12.2 LTS以上

Spark構成の制限事項

Databricks Runtime 19 以降では、標準アクセスモードで次のSpark構成プロパティを設定することはできません。これらのプロパティのいずれか、またはリストされているプレフィックスのいずれか(末尾に .* が付いているものとして表示)で始まるプロパティを設定するクラスターを作成または編集すると、エラーが発生します。アップグレードする前に、クラスター構成、コンピュートポリシー、およびジョブ定義からこれらのプロパティを削除してください。

カテゴリー

制限された Spark 構成プロパティ

JVM、クラスパス、およびネイティブライブラリのオプション

spark.driver.extraJavaOptionsspark.driver.defaultJavaOptionsspark.executor.extraJavaOptionsspark.executor.defaultJavaOptionsspark.yarn.am.extraJavaOptionsspark.yarn.am.defaultJavaOptionsspark.driver.extraClassPathspark.executor.extraClassPathspark.driver.extraLibraryPathspark.executor.extraLibraryPath

環境変数の挿入

spark.executorEnv.*spark.yarn.appMasterEnv.*spark.kubernetes.driverEnv.*

ライブラリ、JAR、およびファイル

spark.jarsspark.jars.packagesspark.jars.ivyspark.jars.ivySettingsspark.jars.repositoriesspark.filesspark.archivesspark.submit.pyFilesspark.sql.maven.additionalRemoteRepositoriesspark.yarn.jarsspark.yarn.archivespark.yarn.dist.jarsspark.yarn.dist.filesspark.yarn.dist.archivesspark.yarn.dist.pyFilesspark.yarn.dist.forceDownloadSchemes

Hive metastore JARs

spark.sql.hive.metastore.jars, spark.sql.hive.metastore.jars.path

PythonとRの実行可能ファイル

spark.pyspark.pythonspark.pyspark.driver.pythonspark.r.commandspark.r.driver.commandspark.r.shell.command

Kubernetes ポッド構成

spark.kubernetes.container.imagespark.kubernetes.driver.container.imagespark.kubernetes.executor.container.imagespark.kubernetes.driver.podTemplateFilespark.kubernetes.executor.podTemplateFilespark.kubernetes.driver.volumes.*spark.kubernetes.executor.volumes.*spark.kubernetes.driver.secrets.*spark.kubernetes.executor.secrets.*

ローカルファイルシステムアクセス

spark.connect.copyFromLocalToFs.allowDestLocal, spark.sql.artifact.copyFromLocalToFs.allowDestLocal

Databricks の分離とアクセス制御

spark.databricks.pyspark.enableProcessIsolationspark.databricks.pyspark.enablePy4JSecurityspark.databricks.pyspark.runAsLowPrivilegeUserspark.databricks.pyspark.enableIptablesspark.databricks.pyspark.onlyAllowTrustedFilesystemsspark.databricks.pyspark.trustedFilesystemsspark.databricks.pyspark.pythonUdfsOnlyspark.databricks.acl.dfAclsEnabledspark.databricks.acl.fileAccess.enabledspark.databricks.acl.allowTransformUsingspark.databricks.passthrough.enabledspark.databricks.runtimeConfigAllowlist.enabledspark.databricks.runtimeConfigAllowlist.extraConfsspark.testing.databricks.runtimeConfigAllowlist.enabledspark.databricks.sql.jdbc.enableLakeguardDriver

カテゴリー

制限された Spark 構成プロパティ

JVM、クラスパス、およびネイティブライブラリのオプション

spark.driver.extraJavaOptionsspark.driver.defaultJavaOptionsspark.executor.extraJavaOptionsspark.executor.defaultJavaOptionsspark.yarn.am.extraJavaOptionsspark.yarn.am.defaultJavaOptionsspark.driver.extraClassPathspark.executor.extraClassPathspark.driver.extraLibraryPathspark.executor.extraLibraryPath

環境変数の挿入

spark.executorEnv.*spark.yarn.appMasterEnv.*spark.kubernetes.driverEnv.*

ライブラリ、JAR、およびファイル

spark.jarsspark.jars.packagesspark.jars.ivyspark.jars.ivySettingsspark.jars.repositoriesspark.filesspark.archivesspark.submit.pyFilesspark.sql.maven.additionalRemoteRepositoriesspark.yarn.jarsspark.yarn.archivespark.yarn.dist.jarsspark.yarn.dist.filesspark.yarn.dist.archivesspark.yarn.dist.pyFilesspark.yarn.dist.forceDownloadSchemes

Hive metastore JARs

spark.sql.hive.metastore.jars, spark.sql.hive.metastore.jars.path

PythonとRの実行可能ファイル

spark.pyspark.pythonspark.pyspark.driver.pythonspark.r.commandspark.r.driver.commandspark.r.shell.command

Kubernetes ポッド構成

spark.kubernetes.container.imagespark.kubernetes.driver.container.imagespark.kubernetes.executor.container.imagespark.kubernetes.driver.podTemplateFilespark.kubernetes.executor.podTemplateFilespark.kubernetes.driver.volumes.*spark.kubernetes.executor.volumes.*spark.kubernetes.driver.secrets.*spark.kubernetes.executor.secrets.*

ローカルファイルシステムアクセス

spark.connect.copyFromLocalToFs.allowDestLocal, spark.sql.artifact.copyFromLocalToFs.allowDestLocal

Databricks の分離とアクセス制御

spark.databricks.pyspark.enableProcessIsolationspark.databricks.pyspark.enablePy4JSecurityspark.databricks.pyspark.runAsLowPrivilegeUserspark.databricks.pyspark.enableIptablesspark.databricks.pyspark.onlyAllowTrustedFilesystemsspark.databricks.pyspark.trustedFilesystemsspark.databricks.pyspark.pythonUdfsOnlyspark.databricks.acl.dfAclsEnabledspark.databricks.acl.fileAccess.enabledspark.databricks.acl.allowTransformUsingspark.databricks.passthrough.enabledspark.databricks.runtimeConfigAllowlist.enabledspark.databricks.runtimeConfigAllowlist.extraConfsspark.testing.databricks.runtimeConfigAllowlist.enabledspark.databricks.sql.jdbc.enableLakeguardDriver