このページには、標準コンピューティングの要件と制限事項の一覧が含まれています。 クラシック コンピューティングを使用している場合、ワークロードが以下に示す制限のいずれかに依存しない限り、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関数もサポートされていません:emptyRDD、range、init_batched_serializer、parallelize、pickleFile、textFile、wholeTextFiles、binaryFiles、binaryRecords、sequenceFile、newAPIHadoopFile、newAPIHadoopRDD、hadoopFile、hadoopRDD、union、runJob、setSystemProperty、uiWebUrl、stop、setJobGroup、setLocalProperty、getConf。
- Azure Databricks では、
- 特定の Spark 構成 プロパティの設定はサポートされていません。 制限付きプロパティを設定するクラスターを作成または編集すると、エラーが発生して失敗します。 完全な一覧については、 Spark 構成の制限事項を参照してください。
-
spark.createDataFrameを使用してローカル データから DataFrame を作成する場合、行サイズは 128 MB を超えることはできません。 - RDD API はサポートされていません。
- より新しいバージョンの Databricks Runtime で使用される Spark Connect は、分析と名前解決を実行時間に遅延させ、コードの動作を変更する可能性があります。 Spark Connect と Spark クラシックの比較を参照してください。
UDF の制限事項
- Hive UDF はサポートされていません。 代わりに、 Unity カタログで UDF を使用してください。
- Scala UDF は 、上位の関数内では使用できません。
ストリーミングの制限事項
注
記載されている Kafka のオプションの一部は、Azure Databricks でサポートされている構成で使用する場合に制限があります。 記載されている Kafka の制限事項は、バッチ処理とストリーム処理の両方に適用されます。 Apache Kafka への接続を参照してください。
- ソケットソースの使用はサポートされていません。
- Unity Catalog マネージドのデータ ソースで
sourceArchiveDirを使用する場合、option("cleanSource", "archive")はソースと同じ外部ロケーションである必要があります。 - Kafka ソースおよびシンクで、次のオプションはサポートされていません。
kafka.sasl.client.callback.handler.classkafka.sasl.login.callback.handler.classkafka.sasl.login.classkafka.partition.assignment.strategy
- Python
foreachBatchでは、ThreadPoolExecutorまたはマルチスレッド実行はサポートされていません。 マルチスレッド実行ではエラーがスローされない場合もありますが、データの破損や結果の不整合が発生するおそれがあります。
ネットワークとファイル システムの制限事項
- Standard コンピューティングでは、ファイル システムの機密性の高い部分へのアクセスが禁止されている低特権ユーザーとしてコマンドが実行されます。
- DBFS の POSIX スタイルのパス (
/) はサポートされていません。 - DBFS を使用してファイルを直接操作できるのは、ワークスペース管理者と任意の FILE アクセス許可を持つユーザーだけです。
- インスタンス メタデータ サービスや Azure WireServer には接続できません。
環境変数の制限事項
標準コンピューティングで Spark エンジンと init スクリプトで使用できるのは、定義済みの環境変数のセットのみです。 クラスターに設定したが、このセットに含まれていない環境変数は、UDF を含むユーザー コードで引き続き使用できますが、Spark エンジンまたは init スクリプトでは使用できません。
このセットには、一般的な構成、資格情報、ランタイム変数が含まれます。 以下の例は完全ではありません。
- ネットワークとプロキシ:
HTTP_PROXY、HTTPS_PROXY、NO_PROXY - TLS 証明書:
REQUESTS_CA_BUNDLE、SSL_CERT_FILE - AWS の資格情報とリージョン:
AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_REGION、AWS_DEFAULT_REGION - Azure資格情報:
AZURE_CLIENT_ID、AZURE_CLIENT_SECRET、AZURE_TENANT_ID - Google Cloud の資格情報:
GOOGLE_APPLICATION_CREDENTIALS - Databricks 接続:
DATABRICKS_HOST、DATABRICKS_TOKEN - ロケールとタイム ゾーン:
TZ、LANG、LC_ALL - 並列処理とスレッド処理:
OMP_NUM_THREADS、OPENBLAS_NUM_THREADS、MKL_NUM_THREADS、NUMEXPR_NUM_THREADS - 可観測性:
DD_API_KEY、DD_SITE、DD_ENV - Unity カタログの既定値:
CATALOG、CATALOG_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.sparkContext、 sqlContext |
14.0 以降 |
Scala Dataset ops: map、 mapPartitions、 foreachPartition、 flatMap、 reduce、 filter |
15.4 LTS 以上 |
UDF のサポート
| 特徴 | 必要な Databricks ランタイム バージョン |
|---|---|
applyInPandas、mapInPandas |
14.3 LTS 以上 |
| Scala のスカラー UDF と Scala UDAF | 14.3 LTS 以上 |
| PySpark UDF の Git フォルダー、ワークスペース ファイル、またはボリュームからモジュールをインポートする | 14.3 LTS 以上 |
ノートブックまたはコンピューティング スコープのライブラリを使用して、PySpark UDF でカスタム バージョンの grpc、 pyarrow、または 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 foreachBatch と flatMapGroupsWithState |
16.2 以降 |
Scala from_avro |
14.2 以降 |
Kafka オプションの kafka.ssl.truststore.location と kafka.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.extraJavaOptions、spark.driver.defaultJavaOptions、spark.executor.extraJavaOptions、spark.executor.defaultJavaOptions、spark.yarn.am.extraJavaOptions、spark.yarn.am.defaultJavaOptions、spark.driver.extraClassPath、spark.executor.extraClassPath、spark.driver.extraLibraryPath、spark.executor.extraLibraryPath |
| 環境変数の挿入 |
spark.executorEnv.*、spark.yarn.appMasterEnv.*、spark.kubernetes.driverEnv.* |
| ライブラリ、JAR、およびファイル |
spark.jars、 spark.jars.packages、 spark.jars.ivy、 spark.jars.ivySettings、 spark.jars.repositories、 spark.files、 spark.archives、 spark.submit.pyFiles、 spark.sql.maven.additionalRemoteRepositories、 spark.yarn.jars、 spark.yarn.archive、 spark.yarn.dist.jars、 spark.yarn.dist.files、 spark.yarn.dist.archives、 spark.yarn.dist.pyFiles、 spark.yarn.dist.forceDownloadSchemes |
| Hive メタストア JAR |
spark.sql.hive.metastore.jars、spark.sql.hive.metastore.jars.path |
| Pythonと R の実行可能ファイル |
spark.pyspark.python、spark.pyspark.driver.python、spark.r.command、spark.r.driver.command、spark.r.shell.command |
| Kubernetes ポッドの構成 |
spark.kubernetes.container.image、 spark.kubernetes.driver.container.image、 spark.kubernetes.executor.container.image、 spark.kubernetes.driver.podTemplateFile、 spark.kubernetes.executor.podTemplateFile、 spark.kubernetes.driver.volumes.*、 spark.kubernetes.executor.volumes.*、 spark.kubernetes.driver.secrets.*、 spark.kubernetes.executor.secrets.* |
| ローカル ファイル システムへのアクセス |
spark.connect.copyFromLocalToFs.allowDestLocal、spark.sql.artifact.copyFromLocalToFs.allowDestLocal |
| Azure Databricksの分離とアクセス制御 |
spark.databricks.pyspark.enableProcessIsolation、 spark.databricks.pyspark.enablePy4JSecurity、 spark.databricks.pyspark.runAsLowPrivilegeUser、 spark.databricks.pyspark.enableIptables、 spark.databricks.pyspark.onlyAllowTrustedFilesystems、 spark.databricks.pyspark.trustedFilesystems、 spark.databricks.pyspark.pythonUdfsOnly、 spark.databricks.acl.dfAclsEnabled、 spark.databricks.acl.fileAccess.enabled、 spark.databricks.acl.allowTransformUsing、 spark.databricks.passthrough.enabled、 spark.databricks.runtimeConfigAllowlist.enabled、 spark.databricks.runtimeConfigAllowlist.extraConfs、 spark.testing.databricks.runtimeConfigAllowlist.enabled、 spark.databricks.sql.jdbc.enableLakeguardDriver |