サーバーレス コンピューティングの制限事項
この記事では、ノートブックとジョブのサーバーレス コンピューティングの現在の制限事項について説明します。 最も重要な考慮事項の概要から始まり、制限事項の包括的なリファレンス リストを提供します。
制限事項の概要
新しいワークロードを作成するか、ワークロードをサーバーレス コンピューティングに移行する前に、まず次の制限事項を考慮してください。
- サポートされている言語は Python と SQL だけです。
- Spark Connect API のみがサポートされています。 Spark RDD API はサポートされていません。
- JAR ライブラリはサポートされていません。 対処方法については、「サーバーレス コンピューティングのベスト プラクティス」を参照してください。
- サーバーレス コンピューティングでは、すべてのワークスペース ユーザーが無制限でアクセスできます。
- ノートブック タグはサポートされていません。
- ストリーミングの場合、増分バッチ ロジックのみを使用できます。 既定または時間ベースのトリガー間隔はサポートされません。 「ストリーミングの制限事項」を参照してください。
制限事項のリファレンス リスト
次のセクションでは、サーバーレス コンピューティングの現在の制限事項を一覧表示します。
サーバーレス コンピューティングは、共有コンピューティング アーキテクチャに基づいています。 共有コンピューティングから継承される最も関連性の高い制限事項と、サーバーレス固有の追加の制限事項が以下に一覧表示されています。 共有コンピューティングの制限事項の完全な一覧については、「Unity Catalog のコンピューティング アクセス モードの制限事項」を参照してください。
一般的な制限事項
Scala と R はサポートされていません。
SQL を記述するときの既定値は ANSI SQL です。
spark.sql.ansi.enabled
をfalse
に設定して、ANSI モードをオプトアウトします。Spark RDD API はサポートされていません。
Spark コンテキスト (sc) では、
spark.sparkContext
とsqlContext
はサポートされていません。Databricks コンテナー サービスはサポートされていません。
Web ターミナルはサポートされていません。
48 時間を超えるクエリは実行できません。
Unity Catalog を使用して外部データ ソースに接続する必要があります。 外部の場所を使用して、クラウド ストレージにアクセスします。
データ ソースのサポートは、AVRO、BINARYFILE、CSV、DELTA、JSON、KAFKA、ORC、PARQUET、ORC、TEXT、XML に限定されます。
ユーザー定義関数 (UDF) はインターネットにアクセスできません。 このため、 CREATE FUNCTION (External) コマンドはサポートされていません。 Databricks では、
CREATE FUNCTION (SQL および Python) を使用して UDF を作成することをお勧めします。個々の行が最大サイズの 128 MB を超えないようにする必要があります。
Spark UI は使用できません。 代わりに、クエリ プロファイルを使用して、Spark クエリに関する情報を表示します。 「クエリ プロファイル」を参照してください。
ワークスペース間アクセスは、ワークスペースが同じリージョンにあり、宛先ワークスペースに IP ACL またはフロントエンド PrivateLink が構成されていない場合にのみ許可されます。
グローバル一時ビューはサポートされていません。 Databricks では、 session 一時ビューを使用するか セッション間のデータの受け渡しが必要なテーブルを作成することをお勧めします。
ストリーミングの制限事項
- 既定または時間ベースのトリガー間隔はサポートされません。 サポートされるのは
Trigger.AvailableNow
のみです。 「構造化ストリーミングのトリガー間隔を構成する」を参照してください。 - 共有アクセス モードでのストリーミングに関するすべての制限も適用されます。 「Unity Catalog 共有アクセス モードのストリーミングの制限事項と要件」をご覧ください。
機械学習の制限事項
- Databricks Runtime for Machine Learning と Apache Spark MLlib はサポートされていません。
- GPU はサポートされていません。
Notebooks の制限事項
- Notebooks は、構成できない 8 GB のメモリにアクセスできます。
- Notebook スコープのライブラリは、開発セッション間ではキャッシュされません。
- ユーザー間でノートブックを共有するときの TEMP テーブルとビューの共有はサポートされていません。
- Notebooks 内の DataFrame のオートコンプリートと変数エクスプローラーはサポートされていません。
ワークフローの制限事項
- ジョブのサーバーレス コンピューティングのドライバー サイズは現在固定されており、変更できません。
- タスク ログは、タスクの実行ごとに分離されません。 ログには、複数のタスクからの出力が含まれます。
- タスク ライブラリは、ノートブック タスクではサポートされていません。 代わりにノートブック スコープのライブラリを使用してください。 「ノートブック スコープの Python ライブラリ」を参照してください。
コンピューティング固有の制限事項
次のコンピューティング固有の機能はサポートされていません。
- コンピューティング ポリシー
- コンピューティング スコープの init スクリプト
- カスタム データ ソースや Spark 拡張機能を含む、コンピューティング スコープのライブラリ。 代わりにノートブック スコープのライブラリを使用してください。
- インスタンス プロファイルを含むコンピューティング レベルのデータ アクセス構成。 その結果、クラウド パス上の HMS を介して、または資格情報が埋め込まれていない DBFS マウントを使用して、テーブルとファイルにアクセスすることはできません。
- インスタンス プール
- コンピューティング イベント ログ
- ほとんどの Apache Spark コンピューティング構成。 サポートされている構成の一覧については、「 Supported Spark 構成パラメーターを参照してください。
- 環境変数。 代わりに、Databricks では、 widgets を使用して ジョブパラメーターとタスク パラメーターを作成することをお勧めします。
キャッシュの制限事項
データフレーム API と SQL キャッシュ API は、サーバーレス コンピューティングではサポートされていません。 これらの API または SQL コマンドのいずれかを使用すると、例外が発生します。
- df.cache(), df.persist()
- df.unpersist()
- spark.catalog.cacheTable()
- spark.catalog.uncacheTable()
- spark.catalog.clearCache()
- CACHE TABLE
- UNCACHE TABLE
- REFRESH TABLE
- CLEAR CACHE
Hive の制限事項
Hive SerDe テーブルはサポートされていません。 さらに、Hive SerDe テーブルにデータを読み込む、対応する LOAD DATA コマンドはサポートされていません。 このコマンドを使用すると、例外が発生します。
データ ソースのサポートは、AVRO、BINARYFILE、CSV、DELTA、JSON、KAFKA、ORC、PARQUET、ORC、TEXT、XML に限定されます。
Hive 変数 (たとえば、
${env:var}
、${configName}
、${system:var}
、spark.sql.variable
)、または${var}
構文を使用した config 変数の参照はサポートされていません。 Hive 変数を使用すると、例外が発生します。代わりに、DECLARE VARIABLE、SET VARIABLE、SQL セッション変数の参照とパラメーター マーカー ('?' または ':var') を使用して、セッション状態を宣言、変更、参照します。 IDENTIFIER 句を使用して、多くの場合、オブジェクト名をパラメーター化することもできます。