目次
1.はじめに
皆さんこんにちは。
今回はGenie Codeについて紹介します。
Genie Codeは、Databricks でのコードとデータ処理をサポートするために作成されました。これにより、ユーザーは高速かつ正確にコードを作成できるようになり、作業効率が向上します。
AI サポートをワークスペースに導入することで、他のソース (Google、StackOverflow、Databricks ドキュメントなど) での Databricks 機能の調査時間を最小限できるようになります。
Genie Codeがユーザーの特定質問に具体的に回答することで、質問と回答の不一致を最小限できるようになります。
Genie Codeを使うことで、ユーザがDatabricks を操作しやすくなります。
また、コーディングやデータ分析に関する知識がないユーザーでもデータ分析を実施することができます。
今回は、そんなGenie Codeの使用方法について説明していきます。
2.前提要件
実施する際の前提条件は
・ユーザーは Azure Databrick ワークスペースにアクセスできる必要があること。
・Genie Codeを有効化するため、1つのグローバル管理者のアカウントが必要であること。
・Genie Codeが有効になると、ワークスペース内のすべてのユーザーがこの機能を使用できるようになること。
・ユーザーは、新規ノートブックの作成方法及び、ノートブックの基本操作を知っておく必要があること。
3.Genie Codeを有効化
① Databricks ワークスペースにログインします。
② 右上のワークスペースを選択し、「Manage Account」をクリックします。

③ アカウントコンソールが表示されます。
④「設定」を選択します。

⑤「機能の有効化」タブで「パートナーのAIアシスタント機能を有効化」の「を強制する」を有効にします。
Genie Codeの有効化が完了しました。ワークスペース内の全てのメンバーは、Genie Codeを使用できるようになります。

Genie Codeが有効になっていることを確認し、その機能を使用するには、次のように実行します。
- 任意のノートブックを作成します。
- 作成したノートブックを開くと、Genie Codeのアイコンが表示されます。
- そのアイコンをクリックすると、アシスタント ウィンドウ 及び チャット欄が表じされます。Genie Codeを使用できます。
4.Genie Codeの機能
Genie Codeの主な機能は、以下の通りです。
- 適切なコードを作成
- コード補完
- Databricks で対応しているFramework、及び言語の間で変換
- 不具合の修正(一部の単純な構文エラーまたはタイプエラーに限定される)
また、Genie Codeは、通常の AI チャットボットと同じように全ての機能があり、コード以外の質問にも回答できます。
4-1.適切なコードを作成する
Genie Codeは、特定の要件と 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 テーブルに保存します。
- Genie Codeを使用して、次のように質問することで df_ yellow_trip を保存するためのコードを生成します。
|
1 |
save the first 1000 rows of df_yellow_trip to a delta table |
- Genie Codeによってコード 及び 説明が生成されます。

- Deltaテーブルを作成した後、Genie Codeを使用して作成したDeltaテーブルを次の通りにロードします。
|
1 |
load delta table from delta table to a DataFrame called nyctaxi |
- Genie Codeによる作成されたコードを実行した後、NYCTaxiのデータが正常に作成されました。

Genie Codeを使用してデータ調査用のコードを作成できます。例は以下の通りです。
- 最も遠い距離移動があるの5つの乗車を確認するには、次のように聞きます。
|
1 |
show the 5 furthest trip distance from delta table in SQL |
- 上記の質問の内容に一致するためのSQLコードが生成されます。

- Spark Dataframeに対して、上記の同じ質問を聞きたい場合、次の通りで実施します。
|
1 |
show the 5 furthest trip distance from nyctaxi |
- NYCTaxiはSpark DataFrameであるため、更なる指示せずに、Genie CodeによってSpark DataFrameに一致するコードが生成されます。
- コード実行後の結果は、上記の質問に一致します。
4-2.コード補完
Databricksアシスタン が、コード エディターの指示 (コメント) に基づいてコードを完成させるように使用されます。
使用方法は次の通りです。
- 「Ctrl + I」(Windows) または「Cmd + I」(Mac) のキーを押す。
- 最も遠い距離移動があるの5つの乗車を表示する指示など、コメントを入力する。
|
1 |
write code to show top 5 highest trip distance from existing nyctaxi spark dataframe |

- Genie上でプロンプトを入力した後、「1件の保留中の変更」のようなボックスが表示される。
- 「承認」を押す。
- そのコードの色が変わり、使用できるようになる。
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まで変換するには、Genie Codeに次のように聞きます。
|
1 |
convert this code to pyspark |
Genie Codeによって、上記のコードがpyspark を使用したコードに変換されて。
新しいコードを実行すると、結果はPandas Dataframeを使用した場合と同様に表示されます。
4-4.不具合の修正
Databricksは、Databricksでコード実行の不具合を修正するように使用されます。
コード実行時の不具合が発生する場合、Genie Codeが動いているワークスペースにて「診断エラー」ボタンがあります。
- 「診断エラー」をクリックする。

- Genie Codeは、実行したコードのエラーを修正する為の新規コードを生成させる。
- 同時に、Genie Codeもエラーの説明及び、修正方法を提供する。
- 「許可」をクリックし、そのあと引き続き「承認」をクリックする。
- 修正したコードを実行すると、結果は下部に正しく表示される。
5.AI チャットボットの機能
コード生成の以外、Genie Codeが通常の AI チャットボットとしても使用されます。例は次の通りです。
- Googleについて質問できます。
- または、 Databricks について質問できます。

- また、PostgreSQLをDatabricksに接続する方法など、特定のナレッジ ベースについても質問できます。
さまざまな分野の知識についてDatabricksアシスタント に聞くことができるため、Databricksの操作だけでなくデータ分析に必要な知識を効率よく学習することが出来ます。
6.まとめ
本連載では、
Genie Codeの使用方法について詳細に説明していきます。
今回の記事が少しでもDatabricksを知るきっかけや、業務のご参考になれば幸いです。
双日テックイノベーションでは、Azure Databricksの環境構築パッケージを用意しています。
Azure DatabricksやAzure活用、マイクロソフト製品の活用についてご相談事がありましたらぜひお問い合わせください!
・Azure Databricks連載シリーズはこちら
この記事を読んだ方へのオススメコンテンツはこちら
この記事を書いた人
- phongcq






