目次
1.はじめに
皆さんこんにちは。
今回はDatabricks アシスタントについて紹介します。
Databricks アシスタントは、Databricks でのコードとデータ処理をサポートするために作成されました。これにより、ユーザーは高速かつ正確にコードを作成できるようになり、作業効率が向上します。
AI サポートをワークスペースに導入することで、他のソース (Google、StackOverflow、Databricks ドキュメントなど) での Databricks 機能の調査時間を最小限できるようになります。
Databricks アシスタント がユーザーの特定質問に具体的に回答することで、質問と回答の不一致を最小限できるようになります。
Databricks アシスタントを使うことで、ユーザがDatabricks を操作しやすくなります。
また、コーディングやデータ分析に関する知識がないユーザーでもデータ分析を実施することができます。
今回は、そんなDatabricks アシスタントの使用方法について説明していきます。
2.前提要件
実施する際の前提条件は
・ユーザーは Azure Databrick ワークスペースにアクセスできる必要があること。
・Databricks アシスタントを有効化するため、1つのグローバル管理者のアカウントが必要であること。
・Databricks アシスタントが有効になると、ワークスペース内のすべてのユーザーがこの機能を使用できるようになること。
・ユーザーは、新規ノートブックの作成方法及び、ノートブックの基本操作を知っておく必要があること。
3.Databricksアシスタントを有効化
① Databricks ワークスペースにログインします。
② 画面右上にあるメールアドレス → 「Manage Account」をクリックします。
③ アカウントコンソール(Account Console)が表示されます。
④「Settings」を選択します。
⑤「Feature enablement」タブで「Enable third party services for AI additive features」の「Enable for All」を有効にします。
Databricksアシスタントの有効化が完了しました。ワークスペース内の全てのメンバーは、Databricksアシスタントを使用できるようになります。
Databricksアシスタントが有効になっていることを確認し、その機能を使用するには、次のように実行します。
- 任意のノートブックを作成します。
- 作成したノートブックを開くと、 Databricksアシスタントのアイコンが表示されます。
- そのアイコンをクリックすると、アシスタント ウィンドウ 及び チャット欄が表じされます。Databricksアシスタントを使用できます。
4.Databricksアシスタントの機能
Databricksアシスタントの主な機能は、以下の通りです。
- 適切なコードを作成
- コード補完(code completion)
- Databricks で対応しているFramework、及び言語の間で変換
- 不具合の修正(一部の単純な構文エラーまたはタイプエラーに限定される)
また、Databricksアシスタントは、通常の AI チャットボットと同じように全ての機能があり、コード以外の質問にも回答できます。
4-1.適切なコードを作成する
Databricksアシスタントは、特定の要件と Databricks での利用可能なリソースに基づいてコードスニペット(SQL、Python) を作成するように使用されます。
例:
- 以下のコードを実行して、DataFrame「df_yellow_trip」を作成します。
1 |
df_yellow_trip = spark.table("delta.`/databricks-datasets/nyctaxi/tables/nyctaxi_yellow`") |
- df_yellow_tripにデータ量(約1.6B レコード)が非常に多くので、一旦最初の 1000 レコードをDelta テーブルに保存します。
- Databricksアシスタントを使用して、次のように質問することで df_ yellow_trip を保存するためのコードを生成します。
1 |
save the first 1000 rows of df_yellow_trip to a delta table |
- Databricksアシスタントによってコード 及び 説明が生成されます。
- Deltaテーブルを作成した後、Databricksアシスタントを使用して作成したDeltaテーブルを次の通りにロードします。
1 |
load delta table from /mnt/data/yellow_trip_delta_table to a DataFrame called nyctaxi |
- Databricksアシスタントによる作成されたコードを実行した後、NYCTaxiのデータが正常に作成されました。
Databricksアシスタントを使用してデータ調査用のコードを作成できます。例は以下の通りです。
- 最も遠い距離移動があるの5つの乗車を確認するには、次のように聞きます。
1 |
show the 5 furthest trip distance from delta table at /mnt/data/yellow_trip_delta_table in SQL |
- 上記の質問の内容に一致するためのSQLコードが生成されます。
- Spark Dataframeに対して、上記の同じ質問を聞きたい場合、次の通りで実施します。
1 |
show the 5 furthest trip distance from nyctaxi |
- NYCTaxi は Spark DataFrame であるため、更なる指示せずに、DatabricksアシスタントによってSpark DataFrame に一致するコードが生成されます。
- コード実行後の結果は、上記の質問に一致します。
4-2.コード補完(code completion)
Databricks アシスタン が、コード エディターの指示 (コメント) に基づいてコードを完成させるように使用されます。
使用方法は次の通りです。
- 最も遠い距離移動があるの5つの乗車を表示する指示など、コメントを入力します。
1 |
# write code to show top 5 highest trip distance from existing nyctaxi spark dataframe |
- 次に、「Ctrl + Shift + Space」(Windows) または「Option + Shift + Space」(Mac) のキーを押します。
- 「Ctrl + Shift + Space」(Windows) または「Option + Shift + Space」(Mac) のキーを押した後、「 Accept Accept World….」のようなボックスが表示されます。
- 「>」を押すと、様々なコードを選択できます。
- 「Accept」を押して、希望のコードを選択します。
- そのコードの色が変わり、使用できるようになります。
- そのコードを選択せずに、別のところにマウスをホバーすると、「 Accept Accept World….」のようなボックスが消えます。
4-3.Databricks で対応しているFramework、及び言語の間で変換
次のコードを例として使用します。
1 2 3 4 5 |
import pandas as pd nyctaxi_pd = nyctaxi.toPandas() nyctaxi_pd.sort_values('fare_amount', ascending=False, inplace=True) print(nyctaxi_pd.head(10)) |
このコードをPandas DataframeからPyspark frameworkまで変換するには、Databricksアシスタントに次のように聞きます。
1 2 3 4 5 6 7 |
convert this code to pyspark import pandas as pd nyctaxi_pd = nyctaxi.toPandas() nyctaxi_pd.sort_values('fare_amount', ascending=False, inplace=True) print(nyctaxi_pd.head(10)) |
Databricksアシスタントによって、上記のコードがpyspark を使用したコードに変換されて、同じ結果も返却されます。
1 2 3 4 |
from pyspark.sql.functions import desc nyctaxi_sorted = nyctaxi.sort(desc("fare_amount")).limit(10) nyctaxi_sorted.show() |
4-4.不具合の修正
Databricks は、Databricksでコード実行の不具合を修正するように使用されます。
コード実行時の不具合が発生する場合、Databricksアシスタントが動いているワークスペースにて「Diagnose error」ボタンがあります。
「Diagnose error」をクリックします。
Databricksアシスタントは、実行したコードのエラーを修正する為の新規コードを生成させます。
同時に、Databricksアシスタントもエラーの説明及び、修正方法を提供します。
5.AI チャットボットの機能
コード生成の以外、Databricks アシスタント が通常の AI チャットボットとしても使用されます。例は次の通りです。
- Googleについて質問できます。
- または、 Databricks について質問できます。
- また、PostgreSQL を Databricks に接続する方法など、特定のナレッジ ベースについても質問できます。
さまざまな分野の知識についてDatabricks アシスタント に聞くことができるため、Databricks の操作だけでなくデータ分析に必要な知識を効率よく学習することが出来ます。
6.まとめ
本連載では、
Databricksアシスタントの使用方法について詳細に説明していきます。
今回の記事が少しでもDatabricksを知るきっかけや、業務のご参考になれば幸いです。
日商エレクトロニクスでは、Azure Databricksの環境構築パッケージを用意しています。
Azure DatabricksやAzure活用、マイクロソフト製品の活用についてご相談事がありましたらぜひお問い合わせください!
・Azure Databricks連載シリーズはこちら
この記事を読んだ方へのオススメコンテンツはこちら
この記事を書いた人
- phongcq