SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2025 セッションレポート(AD)

生成AIモデルGeminiとBigQueryで実現! データ分析の効率と効果を飛躍的に向上させる方法

【13-B-3】Gemini in BigQueryが導く、データ分析の次のステップ:rawデータからインサイト獲得までのAI活用法

  • X ポスト
  • このエントリーをはてなブックマークに追加

生成AIで正しいSQLを効率的に書くには

 山田氏はデータ分析を大きく4つのフェーズに分け、各フェーズで役立つ機能を紹介した。

 第1のフェーズは「データ発見・準備」。BigQuery上でGeminiを使うと、さまざまなデータのアセットに対してセマンティック検索(自然文での検索)ができるようになる。SQLを書く人にとってはあまり有用な機能ではないと思うかもしれないが、「そうではない」と山田氏。例えば「以前にSQLで分析したテーブルの名前が思い出せない」という経験をしたことのある人は多いのではないだろうか。山田氏も「何度も経験した」と言う。そんなときに便利に使えるのがセマンティック検索である。「キーワード検索で見つからなかったものがひっかかってくる」(山田氏)

 次に、BigQueryのGUI上でデータの前処理が簡単に行える機能「Data Preparation」。日付のフォーマットがバラバラ、都道府県名のところに市まで入っている、データが抜けている、大文字小文字が混在している……。このようなデータはそのまま分析することができないので、データエンジニアが前処理をする必要がある。だがData Preparationを使えば、BigQueryのGUI上にある「データの準備」とボタンを押すだけで、誰でも簡単に前処理ができるようになる。

 どれだけ簡単にできるのか、山田氏はデモを実施。形式が不揃いな日付が入ったカラムを選択すると、Geminiが修正案を提示し、その案を適用すると、GUI上でフォーマットが全て修正された状態で見られるようになるのだ。日付だけではない。都道府県名のカラムに市まで入っている場合は、1行だけ正しい値に修正すれば、Geminiが他の行も確認し、他に市まで入っているデータも「削った方がいいのでは」という提案をしてくれたり、データが入っていない行があればその行を削除したり、ドルマークなどの通貨記号が入っている場合は数字として扱えるように直してくれるという。

 データが来るたびに毎回、前処理をするのは手間がかかる。組み立てた変換処理を保存すれば再実行や定期実行も可能になる。

 第2のフェーズは「データの加工・分析」。「自然言語でSQLを作ることができる」と山田氏は説明を続ける。BigQuery上でSQLを生成する方法は複数ある。コーディングサポートツールを使う方法もあれば、SQLエディタ内に記載したコメントからSQLを生成する方法や、SQLエディタで入力中にGeminiが続きを自動補完する方法もある。中でも山田氏が推奨するのはコメントで生成する方法だ。「ゼロから生成するよりもある程度、生成AIにテンプレートを作ってもらって編集する方が早い。また何がしたかったのか、コメントとして残るので、他の人にもわかりやすい」(山田氏)

 このようにGeminiを使うと、SQLを高速かつ正確に書けるようになるという。

SQLの生成・補完/いろいろな呼び出し方
SQLの生成・補完/いろいろな呼び出し方

 山田氏は、Geminiでより良いSQLを生成するコツも紹介。それには「メタデータを拡充すること」が重要だという。生成AIはテーブル名や列名、そこに書いてある説明(description)を見てSQLを生成するからだ。descriptionの整備は、生成AIのためだけではない。人間にとっても作業効率向上につながるという。

 さらに、分析対象テーブルがあらかじめ分かっている場合は、明示的にテーブル名をプロンプトに含めることも効果的だ。その他、一般的なプロンプトチューニングのテクニックも有用だという。

 実際、メタデータを拡充するとSQLがどう変わるのかデモを実施。descriptionがきちんと書かれていると、生成AIはそれを見て正しいSQLを作成することが証明された。「ハルシネーションを起こさないためにも、メタデータを埋めてほしい」(山田氏)

 山田氏が続いて紹介したのが、「Data Insights」。「データ分析のコールドスタート問題を解決するための機能」と説明する。

 データ分析のコールドスタート問題とは、テーブルを初めて渡された人は、その中身が分からないので、すぐにSQLを作成することができない。Data Insightsはテーブルに対して、生成AIがサンプルのSQLを提案してくれる。「テーブルに対して『こういう分析をするのならこういうSQLがある』というテンプレートを20種ほど自動的に生成してくれる。自分がやりたい分析に合ったSQLをテンプレートから選んで、そのまま使ってもいいし、少し変えたいところがあればカスタマイズして使うこともできる」(山田氏)

 データ分析のための機能は他にもある。「お気に入りの機能の一つ」と山田氏が前置きし、紹介したのが「Data Canvas」。データ分析の際、最初にテーブルを検索し、それに対してSQLを作成して実行、最後に可視化するというステップを踏む。この3つのステップをすべて自然言語で出来るようにしたのが、Data Canvasである。実際にBigQueryのUI上でData Canvasを作成、クエリを実行し、最後にグラフ化する様子をデモで見せた。

 「Data Canvasは複数のテーブルをジョインさせたり、SQLの結果に対してさらに分析したりというような深掘りもできます」(山田氏)

 例えばSQLを何度か叩く複雑なデータ分析をしても、その変遷を1枚のキャンバスに残し、保存できる。それを共有すれば、ナレッジシェアとして使うこともできる。

次のページ
生成AIでデータの解釈やレポーティングも容易に

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2025 セッションレポート連載記事一覧

もっと読む

この記事の著者

中村 仁美(ナカムラ ヒトミ)

 大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

川又 眞(カワマタ シン)

インタビュー、ポートレート、商品撮影写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:グーグル・クラウド・ジャパン合同会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21074 2025/03/27 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング