このトピックでは、DMS Jupyter Notebook を使用してデータをクエリおよび分析する方法について説明します。ノートブックは、コード、テキスト、グラフを 1 つのページに統合したインタラクティブなドキュメントです。他のユーザーと作業を簡単に共有できます。
ノートブックのインターフェース
ツールバーには、次の機能があります:
: ノートブックでの編集内容を保存します。
: 現在のセルの上にセルを挿入します。
: 選択したセルを削除します。
: 選択したセルを切り取ります。
: 選択したセルをコピーします。
: コピーした内容を選択したセルに貼り付けます。
: 選択したセルを実行します。
: カーネルを停止します。
: カーネルを再起動します。
: カーネルを再起動し、ノートブック全体を再実行します。
: セルのタイプを Code、SQL、Markdown、または Raw の間で切り替えます。
: Copilot チャットインターフェースを開きます。
DMS Jupyter Notebook の機能
DMS Jupyter Notebook は、オープンソースの Jupyter Notebook と互換性があります。また、強化された SQL クエリと可視化機能も提供します。
IPython カーネル
オープンソースの Jupyter Notebook とほぼ同じように機能します。pip を使用して拡張パッケージをインストールし、インターネットにアクセスできます。
Spark 構文を使用して、ノートブック内のテーブルデータをクエリします。構文の例を次に示します。
構文 1:
df = spark.sql("select * from customer limit 10").show();構文 2:
%%spark_sql select * from customer limit 10;構文 3:
セルで、 を選択し、SQL ステートメントを入力します。
CREATE TABLE IF NOT EXISTS `default`.`select_2` AS SELECT 2;説明デフォルトでは、Spark SQL セルは最大 3,000 行を表示します。この制限を変更するには、セルに次のコードを入力して DMS_SPARK_SQL_DEFAULT_LIMIT 環境変数を変更します:
os.environ['DMS_SPARK_SQL_DEFAULT_LIMIT'] = '3000';
ノートブックのツールバーで、セルのタイプを [Code] から [SQL] に切り替えます。
SQL セルで使用される構文は、論理データウェアハウスの構文とほぼ同じです。クロスデータベースクエリとリアルタイム分析をサポートしています。権限要件は、DMS のきめ細かい権限と一致しています。
SQL セルと Python セルで、
${variable_name}形式を使用して変数を参照し、変数名をカスタマイズし、変数の型を表示できます。次のセクションでは、ノートブックで変数を定義、出力、参照する方法について説明します。変数の定義と参照
IPython の変数は、${var} という形式で SQL 内から参照できます。var は IPython の変数名です。
target_table = 'archieve_partitions' SELECT * FROM `datafactory`.`${target_table}`;変数の出力
IPython セルでは、変数名を直接使用できます。変数名は結果セットの左下隅に表示されます。変数のタイプは pandas.core.frame.DataFrame です。変数の名前を変更するには、変数名をクリックして新しい名前を入力します。
SQL の結果セットは、ワンクリックで可視化できます。テーブル表示とグラフ表示の両方がサポートされています。
グラフ表示では、左側のペインが設定パネルです。 [Chart type] (折れ線グラフなど)、[X-axis] と [Y-axis] のフィールド、[grouping]、[filter] 条件を設定できます。パネルの上部には [Try another] ボタンと [Download image] ボタンがあります。
PySpark カーネル
デフォルトで AnalyticDB Spark がサポートされています。オープンソースの Spark もサポートされています。
Spark Magic の %%help マジックコマンドを使用すると、サポートされているコマンドをすばやく一覧表示できます。
Spark Magic は Jupyter Notebook の拡張機能です。
AnalyticDB Spark
AnalyticDB クラスター (Data Lakehouse Edition) を購入し、リソースグループを有効化して購入し、データベースアカウントを作成すると、次のコマンドを使用できます:
コマンド | 説明 |
| AnalyticDB Spark の設定を検証またはトラブルシューティングします。 |
| SQL ステートメントを AnalyticDB Spark に送信します。 |
C-Store の読み書き構文を使用して DDL 操作を実行します。詳細については、「内部テーブルの読み書き」をご参照ください。 | |
| Python コードを AnalyticDB Spark に送信します。 |
AnalyticDB Spark のセッションは 20 分間アクティブなままです。この期間が経過すると、セッションはタイムアウトして削除されます。カーネルを再起動して、新しいセッションを作成できます。
ファイルのアップロードとダウンロード
ossutil を使用して、必要なデータセットをアップロードおよびダウンロードします。ossutil の設定方法については、「ossutil の設定」をご参照ください。
操作手順
ノートブックを作成します。
[Files]
タブで、
をクリックし、[Notebook] を選択します。セルエディターで、SQL、Code、Markdown、または Raw 形式でコンテンツを記述します。
生成された SQL が正しいことを確認した後、ステートメントを実行して結果セットを表示します。
Copilot によって生成された SQL 領域で、[Execute Query] をクリックします。
SQL ステートメントが左側のドキュメントに自動的に挿入されます。クエリ結果も SQL ステートメントの下に表示されます。
テーブル表示
クエリにより、ORDERS テーブルから 7 行が返されます。これには、
O_ORDERKEY(注文 ID)、O_CUSTKEY(顧客 ID)、およびO_ORDERSTATUS(注文ステータス) が含まれます。すべてのレコードの注文ステータスはOです。グラフ表示
データ可視化設定パネルで、グラフの種類を折れ線グラフに設定し、X 軸フィールドに O_ORDERDATE を、Y 軸フィールドに [Total] O_ORDERKEY を選択します。これにより、注文日で集計された O_ORDERKEY の傾向線グラフが生成されます。
SQL ステートメントが正常に実行された後、その結果セットを他の SQL セルで変数として参照できます。変数の名前を変更することもできます。
たとえば、SQL クエリの結果として、
SQL_949364という名前の変数が自動的に作成されます。Python コードセルでSQL_RES=SQL_949364を実行して、結果をSQL_RESという名前のカスタム変数に割り当てます。戻り値は pandas DataFrame です。データ傾向の予測
セルで次のコードを実行して、Python の機械学習パッケージをインストールします。
pip install pandas numpy matplotlib scikit-learnパッケージがインストールされた後、Python コードを入力してデータを予測し、結果を可視化します。
次のステップ
よくある質問
Q:誰がノートブックドキュメントを閲覧できますか?
A:同じワークスペースとテナントのメンバーのみが閲覧できます。対象ユーザーが現在のテナントにいない場合は、そのユーザーをワークスペースの作成者と同じテナントに追加してから、そのユーザーをワークスペースのメンバーとして追加します。