Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

GCPアカウントなしでも使えるBigQueryの始め方

More than 1 year has passed since last update.

目次

  • BigQueryとは
  • 無料利用枠について
  • サンドボックスを使ってみる
  • コストを抑える工夫
  • まとめ
  • 参考文献、BigQuery関連資料

はじめに

BigQueryに興味があったものの、12ヶ月分の無料利用枠を開始するのが勿体なく手を出せずにいたところ、以下のニュースを見たのでやや遅ればせながらBigQueryを試しに触ってみたので自分用の備忘録としてまとめておきます。

クレジットカードは不要 : クエリを無料で試せる BigQuery サンドボックス

BigQuery サンドボックスは BigQuery を無料で試せるオプションです。
クエリ データ処理を毎月 1 TB まで、ストレージを同 10 GB まで無料で利用できます。すべてのテーブルとパーティションには 60 日間の有効期限があります。

BigQueryとは

BigQueryとはGoogleCloudPlatformが提供するデータウェアハウスのことで、SQLで操作が可能です。他サービスとの比較は特にしませんが、メリットと思われる部分をいくつか上げておきます。

  • 大容量のデータでも超高速な処理が可能
    • ギガバイト〜ペタバイト規模のデータを扱える
  • 容量制限がなく、容量に悩む心配がない
  • 料金が安い
    • ストレージの料金
      • アクティブストレージ(過去90日間で変更されたテーブルorパーティションに格納されたデータ)の料金 (2019/04/28現在)
        • 1ヶ月あたり$0.023/GB
        • 毎月10GBまで無料
      • 長期ストレージ(過去90日間で変更されなかったデータ)の料金
        • 1ヶ月あたり$0.010/GB
        • 毎月10GBまで無料
    • クエリの料金
      • 「オンデマンド料金」「定額料金」の2種類から選択可能。デフォルトではオンデマンド料金になっている
      • オンデマンド料金ではデータが保存された場所に関係なく、「処理されたバイト数」に基づいて請求される
        • 1ヶ月あたり$5.00/TB
      • テーブルの分割とクラスタ化により、クエリで処理されるデータ量を減らすことが可能なので、工夫次第で更に費用を抑えることができる
  • BigQueryMLを利用すれば機械学習モデル構築も可能

無料利用枠について

GCPには12ヶ月分の無料利用枠があります。また、それとは別に有効期限なしの無料利用枠があります。

  • 12ヶ月の無料利用枠
    • GCPアカウント登録から12ヶ月は300ドル分無料で使うことができる
    • ほぼすべてのGCPプロダクトが対象
  • 有効期限なしの無料利用枠(Always Free)
    • 特定のサービスについて一定の範囲内での利用が無料になるというもの
      • App Engine、Cloud Datastoreなど。BigQueryも含まれる
      • BigQueryの無料利用枠は、クエリデータ処理1TB/月、ストレージ10GB/月。(テーブルとパーティションには60日間の有効期限がある)

(参考)Google Cloud Platform の無料枠
(参考)よくある質問 Google Cloud Platformの無料利用枠
(参考)Always Free の使用制限

BigQueryサンドボックスを使ってみる

※ GCPアカウントは不要ですが、Googleアカウントは必要です
今回は集計そのものというより、BigQueryの使い方把握が目的なので、とりあえず一般公開データセットを使って色々試してみます。

  • STEP1:Google Cloud Consoleへアクセスし、ページ左のメニューから「BigQuery」をクリック。以下の画面になっていればOK。(※画像は新しいUIで、古いUIの場合もある) スクリーンショット 2019-04-28 17.51.37.png
  • STEP2:プロジェクトを選択
    • 画面上部の▼印をクリックし、BigQueryを使うプロジェクトを選択する。今回はBigQuery練習用にプロジェクトを新規作成して選択。
  • STEP3:一般公開データセットを調べる
    • 画面左端の「リソース」→「データを追加」→「一般公開データセットを調べる」からデータセットを調べることができる
    • ビットコイン取引のデータやシカゴのタクシーに関するデータなど、色々なデータセットが公開されている
    • 今回は気分でstackoverflowのデータを選択
  • STEP4:クエリ実行
    • 一般公開データについてはすぐに使用可能で、画面左端の検索窓から検索して、テーブル構造を確認することができる スクリーンショット 2019-04-28 18.08.51.png
    • SQLを記述すると、実行前でも右下にデータ処理量(緑色の文字)が表示されるので安心できる スクリーンショット 2019-04-28 18.15.20.png
    • クエリテキストの一部分のみの実行も可能
      • 下図のようにSQLの一部分を選択すると、「実行」ボタン右側の▼印がクリック可能になり、選択範囲のみを実行できるようになる スクリーンショット 2019-04-28 18.17.21.png

コストを抑える工夫

無料利用枠といえど、実務で使うことを想定して低コストなクエリを書けると嬉しいです。
BigQuery のおすすめの方法: 費用を抑えるに詳しく載っているようですが、2、3点抜粋しておきます。

  • プレビューのためのクエリ実行は避ける
    • プレビューが見たい場合は、ウェブUIから「テーブルの詳細」→「プレビュー」を選択すればOK
  • select * は避けてなるべくカラム選択する
  • limitを使っても費用削減効果はない

まとめ

公式ドキュメントの数が多く、GCP初心者としてはサンドボックスに辿り着くまでに少々時間を要しましたが、BigQueryを使いだすと公式ドキュメントが充実している点が逆にありがたいですね。会社ではAWS Athenaを導入しているのですが、普段Rばかり書いているのでプライベートで気軽にSQLを試す環境としても便利そうだと思いました。

参考文献、BigQuery関連資料

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away