概要
このラボでは、BigQuery を使用して課金データを分析する方法を学習します。
目標
このラボでは、次のタスクの実行方法について学びます。
- Cloud コンソールから BigQuery にログインする
- データセットを作成する
- テーブルを作成する
- バケットに保存されている課金ファイルからデータをインポートする
- 大型のデータセットで複雑なクエリを実行する
設定と要件
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。
左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
-
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}}
[ラボの詳細] パネルでもユーザー名を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}}
[ラボの詳細] パネルでもパスワードを確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。
注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
-
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。
タスク 1. BigQuery を使用してデータをインポートする
BigQuery にログインしてデータセットを作成する
このタスクでは、BigQuery を使用してデータセットを作成します。次にテーブルを作成し、最後に Cloud Storage から課金データをインポートします。
- Google Cloud コンソールのナビゲーション メニュー(
)で、[BigQuery] をクリックします。
- プロンプトが表示されたら、[完了] をクリックします。
-
プロジェクト ID(qwiklabs-gcp で始まる)の横にあるアクションを表示アイコンをクリックし、[データセットを作成] をクリックします。
注: 課金データは、BigQuery に直接エクスポートできます。詳細は、Cloud Billing データの BigQuery へのエクスポートに関するガイドをご覧ください。ただし、このラボではサンプルの課金ファイルがあらかじめ用意されています。これは Cloud Storage バケットにあり、受講者用アカウントからアクセスできます。この課金情報を BigQuery テーブルにインポートして調査します。
- 以下を指定します。
| プロパティ |
値(値を入力するか、指定されたオプションを選択) |
| データセット ID: |
billing_dataset |
| データのロケーション: |
US |
| デフォルトのテーブルの有効期限([テーブルの有効期限を有効にする] にチェックを入れる): |
1 日(デフォルトのテーブル最長存続期間) |
- [データセットを作成] をクリックします。左側のペインに billing_dataset が表示されます。
テーブルを作成してインポートする
- 新しいテーブルを作成するには、billing_data データセットの横にあるアクションを表示アイコンをクリックし、[開く]、[テーブルを作成] の順にクリックします。
- [ソース] に次のように指定し、残りの設定はデフォルトのままにします。
| プロパティ |
値(値を入力するか、指定されたオプションを選択) |
| テーブルの作成元: |
Google Cloud Storage |
| GCS バケットからファイルを選択 |
cloud-training/archinfra/BillingExport-2020-09-18.avro |
| ファイル形式 |
Avro |
- [送信先] に次のように指定し、残りの設定はデフォルトのままにします。
| プロパティ |
値(値を入力するか、指定されたオプションを選択) |
| テーブル名 |
sampleinfotable |
| テーブルタイプ |
ネイティブ テーブル |
- [テーブルを作成] をクリックします。
ジョブが完了すると、左側のペインのデータセットの下にテーブルが表示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
BigQuery を使用してデータをインポートする
タスク 2. テーブルを確認する
このタスクでは、インポートしたデータを確認します。
- [sampleinfotable] をクリックします。
注: インポートされたファイルのデータに基づいて、BigQuery により自動的に作成されたスキーマが表示されます。文字列、整数、タイムスタンプ、浮動小数点値があることに注目してください。
- [詳細] をクリックします。
[行数] から確認できますが
- [プレビュー] タブをクリックします。
タスク 3. 単純なクエリを作成する
このタスクでは、簡単なクエリを作成して実行し、課金データをフィルタします。
クエリでテーブルを参照する場合、データセット ID とテーブル ID の両方を指定する必要があります。プロジェクト ID はオプションです。
注: プロジェクト ID が指定されていない場合は、デフォルトで現在のプロジェクトが指定されます。
必要な情報はすべて BigQuery インターフェースから確認できます(左側の列に、データセット ID(billing_dataset)とテーブル ID(sampleinfotable)が表示されます)。
テーブル名をクリックすると、スキーマとすべてのフィールド名が表示されます。
次に、[Cost] に基づいて単純なクエリを作成します。
- [+](SQL クエリ)をクリックします。
- Query Editor に次の内容を貼り付けます。
SELECT * FROM `billing_dataset.sampleinfotable`
WHERE Cost > 0
- [実行] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
単純なクエリを作成する
タスク 4. 大型の課金データセットを SQL で分析する
このタスクでは、BigQuery を使用して、415,602 行の課金データがあるサンプルのデータセットを分析します。
- [クエリを新規作成] をクリックし、Query Editor に次の内容を貼り付けます。
SELECT
billing_account_id,
project.id,
project.name,
service.description,
currency,
currency_conversion_rate,
cost,
usage.amount,
usage.pricing_unit
FROM
`billing_dataset.sampleinfotable`
-
[実行] をクリックします。
生成されたテーブルに 415,602 行の課金データがあることを確認します。
-
課金があった(Cost > 0)最新のレコード 100 件を検索するには、[新しいクエリ] で、クエリエディタに次の内容を貼り付けます。
SELECT
service.description,
sku.description,
location.country,
cost,
project.id,
project.name,
currency,
currency_conversion_rate,
usage.amount,
usage.unit
FROM
`billing_dataset.sampleinfotable`
WHERE
Cost > 0
ORDER BY usage_end_time DESC
LIMIT 100
- [実行] をクリックします。
- 課金額が 10 ドルを超えたものをすべて検索するには、[新しいクエリ] で、クエリエディタに次の内容を貼り付けます。
SELECT
service.description,
sku.description,
location.country,
cost,
project.id,
project.name,
currency,
currency_conversion_rate,
usage.amount,
usage.unit
FROM
`billing_dataset.sampleinfotable`
WHERE
cost > 10
-
[実行] をクリックします。
-
課金データ内に最も多くのレコードがあるプロダクトを検索するには、[クエリを新規作成] をクリックし、クエリエディタに次の内容を貼り付けます。
SELECT
service.description,
COUNT(*) AS billing_records
FROM
`billing_dataset.sampleinfotable`
GROUP BY
service.description
ORDER BY billing_records DESC
- [実行] をクリックします。
- 課金額が 1 ドルを超えるプロダクトのうち、頻繁に使用されているものを検索するには、[クエリを新規作成] をクリックし、クエリエディタに次の内容を貼り付けます。
SELECT
service.description,
COUNT(*) AS billing_records
FROM
`billing_dataset.sampleinfotable`
WHERE
cost > 1
GROUP BY
service.description
ORDER BY
billing_records DESC
- [実行] をクリックします。
- 頻繁に課金された単位を検索するには、[クエリを新規作成] をクリックし、クエリエディタに次の内容を貼り付けます。
SELECT
usage.unit,
COUNT(*) AS billing_records
FROM
`billing_dataset.sampleinfotable`
WHERE cost > 0
GROUP BY
usage.unit
ORDER BY
billing_records DESC
- [実行] をクリックします。
- 課金総額が多いプロダクトを検索するには、[クエリを新規作成] をクリックし、クエリエディタに次の内容を貼り付けます。
SELECT
service.description,
ROUND(SUM(cost),2) AS total_cost
FROM
`billing_dataset.sampleinfotable`
GROUP BY
service.description
ORDER BY
total_cost DESC
- [実行] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
大型の課金データセットを SQL で分析する
タスク 5. まとめ
このラボでは、avro ファイルとして作成された課金データを BigQuery にインポートし、このファイルに対して単純なクエリを実行しました。その後、22,000 件を超える課金情報レコードがある共有データセットにアクセスし、このデータに対して各種のクエリを実行しました。これにより、BigQuery でクエリを実行してさまざまな質問を行い、それらの答えを得る方法を学習しました。
ラボを終了する
ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
- 星 1 つ = 非常に不満
- 星 2 つ = 不満
- 星 3 つ = どちらともいえない
- 星 4 つ = 満足
- 星 5 つ = 非常に満足
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
Copyright 2026 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。