ワークスペースでのノートブックの編集と実行

実行コンテキストを設定する

ワークスペース内のノートブックは、データベースやスキーマを自動的に設定しません。データをクエリするには、次の SQL コマンドを使用してセルで実行コンテキストを定義する必要があります。

USE DATABASE <database>;
USE SCHEMA <schema>;
Copy

環境やクライアント間でノートブックが一貫して実行されるようにするには、テーブルやその他のオブジェクトに完全修飾名を使用します。例:

-- Query data objects using a fully qualified name
SELECT * FROM TABLE <database_name.schema_name.table_name>;

-- Create a table using a fully qualified name
WITH filtered_events AS (
    SELECT
        user_id,
        event_type,
        event_timestamp
    FROM raw_events
    WHERE event_timestamp >= '2025-01-01'
)
CREATE OR REPLACE TABLE <database_name.schema_name.table_name> AS
SELECT *
FROM filtered_events;
Copy

ロールとウェアハウスピッカーを使用する

ノートブックのアクティブなロールとウェアハウスを設定できます。

ノートブックエディターの左上にあるピッカーを使用します。

ロールとウェアハウスピッカー

クエリウェアハウスは、ノートブックによって呼び出される SQL クエリとSnowparkプッシュダウンコンピュートの実行に使用されます。インタラクティブなデータグリッドのレンダリングにも使用されますが、この操作にはクレジットチャージはありません。

クレジット使用状況の詳細については、 コンピュートを設定する をご参照ください。

Snowparkセッションを作成する

SnowparkはSnowflake開発者フレームワークで、プラットフォームからデータを移動することなく、Snowflake内でデータパイプライン、変換、機械学習ロジックを直接構築できます。Snowflakeデータで DataFrames として動作する APIs を提供し、スケーラビリティ、パフォーマンス、セキュリティのために計算をSnowflakeのエンジンにプッシュダウンします。

ノートブックで Snowpark Python APIs を使用するには、まずPythonのセルでSnowparkのセッションを作成します。

from snowflake.snowpark.context import get_active_session
session = get_active_session()
Copy

セルを実行する

サポートされている実行オプションは4つあります。

  • すべてのセルを実行

  • 1つのセルを実行

  • 現在のセルとそれより上のセルすべてを実行(セルの省略記号メニュー経由)

  • 現在のセルとそれより下のセルすべてを実行(セルの省略記号メニュー経由)

セルの実行をキャンセルする

ノートブックの上部にある Stop またはセル内の Cancel execution を使用します。

どちらのアクションも、現在実行中のセルと、 Run all によってトリガーされたキュー中のセルを停止します。

注釈

Run all ボタンは、ノートブックがサービスに接続または再接続しているときは一時的に Stop に変更される場合があります。

セル名

セルに名前を割り当てて、ナビゲーションを容易にし、状況に応じたラベルを提供することができます。

インポートされた .ipynb ファイルに既に名前またはタイトルのメタデータが含まれている場合、それらの値は自動的に使用されます。

セル参照

双方向の SQL からPythonへのセル参照は、どちらの言語のセル間でも結果と変数を再利用することができ、 SQL とPythonワークフロー間のシームレスな移行を可能にします。

結果ツールチップにカーソルを合わせると、PythonおよびSQLで結果を参照するために使用できるDataFrame名を確認できます。

セル参照

SQL セルの結果を参照する

各 SQL セルは、その結果を dataframe_x という名前のpandas DataFrame ポインターとして公開します。

  • SQL では、二重中括弧を使用して参照します: {{dataframe_1}}

  • Pythonでは、pandas DataFrame として直接参照します: dataframe_1 。

Python変数を参照する

SQL クエリでPython変数を参照するには、変数を二重中括弧で囲みます。例:

SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
Copy

DataFrame 変数は、 SQL でPython変数を参照する場合にもサポートされます。

ワークフロー例

Pythonセル

import pandas as pd

uploaded_df = pd.read_csv("../data/diamonds.csv")
uploaded_df
Copy

Python変数を参照する SQL セル

SELECT * FROM {{uploaded_df}} WHERE "price" > 326;
Copy

** SQL セルの結果を参照する SQL セル**

SQL セルの結果は、 dataframe_1 という DataFrame ポインターを提供します。別の SQL クエリで参照できます。

SELECT * FROM {{dataframe_1}} WHERE "carat" < 1.0
UNION ALL
SELECT * FROM {{dataframe_2}} WHERE "carat" >= 1.0;
Copy

インタラクティブなデータグリッド

データグリッドは以下をサポートします。

  • スクロール

  • 検索

  • フィルタリング

  • 並び替え

  • コードなしのチャート作成

組み込みチャートビルダー

ワークスペースの編集サーフェス全体で、データ操作と視覚化のための一貫したユーザーエクスペリエンスを提供します。

ミニマップとセルステータス

ミニマップはMarkdownヘッダーから目次を生成し、各セルの包括的なセッション中のステータス(実行中、成功、失敗、変更済み)を表示します。

グローバルの検索と置換

現在のノートブックのすべてのセルでキーワードを検索できます。特定のセルを編集している場合は、 esc を押して最初にそのセルの編集モードを終了します。

現在のノートブックのすべてのセルでキーワードを検索するには、次を実行します。

  • キーワードを検索するには、ミニマップの Search を選択するか、キーボードショートカット CTRL`+ :kbd:`F を使用します。

    すべてのセルの一致するキーワードが表示されます。オプションとして、 Replace next または Replace all を使用して、検索語を目的の値に置き換えることができます。

ノートブックカーネル

ノートブックカーネルは、ノートブックサービスが RUNNING 状態にある限りアクティブであり続けるため、 ML トレーニングやデータエンジニアリングジョブなどの重要で長時間実行されるプロセスを中断することなく実行できます。

カーネルの実行に影響を与えないアクション:

  • 他のページへ移動する

  • Snowsight の他の場所で作業する

  • ブラウザーを閉じる

  • コンピューターをシャットダウンする

Connected ドロップダウンを使用して、カーネルをシャットダウンまたは再起動できます。

注釈

Shut down kernel または Restart kernel を使用すると、メモリ内の変数をクリアしますが、ユーザーがインストールしたパッケージは保持します。プリインストールパッケージのみで完全にクリーンな環境を希望する場合は、サービスを再起動するか、新しいサービスを作成して接続する必要があります。

ノートブックサービスが一時停止すると、ノートブックカーネルもシャットダウンされます。詳細については、 コンピュートを設定する をご参照ください。

セル出力

  • セルの出力は .ipynb ファイルに保存されず、エクスポートできません。

  • ワークスペース(プライベートおよび共有ワークスペース)のノートブックのセル出力には、ノートブックを実行したユーザーがアクセスできます。

  • セル出力の可視性は、実行を開始したユーザーに制限されます。セルを実行するには、アクティブな既定のロールに、:ref:`ノートブックプロジェクトオブジェクト(NPO)<label-nb_in_ws_schedule_npo>`に対するOWNERSHIPまたはUSAGE権限のいずれかが付与されている必要があります。

Jupyterマジック

ワークスペースのノートブックは IPython (インタラクティブPython)カーネルを実行し、標準的なJupyterセルマジックとラインマジックを提供します。%lsmagic を実行して、利用可能なマジックを表示します。

たとえば、 %run マジックコマンドを使用して別のノートブックを呼び出すことができます。

  • notebook_a のPythonのセルで、 %run path/to/notebook_b.ipynb を呼び出します。これにより notebook_a と同じPythonプロセスで notebook_b を実行します。

  • notebook_b の変数とpandas DataFrames において notebook_a セルの結果をレンダリングするには、必ず明示的に出力してください。例: print(var) または display(df)

開発者ツール

開発者ツールには TerminalScratchpadVariables Explorer が含まれます。これらのツールを使うと、データやノートブック環境を探索したり、操作したりできます。

開発者ツールにアクセスするには、ノートブックの上部にあるコントロールバーで <icon>:ui:Tools を選択します。

ノートブックツールアイコン

開発者ツールを使用するには、ノートブックサービスに接続する必要があります。別のサービスに切り替えると、ツールが再開されます。

ターミナルの使用

ターミナルを使うと、ノートブックのコンテナ環境でシェルコマンドを実行できます。

  • 依存関係のインストール - `pipインストール ` 、 `pipリスト ` または、インストールされているパッケージを確認します。

  • ファイルの管理 - Ispwd 、ディレクトリをナビゲートしてファイルを表示します。

  • 並列ジョブの実行

  • コンピューティングリソースの使用状況の監視

コンピューティングリソースの使用状況をリアルタイムで監視するために htop をインストールして実行する例:

# If installation fails, run `apt update` first
# Install `htop`
apt install htop

# Run `htop`
htop
Copy

スクラッチパッドの使用

スクラッチパッドは、たとえばコード、アイデア、計算、ノートなどを構造やブラッシュアップを気にすることなく迅速に実験できる探索スペースです。スクラッチパッドで実行するコマンドは、ノートブックファイルを変更しません。

スクラッチパッドでは次を実行できます。

  • クイックアドホッククエリ - ノートブックにセルを追加することな SQL を検証します。

  • データ探索 - テーブルの内容、スキーマを確認するか、探索的クエリを実行します。

  • デバッグ - ノートブックのセルに追加する前に、データを確認するかクエリのフラグメントを検証します。

  • 単発操作 - 保存する必要のないコマンド( SHOW GRANTS または DESCRIBE TABLE など)を実行します。

作業中は結果が表示されたままですが、ノートブックに保存されることはありません。

変数エクスプローラーを使用する

変数エクスプローラーは、インタラクティブに作業している間に、セッションで現在ロードされている変数を検査できる視覚的なツールです。各変数の NameTypeShape および Preview を表示します。変数はセルの実行が完了すると更新されます。