データ分析に関してこれからキャッチアップしようと思っている方に、まず触れるのをおすすめしているのが Google BigQuery(BQ) です。
こちらの記事では、
初心者
- SQLとかBigQueryとか聞いたことがない。
- データ分析と言うと最近BigQueryを使っている人が多いので理解したいがはじめ方がわからない。
- クエリのたびに課金されるから高そう。
という興味や疑問を持たれているデータ分析初心者向けに、BigQueryについての基礎や、できることを解説していきます。最後に簡単なサンプルをつけているので、どなたでもBigQueryお最初の一歩を踏み出せる構成になっています。
Excelでは処理できないビッグデータでも、BigQueryであれば安価に、数秒で集計できるため、データ分析関連の仕事をする方の多くが使用しているツールになります。是非こちらの記事でキャッチアップしていきましょう!
BigQueryとは
BigQueryはGoogleが提供しているビッグデータ処理サービスです。BigQueryではSQLを用いることで、
- 大量のデータ(ビッグデータ)を
- 安価(大規模なWebサービスでも1ヶ月数百円程度)に
- 超高速(集計時間数秒)で
処理することが可能です。クラウド型のサービスなのでGoogleアカウントさえ持っていれば特別なソフトをインストールする必要はなく、どの端末からも同じ環境で使用することができます。
BigQueryでできること
ログ集計・解析
Webメディアやソーシャルゲーム、各種IT関連のサービスなどを運営している場合、巨大なログデータ(ビッグデータ)が存在しています。このようなサービスを運営しているのは、ひと昔前は一部のインターネット関連のベンチャー企業に限られていましたが、今ではほとんどの会社がこのようなサービスを運営しているのではないでしょうか。
一見、多くのユーザーが使用していないように見える場合でも、ユーザーの挙動のたびに蓄積されるアクションログやアプリケーションログなどであればかなりの行数になるケースがあります。
BigQueryはこのような巨大なログデータをSQLを用いて、必要な列と行のみ抽出し、確認したい統計データに加工して、集計や解析をすることで、サービスの改善につなげることができます。
データの蓄積
BigQueryはデータウェアハウスの性質を持っています。
サービスのログデータ蓄積の場所として指定することで、ビッグデータの蓄積ができます。蓄積のためのログの実装要件作成はデータアナリスト、実装はサービス開発のエンジニアや専任のデータエンジニアが担うことが多いです。
BIツールと連携したレポーティング
BIツールとのつなぎ込みにより、効率的なレポーティングが可能です。
BIは Business Intelligence の略で、BIツールは加工されたサービスデータや経営データをレポート形式で共有することが可能です。代表的なBIツールは無料でも利用できる Redash や、有料で機能リッチな Tableau などがあります。
データサイエンス(機械学習・統計モデリング)
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公式の Cloud Console を使用したクイックスタート を参照して Google Cloud Console(GCP)プロジェクトの設定をします。
- Google アカウントを持っていない場合は作成し、ログインします。
- こちらのページにアクセスして、Google Cloud プロジェクトを選択、もしくは作成します。
- こちらのページにアクセスして、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であれば一瞬で集計可能です。
まとめ
こちらの記事では、
- BigQueryの基礎
- BigQueryでできること
- BigQueryを実行するまで
について解説しました!
こちらの記事を元に、是非、ご自身で担当されているサービスでBigQueryをトライしてみてください。
コメント