標準のコンピューティング要件と制限事項

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

Important

Init スクリプトとライブラリは、アクセス モードおよび Databricks Runtime のバージョンによってサポート状況が異なります。 init スクリプトをインストールできる場所コンピューティング スコープのライブラリを参照してください。

現在の標準コンピューティングの制限事項

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

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

一般的な標準コンピューティングの制限事項

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

言語の制限事項

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

Spark API の制限事項

  • Spark コンテキスト (sc)、 spark.sparkContext、および sqlContext は Scala ではサポートされていません。
    • Azure Databricks では、 spark 変数を使用して SparkSession インスタンスと対話することをお勧めします。
    • 次の sc 関数もサポートされていません: emptyRDDrangeinit_batched_serializerparallelizepickleFiletextFilewholeTextFilesbinaryFilesbinaryRecordssequenceFilenewAPIHadoopFilenewAPIHadoopRDDhadoopFilehadoopRDDunionrunJobsetSystemPropertyuiWebUrlstopsetJobGroupsetLocalPropertygetConf
  • 特定の Spark 構成 プロパティの設定はサポートされていません。 制限付きプロパティを設定するクラスターを作成または編集すると、エラーが発生して失敗します。 完全な一覧については、 Spark 構成の制限事項を参照してください。
  • spark.createDataFrameを使用してローカル データから DataFrame を作成する場合、行サイズは 128 MB を超えることはできません。
  • RDD API はサポートされていません。
  • より新しいバージョンの Databricks Runtime で使用される Spark Connect は、分析と名前解決を実行時間に遅延させ、コードの動作を変更する可能性があります。 Spark Connect と Spark クラシックの比較を参照してください。

UDF の制限事項

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

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

  • ソケットソースの使用はサポートされていません。
  • Unity Catalog マネージドのデータ ソースで sourceArchiveDir を使用する場合、option("cleanSource", "archive") はソースと同じ外部ロケーションである必要があります。
  • Kafka ソースおよびシンクで、次のオプションはサポートされていません。
    • kafka.sasl.client.callback.handler.class
    • kafka.sasl.login.callback.handler.class
    • kafka.sasl.login.class
    • kafka.partition.assignment.strategy
  • Python foreachBatch では、 ThreadPoolExecutor またはマルチスレッド実行はサポートされていません。 マルチスレッド実行ではエラーがスローされない場合もありますが、データの破損や結果の不整合が発生するおそれがあります。

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

  • Standard コンピューティングでは、ファイル システムの機密性の高い部分へのアクセスが禁止されている低特権ユーザーとしてコマンドが実行されます。
  • DBFS の POSIX スタイルのパス (/) はサポートされていません。
  • DBFS を使用してファイルを直接操作できるのは、ワークスペース管理者と任意の FILE アクセス許可を持つユーザーだけです。
  • インスタンス メタデータ サービスや Azure WireServer には接続できません。

環境変数の制限事項

標準コンピューティングで 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 Cloud の資格情報: GOOGLE_APPLICATION_CREDENTIALS
  • Databricks 接続: DATABRICKS_HOSTDATABRICKS_TOKEN
  • ロケールとタイム ゾーン: TZLANGLC_ALL
  • 並列処理とスレッド処理: OMP_NUM_THREADSOPENBLAS_NUM_THREADSMKL_NUM_THREADSNUMEXPR_NUM_THREADS
  • 可観測性: DD_API_KEYDD_SITEDD_ENV
  • Unity カタログの既定値: CATALOGCATALOG_NAME

Scala カーネルの制限事項

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

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

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

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

言語のサポート

特徴 必要な Databricks ランタイム バージョン
Scala 13.3 以降
既定で使用可能なすべてのランタイムバンドル Java および Scala ライブラリ 15.4 LTS 以上 (15.3 以下の場合は、 spark.databricks.scala.kernel.fullClasspath.enabled=true設定)

Spark API のサポート

特徴 必要な Databricks ランタイム バージョン
Spark ML 17.0 以降
Python: SparkContext (sc)spark.sparkContextsqlContext 14.0 以降
Scala Dataset ops: mapmapPartitionsforeachPartitionflatMapreducefilter 15.4 LTS 以上

UDF のサポート

特徴 必要な Databricks ランタイム バージョン
applyInPandasmapInPandas 14.3 LTS 以上
Scala のスカラー UDF と Scala UDAF 14.3 LTS 以上
PySpark UDF の Git フォルダー、ワークスペース ファイル、またはボリュームからモジュールをインポートする 14.3 LTS 以上
ノートブックまたはコンピューティング スコープのライブラリを使用して、PySpark UDF でカスタム バージョンの grpcpyarrow、または protobuf を使用する 14.3 LTS 以上
非スカラー Python および Pandas UDF (Spark 上の UDF、UDF、Pandas を含む) 14.3 LTS 以上
Python スカラー UDF と Pandas UDF 13.3 LTS 以上

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

特徴 必要な Databricks ランタイム バージョン
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 カタログによって管理される外部の場所である必要があります) 13.3 LTS 以上
Scala StreamingQueryListener 16.1 以降
Python StreamingQueryListener Unity カタログマネージド オブジェクトと対話する 14.3 LTS 以上

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

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

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

特徴 必要な Databricks ランタイム バージョン
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 メタストア JAR spark.sql.hive.metastore.jarsspark.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.allowDestLocalspark.sql.artifact.copyFromLocalToFs.allowDestLocal
Azure 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