【入門】BigQueryでできること(概要からクエリ実行まで解説)

BigQuery

データ分析に関してこれからキャッチアップしようと思っている方に、まず触れるのをおすすめしているのが Google BigQuery(BQ) です。

こちらの記事では、

データ分析<br>初心者
データ分析
初心者
  • SQLとかBigQueryとか聞いたことがない。
  • データ分析と言うと最近BigQueryを使っている人が多いので理解したいがはじめ方がわからない。
  • クエリのたびに課金されるから高そう。

という興味や疑問を持たれているデータ分析初心者向けに、BigQueryについての基礎や、できることを解説していきます。最後に簡単なサンプルをつけているので、どなたでもBigQueryお最初の一歩を踏み出せる構成になっています。

Excelでは処理できないビッグデータでも、BigQueryであれば安価に、数秒で集計できるため、データ分析関連の仕事をする方の多くが使用しているツールになります。是非こちらの記事でキャッチアップしていきましょう!

BigQueryとは

BigQueryはGoogleが提供しているビッグデータ処理サービスです。BigQueryではSQLを用いることで、

  • 大量のデータ(ビッグデータ)を
  • 安価(大規模なWebサービスでも1ヶ月数百円程度)に
  • 超高速(集計時間数秒)で

処理することが可能です。クラウド型のサービスなのでGoogleアカウントさえ持っていれば特別なソフトをインストールする必要はなく、どの端末からも同じ環境で使用することができます。

SQL(Structured Query Language)はデータベース言語で、MySQLなどのRDBMSを処理する際に使用します。BigQueryはSQLを動かすサービスという位置づけです。SQLはデータ分析をする上で必須に近いスキルになります。

BigQueryでできること

ログ集計・解析

Webメディアやソーシャルゲーム、各種IT関連のサービスなどを運営している場合、巨大なログデータ(ビッグデータ)が存在しています。このようなサービスを運営しているのは、ひと昔前は一部のインターネット関連のベンチャー企業に限られていましたが、今ではほとんどの会社がこのようなサービスを運営しているのではないでしょうか

一見、多くのユーザーが使用していないように見える場合でも、ユーザーの挙動のたびに蓄積されるアクションログやアプリケーションログなどであればかなりの行数になるケースがあります。

BigQueryはこのような巨大なログデータをSQLを用いて、必要な列と行のみ抽出し、確認したい統計データに加工して、集計や解析をすることで、サービスの改善につなげることができます

データの蓄積

BigQueryはデータウェアハウスの性質を持っています。

データウェアハウスとは、直訳すれば「データの倉庫」である。利用者により定義範囲は異なるが、一般に時系列に整理された大量の統合業務データ、もしくはその管理システムを指す。

出典:Wikipedia( データウェアハウス

サービスのログデータ蓄積の場所として指定することで、ビッグデータの蓄積ができます。蓄積のためのログの実装要件作成はデータアナリスト、実装はサービス開発のエンジニアや専任のデータエンジニアが担うことが多いです。

BIツールと連携したレポーティング

BIツールとのつなぎ込みにより、効率的なレポーティングが可能です。

BIは Business Intelligence の略で、BIツールは加工されたサービスデータや経営データをレポート形式で共有することが可能です。代表的なBIツールは無料でも利用できる Redash や、有料で機能リッチな Tableau などがあります。

What is Tableau? | A Tableau Overview

出典:Tableau Software

データサイエンス(機械学習・統計モデリング)

BigQuery ML を用いることで、BigQuery上でSQLを実行することで機械学習モデルを作成、実行できます。習得難易度が一定あるPythonは使えないデータアナリストやビジネス職の方でも、SQLでデータサイエンスの業務を行うことができます

BigQueryのデータ分析職種ごとの用途

データアナリスト

個人的な経験では最もBigQueryを使用する職種になります。BigQueryの環境が整っている会社であれば8~9割程度はBigQueryで業務を行う印象です。

主な用途は以下になります。

  • 基本的な集計や解析
  • レポーティングの際の元データ

データサイエンティスト

主な業務はPythonで行いますが、データがBigQueryに格納されている場合は抽出と、前処理をBigQuery上で行います。

BigQueryのコスト・費用

BigQueryの料金は以下の通りです。クエリ実行は毎月1TBまでは無料、それを超える分は1TBにつき600円程度と非常に安価になっています。個人で利用する分には躊躇しますが、法人として利用する場合は(サービスの実装環境にも依存しますが)ほぼ BigQuery が最初の選択肢になるのではないでしょうか。

オペレーション料金詳細
クエリ(オンデマンド)$6.00 per TB毎月 1 TB まで無料。
アクティブ ストレージ$0.023 per GB毎月 10 GB まで無料。
長期保存 ストレージ$0.016 per GB毎月 10 GB まで無料。
ストリーミング挿入$0.012 per 200 MB挿入に成功した行が課金対象になります。最小サイズは 1 KB で、各行が計算されます。

出典:BigQueryの料金(Google)

BigQueryの初期設定

Google公式の Cloud Console を使用したクイックスタート を参照して Google Cloud Console(GCP)プロジェクトの設定をします。

  1. Google アカウントを持っていない場合は作成し、ログインします。
  2. こちらのページにアクセスして、Google Cloud プロジェクトを選択、もしくは作成します。
  3. こちらのページにアクセスして、BigQuery APIを有効にします。新しいプロジェクトでは自動的に有効になるため操作不要です。

BigQueryでSQLクエリを実行してみる

Webコンソールにアクセスする

こちらのURLから一般公開のデータセットが表示されたWebコンソールににアクセスします。一般公開データは誰でもアクセス可能で、実行しても料金がかからないものになっています。

アクセスするとこちらの画面が表示されます(一部黒塗りにしています)。2020年12月に新UIに変更になりました。

真中付近に表示されている bigquery-public-data がプロジェクト名、austin_311 の列の情報がデータセット名、 311_service_requests がテーブル名です。

右上の「クエリを新規作成」をクリックしましょう。

「エディタ」のタブが立ち上がります。

ここに以下のサンプルクエリを貼り付けます。おそらくアメリカの名前別、性別ごとの人工を集計するためのSQLです。

SELECT
  name, gender,
  SUM(number) AS total
FROM
  `bigquery-public-data.usa_names.usa_1910_2013`
GROUP BY
  name, gender
ORDER BY
  total DESC
LIMIT
  10

このクエリを実行すると、99.9MiBが処理されます。

という表示がされますが、これが実際にクエリを実行する際にオンデマンドで課金される料金で使われるボリュームになります。実際にクエリを実行する際は必ずここで高額になりすぎないように確認してから実行しましょう。

※ 今回は一般公開データなので課金はされません

「実行」が選択可能になっているので選択します。

集計結果が表示されます。経過時間に記載されていますが0.1秒で集計されたことになります。

こちらで使用したデータをみると5,552,452レコードあるので、Excelだとここまで瞬時に集計するのは難しいですが、BigQueryであれば一瞬で集計可能です。

このように集計したデータをExcelやスプレッドシートに貼り付けて可視化したり、BIツールとつないでレポーティングしたり、機械学習にかけたりする、などがデータ分析ではよく用いられます。

まとめ

こちらの記事では、

  • BigQueryの基礎
  • BigQueryでできること
  • BigQueryを実行するまで

について解説しました!

こちらの記事を元に、是非、ご自身で担当されているサービスでBigQueryをトライしてみてください。

コメント

タイトルとURLをコピーしました