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

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

このページには、標準コンピュートの要件と制限事項のリストが含まれています。 クラシックコンピュートを使用している場合は、ワークロードが以下に示す制限のいずれかに依存している場合を除き 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セット)

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以上

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 バージョン

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以上

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