- いまさらITを学ぶなんてもう遅いかなと思っているものの、Googleのクラウドサービスが気になっている方
- クラウドサービスは課金が気になり、ちょっとだけ試してみるのもためらっている方。
- データベースは環境構築も含め学習コストが高そうと敬遠してきた方。
この記事ではGoogleが提供しているBigQueryがスプレッドシートやLooker Studioといったサービスとの連携も簡単にでき、大規模データを扱わない限りは無料で案外簡単に使えるサービスであることを紹介する記事です。
のびノーリ
筆者もコロナ禍をきっかけに50歳からITを学び始めました。
その結果、以下の項目を達成しています!
- ブログを立ち上げて、生成AIツールなども活用し収益化達成
- 統計検定2級
- Python3エンジニア認定データ分析試験などの資格も取得
今回の記事ではBigQueryの使い方や、スプレッドシートやLooker Studioと連携するまでを簡単なデモを交えてご紹介します。
BigQueryとは
BigQueryとは、Googleが提供するクラウドベースのデータウェアハウスで、大量のデータを高速かつ効率的に格納し、分析することができます。
BigQueryは、ビッグデータの解析や機械学習にも利用されることがあり、幅広い用途で活用されています。
一方で使用するための面倒な環境構築が不要で、簡単にSQLクエリを実行することができるため、初学者でも扱いやすい特徴があります.
データウェアハウスについて
データウェアハウスは、企業が蓄積した様々なデータを一元管理するためのシステムです。
データウェアハウスでは、異なるデータソースから取得したデータを統合し、変換して統一された形式で保存します。
従ってBigQueryなどのデータウェアハウスは大量のデータを処理する際に非常に有効なツールであり、企業の意思決定のために重要な役割を果たしています。
BigQueryの利用料金について
BigQueryはストレージにかかる料金と分析にかかる料金の2系統に分かれて課金料金の設定も変わります。
ただ、それぞれについて無料枠があり、ストレージについては毎月10GB、分析については1TBまでになります。
細かい料金設定の話もありますが、大規模なデータを頻繁に分析をかけたり、大規模なデータを保存するといった様な使い方をしない限り、無料枠内で使用できることになります。
Googleクラウドサービスとの連携
個人でも企業でもGmailを使ったことがない方やブラウザからググったことがない人の方が圧倒的に少ないと言えるほど、日常に浸透していますよね。
クラウドサービスが浸透する前はPCにいろんな有償ソフトをインストールして使用することが当たり前でした。
今ではPCにインストールせずに無料で使える高機能なクラウドサービスが簡単に連携して使え、そのサービスの一つがBigQueryになります。
のびノーリ
この記事ではChatGPTで擬似データを作成 → スプレッドシートでBigQueryにインポート → SQLクエリでデータを加工 → Looker Studioにエクスポートのデモをご紹介します。
BigQueryでSQLクエリを試す前に必要なこと
実はスプレッドシートとChatGPTをAPIで接続してスプレッドシート内でデータを生成できるのですが、その方法では課金される可能性があるため、この記事で使用する疑似データはChatGPT3.5を単独で使用して生成されるデータを使って進めていきます。
オープンデータもあり、それらを使ってデモすることもできますが、できるだけシンプルな疑似データを生成AIで準備してクラウドサービスの秀逸さを体感していただけたらと思います。
ChatGPTによる疑似データ生成
まず、ChatGPT3.5にデモで使用する擬似データを生成してもらうプロンプトを入力します。
プロンプトはググって見つけた上手くいきそうなプロンプトを少々アレンジしてあらかじめ用意しました。
そうすると下の画像の通り、擬似データを生成してくれました。
スプレッドシートでのデータ調整
出力されたCSV データをコピーして直接スプレッドシートにペーストします。
そうすると一つのセルにカンマ区切りの三つの情報が入っている状態なので、SPLIT関数を使って各セルに展開します。
上の画像においてスプレッドシートのA列が不要なので、B列〜D列をコピー、セルの値のみをペーストすることで準備完了となります。
A列を削除にしてしまうと参照元がなくなり、エラーになるので注意が必要です。
こちらのスプレッドシートをBigQueryへインポートします。
実践 BigQueryを使ってみる
そもそもBigQueryを試す前の前提として、Googleアカウントを持っていることが必須条件になります。
筆者は既にクレジットカード登録をしてBigQueryを使用していますが、そのクレジットカードの登録が必要ないサンドボックスも使えます。
のびノーリ
試しに使ってみる、ちょっと練習するといった程度であればどちらも無料で使えるとの認識で大丈夫だと思います。
BigQueryへのデータインポート
先ず、BigQueryの使用する前にデータを準備しましたが、そのデータを使ってSQLクエリを走らせる前に押さえておくべき、 BigQueryのサービス構造があります。
この記事では筆者がプロジェクトを既に作成しておりますので、データセットを作成するとこから解説していきます。
プロジェクトを作成すること自体もそんなに難しい話ではありませんので、ネット上の該当記事を参照されて下さい。
データセットの作成
作成されたプロジェクトを選択して、データセットを作成していきます。
任意の名前(test1)を入力して、デフォルト設定のままデータセットを作成します。
すると管理画面でのプロジェクト名の下に作成したデータセット名(test1)が表示されます.
続いてテーブルを作成していきます。
次にソース下のテーブル作成元欄右にあるトグルを押下してスプレッドシートを保存しているドライブを選択します。
テーブル作成元の下の欄にドライブのURLを入力します。
ファイル形式にはスプレッドシートを選択します。
シート範囲とかも指定できますが、今回のデモでは次の設定はスルーします。
次に送信先の設定に移ります。
自動で作成済みのプロジェクト及びデータセットは入力されていますので、テーブル欄に任意のテーブル名を入力します。
最後にスキーマを設定します。
今回のデモはスキーマを手動で設定しますが、自動検出を使って作成することもできます。
自動で検出する場合はデータの型が合っていないこともありますので、学習が進めば自動検出を使用するようにしたら更に効率が上がります。
スキーマを手動で入力しますが、データベースを構築する際に作成するER図の理解があると、何をどうやって作成していくのか理解が早いと思います。
列の名前とデータの型を設定していきますが、データの型についても別途学習が必要で、ここでの細かい解説は割愛します。
テーブルが作成されると下の画像のように作成したテーブル:prefecture-demoがデータセット:test1の下に表示されます。
そのprefecture-demoをクリックすると右のようにテーブルのスキーマが表示されます。
これでようやくSQLクエリを走らせてデータを扱う準備が整いました。
SQLクエリを走らせてみる
先ずはクエリを走らせるためのタブを開きます。
開いたタブには自動でSELECT文の一部が出力されていますので、先ずは一番基本的な操作となる全データを取得してみます。
クエリを走らせるために、実行ボタンをクリックします。
実行結果は下の画像のようになります。
実行結果をLooker Studioへの出力
このデータはBigQureyにて更に加工したり、調査することは当然できるのですが、基本的に BigQueryは表データになるので、取得したデータが複雑だったり、時系列のデータだったりすると一目見て分からなかったりします。
そこでGoogleが提供していて、基本無料で使えるBIツールのLooker Studioを使ってデータの可視化すると一目瞭然になり、しかもデータ自体の更新も自動で反映されたりします。
そのLooker Studioの連携もあっという間にできてしまうことをご紹介します。
上の画像を見ていただけますと、一目瞭然ですがデータ探索のトグルを押下して「Looker Studioで調べる」という選択肢を押すだけです。
押すとLooker Studio Reportingの画面に自動的に遷移し、何もせずとも表とグラフが作成されています。
Looker Studioの操作についてはこの記事では触れませんが、学習コストは BigQuery程には高くはないと思います。
のびノーリ
案外簡単に連携できることが分かりますね!
GA4とBig Query及びBig QueryとLooker Stuidoとの連携についてまとめた記事も参考にされて下さい!
まとめ
少し長い記事になりましたが、今一度この記事でご紹介したBigQueryをはじめとしたGoogleのクラウドサービスについて整理します。
- Googleアカウントを持つことで、スプレッドシート、 BigQuery、Looker Studioなどのクラウドサービスを大規模なデータ扱わない限り、無料で案外簡単に連携させて使うことができる。
- BigQueryはデータベースの知識が必要となるものの、面倒な環境構築をする必要がなくSQLクエリを走らせてデータ解析ができる。
- クラウドサービスを使いこなすことができれば、仕事の生産性が上がるだけではなく、視界が広がることで仕事のクオリティもシナジー効果で上がることが期待できる。
ただ、クラウドサービスを使いこなるためにも、日々のWebスキルの学習は不可欠です!
↓筆者が学んだ学習環境についてまとめた記事もご覧下さい。
最後まで記事を読んでいただき、ありがとうございました。
また次の記事でお会いしましょう。