Loading
BLOG 開発者ブログ

2019年12月9日

今から始める BigQuery (超入門編)

BigQuery ってよく聞くけど、実際はどうやって使うんだろう…?どんなことができるのだろう…?
使ってみたいけれど、何から始めたらいいのかわからない…

これまでずっとこんな悩みを持っていたぼくが、BigQuery に入門するにはどうしたらいいのか調べてみました。

この記事はアイソルート Advent Calendar 2019の9日目の記事です。

モバイルソリューショングループの arai.ya です。こんにちは。
これからあらゆるサービスで膨大な量のデータを集めるようになる時代が来るはず、よし、BigQuery だ!と思い立ち、BigQuery の勉強をはじめました。今回は超入門編として、BigQuery の特徴を調べながら、実際に基本的な操作をやってみたので、その内容をご紹介したいと思います。

初めて学ぶ BigQuery

BigQuery は、Google が提供するクラウドデータウェアハウスサービスで、次のような特徴を持っています。

サーバレスなデータウェアハウス
インフラの保守・運用は Google がやってくれるので、本来やりたいこと(データ収集、分析)に集中できます。

ペタバイト規模のデータに対しても高速に分析できる
Google の強力なインフラの自動スケーリングにより、大規模なデータセットから高速に分析結果を得ることができるので、ビッグデータの分析に適しています。

標準 SQLが使用できる
ANSI:2011 に準拠した標準の SQL を使用してデータ分析ができるため、既存のコードの再利用もしやすくなっています。

安価なデータストレージ
ストレージ使用料は Cloud Storage とだいたい同じくらいの安さで、大規模なデータセットを保存するのに最適です。また、1ヶ月あたり10 GBまでストレージ無料枠があります。

BigQuery の料金の詳細は、BigQuery の料金ページを確認してみてください。

様々な BI ツールのサポート
BigQuery では一般的な BI ツールがサポートされているので、誰でもかんたんにレポートやダッシュボードを作成することができます。
一例として、以下の記事では、Google Cloud のサービスとして提供されている、データポータルを使って、BigQuery のデータからダッシュボードを作成する方法が紹介されています。
GCP上のデータを可視化するには?データポータル(旧データスタジオ)で簡単レポート作成

またBigQuery に対しては、

  • ウェブ UI
  • bq コマンド
  • BigQuery REST API

からクエリを実行することができるので、目的に応じて最適な方法を選ぶことができるのもポイントです。

それではさっそく、実際に BigQuery でクエリを実行してみましょう!

初めてのクエリ実行

今回は、BigQuery にすでに用意されている、一般公開データセットに対して、ウェブ UI からクエリを実行してみましょう。
まず、BigQuery のウェブ UI を開きます。

このような画面が開きます。

一般公開データセットのひとつである、Stackoverflow データセットに対してクエリを実行してみようと思います!

クエリエディタに、以下のようなクエリを記述します。

記述したクエリを実行することで、どのくらいのデータ量が処理されるのかが表示されています。これが実行時の料金に関わるので、必ずチェックしましょう。
今回のクエリでは、1.2 GB のデータが処理されるようです。
なお、1ヶ月あたり1 TB までのデータ処理は無料です。

実行ボタンをクリックして、クエリを実行します。
Stackoverflow で一番閲覧回数が多い質問は一体何なのでしょうか…?

結果が出ました!

まず、今回のクエリの処理は、0.9秒かかったことが見てわかります。今回使用したデータセットの容量は28 GB程でしたが、テラバイト、ペタバイトだと一体どのくらいの時間で実行できるのか、気になります…また別の機会に調査してみようと思います。

そして、一番見られている質問は、「Git でローカルの直前のコミットをどうやって取り消すのか?」でした。確かに git を使い始めた頃は必ずと言っていいほど調べますね…!

このように、わかりやすいウェブ UI から、使い慣れた SQL を使用して、かんたんにデータセットに対してクエリを実行することができました。

まとめ

今回は、BigQuery の代表的な特徴やメリットをまとめ、それから実際にウェブ UI からかんたんなクエリを実行してみました。
標準的な SQL を知っていれば、非常にかんたんにデータセットを分析できることがわかりました。1 TBまでのデータ処理は無料ということなので、次はより複雑なクエリを実行したり、より大容量のデータセットに対してクエリを実行したりも試してみたいと思います。

本記事が、BigQuery を初めてつかってみようと考えている方の助けになれば幸いです 🙂

明日は、fujishima.y さんの「次世代のCPE!uCPEのご紹介」です!