BigQueryとは、Googleが提供するフルマネージドのクラウドデータウェアハウスサービスです。大量のデータを高速に分析できることが特徴で、サーバーの管理やインフラの構築が不要なため、データ分析に集中できます。
本連載では、BigQueryの基本操作から応用機能まで、実際に手を動かしながら学んでいきます。第1回では、プロジェクトの作成からクエリ実行までの基本操作を紹介します。
はじめに
データ分析基盤としてBigQueryがよく使われていることを知り、基本的な使い方を学ぶために実際に触ってみることにしました。
本記事では、BigQueryの基本的な操作と特徴についてまとめました。
BigQueryの特徴
BigQueryについて、公式は以下のように説明しています。
BigQuery は、Google Cloud のフルマネージド、ペタバイト規模の分析データ ウェアハウスです。SQL クエリを使用して大量のデータをリアルタイムで分析できます。
引用: [BigQuery とは | Google Cloud]cloud.google.com
主な特徴は以下の通りです。
サーバーレスで管理不要
従来のデータベースのように、サーバーの構築や管理が不要です。
インフラの運用をGoogleに任せることができるため、データ分析業務に専念できます。
高速なクエリ処理
BigQueryは列指向ストレージを採用しており、必要な列のデータだけを読み込むことで高速な処理を実現しています。
数TB規模のデータでも数秒で集計結果を得られることが特徴です。
従量課金制
使った分だけ料金が発生する仕組みです。
具体的には、クエリでスキャンしたデータ量とストレージの使用量に応じて課金されます。
Google Cloudとの親和性
Google Cloud StorageやGoogle Apps Scriptなど、他のGoogle Cloudサービスとシームレスに連携できます。
前提条件
BigQueryを利用するには、Google Cloudアカウントが必要です。以下の準備を行ってください。
Google Cloudアカウントの作成
Google Cloudを初めて利用する場合は、Googleアカウントでログインし、Google Cloudアカウントを作成します。
Google Cloudプロジェクトの作成
BigQueryを利用するには、Google Cloudプロジェクトを作成する必要があります。
- Google Cloud Console (https://console.cloud.google.com/) にアクセス
- 画面上部の「プロジェクトを選択」をクリック
- 表示されたダイアログで「新しいプロジェクト」をクリック
- プロジェクト名を入力して「作成」をクリック
プロジェクトでは、APIの管理、課金の有効化、共同編集者の追加などを行います。
BigQuery APIについて
新しいプロジェクトでは、BigQuery APIは自動的に有効になります。
新しいプロジェクトでは BigQuery API が自動的に有効になります。
引用:[BigQuery - Google Cloud Platform Console ヘルプ] support.google.com
既存のプロジェクトで初めてBigQueryを使う場合は、手動でAPIを有効化する必要がありますが、本記事では新しいプロジェクトを作成する前提で進めるため、API有効化の手順は不要です。
課金の有効化
BigQueryを利用するには、課金を有効化する必要があります。
Google Cloudでは、初回登録時に90日間有効の$300分の無料クレジットが提供されます。クレジットカード情報の登録が必要ですが、無料期間中は自動的に課金されることはありません。
また、BigQueryには無料枠があり、毎月1TBまでのクエリ処理と10GBまでのストレージが無料で利用できます。本記事の内容であれば、無料枠内で十分実践できます。
BigQueryコンソールへのアクセス
Google Cloud Consoleにログインした状態で、以下のURLにアクセスします。
初回アクセス時は、BigQueryの利用規約への同意が求められる場合があります。
実践編
それでは実際にBigQueryを操作していきます。
プロジェクトとデータセットの作成
BigQueryでは、テーブルを格納するための「データセット」というコンテナを作成する必要があります。
Google Cloud ConsoleからBigQueryのページを開きます。

左側のナビゲーションからプロジェクトを選択し、「データセットを作成」をクリックします。

データセットの作成画面では、以下の項目を設定します。
- データセットID: 任意の名前(例: test_dataset)
- ロケーション: データの保存場所(例: asia-northeast1(東京))

設定を確認して「データセットを作成」をクリックすると、データセットが作成されます。

ネイティブテーブルの作成
ネイティブテーブルは、データをBigQueryのストレージに保存するテーブルです。
今回は、テスト用に作成した架空のECサイト売上データ(注文日、商品名、カテゴリ、数量、単価、金額を含む約100行のCSVファイル)を使用します。
作成したデータセット(test_dataset)を選択し、データセット名の右側にある「︙」(縦3点)をクリックして「テーブルを作成」を選択します。

テーブル作成画面で以下を設定します。
- テーブルの作成元: アップロード
- ファイルを選択: 手元のCSVファイルを選択
- ファイル形式: CSV
- テーブル名: 任意の名前(例: sales_data)
- スキーマ: 自動検出

さらに「詳細オプション」を展開し、「スキップするヘッダー行」に1を設定します。これは、CSVファイルの1行目がカラム名(ヘッダー)のため、データとして読み込まないようにする設定です。

設定後「テーブルを作成」をクリックすると、データがBigQueryにインポートされます。スキーマの自動検出により、各カラムのデータ型、フィールド名が自動的に認識されます。

クエリの実行
作成したテーブルに対してクエリを実行してみます。画面上部の「クエリを新規作成」をクリックします。

まずは基本的なSELECT文を実行してみます。
SELECT * FROM `プロジェクトID.test_dataset.sales_data` LIMIT 10

クエリを実行すると、10件のデータが正常に取得できました。

次に、WHERE句やGROUP BY句を使った集計クエリを試します。
SELECT product_name, SUM(quantity) as total_quantity, SUM(amount) as total_amount FROM `プロジェクトID.test_dataset.sales_data` WHERE order_date >= '2024-01-01' GROUP BY product_name ORDER BY total_amount DESC

商品ごとの売上合計が正しく集計され、金額の降順で表示されました。

まとめ
第1回では、BigQueryの基本操作を実際に試してみました。
本記事で学んだポイントは以下の通りです。
- サーバーレスで環境構築不要、すぐにデータ分析を開始できる
- 新しいプロジェクトではBigQuery APIが自動的に有効化される
- データセットとテーブルを作成し、CSVファイルからデータを読み込める
- スキーマの自動検出により、データ型を自動認識できる
- SQLクエリで簡単にデータを抽出・集計できる
- 毎月1TBまでのクエリ処理が無料で利用できる
次回【第2回】では、ネイティブテーブルと外部テーブル(Googleスプレッドシート)の違いと使い分けについて解説します。
寺内 爽併(日本ビジネスシステムズ株式会社)
メディア・エンターテインメント本部インテグレーション部3G所属。 Google CloudやGoogle Workspaceを中心に扱っています。
担当記事一覧