ノートブック コンピュート リソース
この記事では、ノートブック コンピュート リソースのオプションについて説明します。 ノートブックは、汎用コンピュート リソース、サーバレス コンピュートで実行できます。また、SQLコマンドの場合は、SQL アナリティクス用に最適化されたコンピュートの一種である SQLウェアハウスを使用することもできます。コンピュートの種類の詳細については、 コンピュートを参照してください。
大丈夫コンピュート
Unity Catalogに対応したワークスペースで、新しいノートブックがサーバレス コンピュートになりました。 手動でコンピュート リソースを選択してセルを実行しない場合、ノートブックは自動的にサーバレス コンピュートに接続します。
自動アタッチコンピュート
開発者設定では、エディターと対話するときに自動的にコンピュート リソースにアタッチし、セッションを開始するようにノートブックを構成できます。
-
左上にあるユーザーアイコンをクリックします。
-
設定 をクリックします。
-
「開発者」 をクリックして開発者設定に移動します。
-
[エディター操作でセッションを自動的に作成] をオンに切り替えて、エディター操作でコンピュート セッションを自動的に開始します。 Databricks 、ユーザーの設定 (サーバーレスまたはSQLウェアハウス) と最後に使用されたコンピュート リソースに基づいてコンピュート リソースを作成します。
または
ノートブックが自動的にコンピュート リソースに接続して開始しないようにするには、この設定をオフに切り替えます。
オートコンプリート、コードの書式設定、デバッガーなどのコード支援機能を使用するには、ノートブックがアクティブなコンピュート セッションに接続されている必要があります。 ノートブックがコンピュート セッションを開始していない場合、コード支援機能は非アクティブになります。
ノートブック向けサーバレス コンピュート
サーバレス コンピュートを使用すると、ノートブックをオンデマンド コンピューティング リソースにすばやく接続できます。
サーバレス コンピュートに接続するには、ノートブックの [コンピュート] ドロップダウン メニューをクリックし、 [サーバレス] を選択します。
詳細については、 ノートブック向けサーバレス コンピュート を参照してください。
サーバレス ノートブックの自動セッション復元
サーバレス コンピュートをアイドル状態で終了すると、ノートブック内の進行中の作業 (変数値 Python など) が失われる可能性があります。 これを回避するには、 サーバレス ノートブックの自動セッション復元 を有効にします。
- ワークスペースの右上にあるユーザー名をクリックし、ドロップダウンリストの 設定 をクリックします。
- 設定 サイドバーで、 開発者 を選択します。
- [試験的な機能 ] で、[ サーバレス ノートブックの自動セッション復元 ] 設定をオンに切り替えます。
この設定を有効にすると、 Databricksアイドル終了前にサーバレス ノートブックのメモリ状態をスナップショットできるようになります。 アイドル状態で切断された後にノートブックに戻ると、ページの上部にバナーが表示されます。 「再接続」 をクリックして、作業状態を復元してください。
再接続すると、Databricks は次の作業環境全体を復元します。
- Python の変数、関数、クラス定義 : Python の状態は、pickle/cloudpickle を使用してプロセス内でシリアル化され、新しい REPL に復元されるため、再インポートや再宣言は不要です。
- Spark DataFrames 、キャッシュされたビュー、および一時ビュー :ロード、変換、またはキャッシュされたデータ(一時ビューを含む)は保持されるため、コストのかかる再ロードや再計算を回避できます。
- Sparkセッションの状態 :Sparkレベルの設定、一時ビュー、カタログの変更、およびユーザー定義関数(UDF)は、Spark Connectセッション移行によって復元されるため、リセットする必要はありません。
環境が変化し、例えば互換性のないPythonやパッケージのバージョンなどによって逆シリアル化が安全でなくなった場合、スナップショットは無効になり、ノートブックは新しいセッションにフォールバックします。
スナップショットデータストレージ
スナップショットデータは、ワークスペースのデフォルトストレージに保存されます。ノートブック自体は、ノートブック ID を持つポインター、タイムスタンプ、セッション情報などのメタデータのみを保存します。 データペイロードはノートブックには保存されません。Blob パスはノートブック属性に保存される前に暗号化され、スナップショットパスはノートブックのエクスポートおよびインポートから除外されるため、別のワークスペースに状態が復元されるのを防ぎます。
スナップショットはクラウドストレージのTTL(有効期限)のデフォルト設定(約1ヶ月)に従い、自動的に期限切れとなります。ノートブックを削除すると、そのノートブックに保存されているスナップショットも削除されます。クラウドアカウントでは、標準的なワークスペースストレージ使用量の一部としてストレージ料金が発生します。この機能は、コンテナレベルのチェックポイント処理ではなく、Pythonのプロセスシリアル化を利用することで、スナップショットのサイズを小さくし、作成速度を向上させています。
セキュリティとアクセス制御
スナップショットの復元は、ノートブックのアクセス許可を尊重します。状態を復元するには、ノートブックに対する実行権限が必要です。暗号化されたメタデータにより、ビューアがスナップショットのブロブを直接取得することはできず、復元時には権限チェックが強制されます。
制限事項
この機能には制限があり、次の復元はサポートされていません。
- 4日以上経過したSpark状態
- 50 MBを超えるSpark状態
- SQLスクリプトに関連するデータ
- ファイルハンドル
- ロックとその他の同時実行プリミティブ
- ネットワーク接続
ノートブックを汎用コンピュート リソースにアタッチする
ノートブックを汎用コンピュート リソースにアタッチするには、コンピュート リソースに対する Can Attach To 権限 が必要です。
ノートブックがコンピュート リソースにアタッチされている限り、ノートブックに対するCAN RUN アクセス許可を持つすべてのユーザーは、コンピュート リソースにアクセスするための暗黙的なアクセス許可を持っています。
ノートブックをコンピュート リソースにアタッチするには、 ノートブック ツールバーのコンピュート セレクター をクリックし、ドロップダウン メニューからリソースを選択します。
メニューには、最近使用した、または現在稼働している汎用コンピュートと SQLウェアハウスのセレクションが表示されます。

利用可能なすべてのコンピュートから選択するには、[ その他... ] をクリックします。 利用可能な一般的なコンピュートまたは SQLウェアハウスから選択します。

また、ドロップダウンメニューから 新しいリソースの作成 新しい汎用コンピュート リソースを作成することもできます 。
アタッチされたノートブックには、以下のApache Spark変数が定義されています。
クラス | 変数名 |
|---|---|
|
|
|
|
|
|
SparkSession、SparkContext、またはSQLContextの作成は行わないでください。これを行うと、一貫性のない動作が発生します。
SQLウェアハウスでノートブックを使用する
ノートブックが SQLウェアハウスにアタッチされている場合、 SQL セルと Markdown セルを実行できます。 他の言語 (Python や R など) でセルを実行すると、エラーが発生します。SQLウェアハウスで実行されたセルSQL、SQLウェアハウスのクエリ履歴に表示されます。クエリを実行したユーザーは、出力の下部にある経過時間をクリックすることで、ノートブックから クエリ プロファイルを表示できます 。
SQLウェアハウスに接続されているノートブックは、 SQLウェアハウス セッションをサポートしています。これにより、変数の定義、一時ビューの作成、および複数のクエリ実行にわたる状態の永続化が可能になります。 これにより、すべてのステートメントを一度に実行する必要なく、SQL ロジックを反復的に構築できるようになります。SQL SQLwarehouse セッションとは何ですか?」を参照してください。 。
ノートブックを実行するには、Pro または サーバレス SQLウェアハウスが必要です。 ワークスペースと SQLウェアハウスにアクセスできる必要があります。
ノートブックを SQLウェアハウス にアタッチするには、次の手順を実行します。
-
ノートブックツールバーのコンピュートセレクターをクリックします。ドロップダウン メニューには、現在実行中のリソースまたは最近使用したコンピュート リソースが表示されます。 SQLウェアハウスには
マークが付いています。
-
メニューからSQLウェアハウスを選択します。
利用可能なすべてのSQLウェアハウスを表示するには、ドロップダウンメニューから「 さらに表示… 」を選択します。ダイアログが表示され、ノートブックで利用可能なコンピュートリソースが表示されます。「 SQLウェアハウス 」を選択し、使用するウェアハウスを選択して、「 アタッチ 」をクリックします。

また、ワークフローまたはスケジュールされたジョブを作成するときに、SQL ノートブックのコンピュート リソースとして SQLウェアハウスを選択することもできます。
SQLウェアハウスの制限
詳細については、Databricksノートブックの既知の制限事項 を参照してください。