通过 BigQuery 检查结算数据
实验
30 分钟
universal_currency_alt
5 个点数
show_chart
入门级
info
此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。
概览
在本实验中,您将学习如何使用 BigQuery 分析结算数据。
目标
在本实验中,您将学习如何执行以下任务:
- 从 Cloud 控制台登录 BigQuery
- 创建数据集
- 创建表
- 从存储在存储桶中的结算文件导入数据
- 对较大的数据集运行复杂的查询
设置和要求
对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。
-
点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:
-
打开 Google Cloud 控制台按钮
- 剩余时间
- 进行该实验时必须使用的临时凭据
- 帮助您逐步完成本实验所需的其他信息(如果需要)
-
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示登录页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
注意:如果您看见选择账号对话框,请点击使用其他账号。
-
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
{{{user_0.username | "<用户名>"}}}
您也可以在实验详细信息面板中找到用户名。
-
点击下一步。
-
复制下面的密码,然后将其粘贴到欢迎对话框中。
{{{user_0.password | "<密码>"}}}
您也可以在实验详细信息面板中找到密码。
-
点击下一步。
重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。
注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
-
继续在后续页面中点击以完成相应操作:
- 接受条款及条件。
- 由于这是临时账号,请勿添加账号恢复选项或双重验证。
- 请勿注册免费试用。
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
注意:如需查看列有 Google Cloud 产品和服务的菜单,请点击左上角的导航菜单,或在搜索字段中输入服务或产品的名称。
任务 1:使用 BigQuery 导入数据
登录 BigQuery 并创建一个数据集
在此任务中,您将使用 BigQuery 创建一个数据集。然后,您需要创建一个表,最后从 Cloud Storage 导入结算数据。
- 在 Google Cloud 控制台中,点击导航菜单 (
) 下的 BigQuery。
- 在看到提示时,请点击完成。
- 点击项目 ID(以 qwiklabs-gcp 开头)旁边的查看操作图标,然后点击创建数据集。
注意:您可以按照将 Cloud Billing 数据导出到 BigQuery 中的说明将结算数据直接导出到 BigQuery。但是,为了方便完成本实验,我们已经为您准备了一个示例结算文件。该文件位于 Cloud Storage 存储桶中,您可以使用学生账号访问。您需要将这些结算信息导入 BigQuery 表并对其进行检查。
- 指定以下内容:
| 属性 |
值(按照说明输入值或选择选项) |
|
数据集 ID: |
billing_dataset |
|
数据位置: |
美国 |
|
默认表过期时间(选中“启用表过期时间”): |
1 天(默认表存在时间上限) |
- 点击创建数据集。您应该会在左侧窗格中看到 billing_dataset。
创建表并导入数据
- 点击 billing_dataset 数据集旁边的查看操作图标,再点击打开,然后点击创建表以创建一个新表。
- 对于来源,请指定以下内容,将其他设置保留为默认值:
| 属性 |
值(按照说明输入值或选择选项) |
|
基于以下数据源创建表: |
Google Cloud Storage |
| 从 GCS 存储桶中选择文件 |
cloud-training/archinfra/BillingExport-2020-09-18.avro |
| 文件格式 |
Avro |
- 对于目标,请指定以下内容,将其他设置保留为默认值:
| 属性 |
值(按照说明输入值或选择选项) |
| 表名称 |
sampleinfotable |
| 表类型 |
原生表 |
- 点击创建表。作业完成后,该表将显示在左侧窗格中的数据集下方。
点击检查我的进度以验证是否完成了以下目标:
使用 BigQuery 导入数据
任务 2:检查表
在此任务中,您将检查已导入的数据。
- 点击 sampleinfotable。
注意:系统会显示 BigQuery 根据在导入的文件中找到的数据而自动创建的架构。请注意其中有字符串、整数、时间戳和浮点值。
- 点击详细信息。
如行数中所示
- 点击预览标签页。
任务 3. 编写简单的查询
在此任务中,您将编写并运行一个简单的查询来过滤结算数据。
在查询中引用表时,必须同时指定数据集 ID 和表 ID;项目 ID 是可选的。
注意:如果未指定项目 ID,则 BigQuery 将默认为当前项目。BigQuery 界面中提供了您需要的所有信息。在左侧的列中,您会看到数据集 ID (billing_dataset) 和表 ID (sampleinfotable)。
回想一下,如果点击表名称,则系统会显示包含所有字段名称的架构。
现在,您可以基于 Cost 字段构建一个简单的查询。
- 点击 + SQL 查询。
- 在查询编辑器中粘贴以下内容:
SELECT * FROM `billing_dataset.sampleinfotable`
WHERE Cost > 0
- 点击运行。
点击检查我的进度以验证是否完成了以下目标:
编写简单的查询
任务 4:使用 SQL 分析大型结算数据集
在此任务中,您将使用 BigQuery 分析包含 415,602 行结算数据的示例数据集。
- 对于“新查询”,请在查询编辑器中粘贴以下内容:
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 行结算数据。
-
如需查找最近 100 条费用大于 0 的记录,请编写新查询,并在查询编辑器中粘贴以下内容:
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 颗星 = 非常满意
如果您不想提供反馈,可以关闭该对话框。
如果要留言反馈、提出建议或做出更正,请使用支持标签页。
版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名称和产品名称可能是其各自相关公司的商标。