
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Run a query (dataset: samples, table: shakespeare, substring: raisin)
/ 10
Run a query (dataset: samples, table: shakespeare, substring: huzzah)
/ 10
Create a new dataset (name: babynames)
/ 20
Load the data into a new table
/ 20
Run queries against your dataset table
/ 20
Remove the babynames dataset
/ 20
如果没有合适的硬件和基础架构,存储和查询大量数据集可能非常耗时且成本昂贵。BigQuery 是一种无服务器、高扩展性的云数据仓库,它借助 Google 基础架构的强大处理能力实现了极其快速的 SQL 查询功能,从而解决了上述问题。您只需将数据迁移至 BigQuery,余下的困难部分由我们负责。您可以根据业务需求控制对项目和数据的访问权限,例如授权其他人来查看或查询您的数据。
您可以通过各种客户端库(例如 Java、.NET 或 Python)使用控制台、网页界面或命令行工具来访问 BigQuery。另外,还有许多解决方案提供商供您使用,让您能与 BigQuery 交互。
本实操实验将向您介绍如何使用 bq
(一款适用于 BigQuery 基于 python 的命令行工具)来查询公开表,以及如何将示例数据加载到 BigQuery 中。
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。
为完成此实验,您需要:
点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示“登录”页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
您也可以在“实验详细信息”窗格中找到“用户名”。
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中。
您也可以在“实验详细信息”窗格中找到“密码”。
点击下一步。
继续在后续页面中点击以完成相应操作:
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。
如果您连接成功,即表示您已通过身份验证,且当前项目会被设为您的 PROJECT_ID 环境变量所指的项目。输出内容中有一行说明了此会话的 PROJECT_ID:
gcloud
是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。
点击授权。
现在,输出的内容应如下所示:
输出:
输出:
输出示例:
gcloud
, in Google Cloud, refer to the gcloud CLI overview guide.
BigQuery 提供一些示例表,您可以基于这些表运行查询。在本实验中,您将基于 shakespeare
表运行查询,该表包含莎士比亚每场戏剧中每个单词的记录。
要查看示例数据集中“Shakespeare”表的架构,请运行以下命令:
此命令的具体含义解析:
bq
用于调用 BigQuery 命令行工具show
是要执行的操作project:public dataset.table
的名称。输出如下:
如果您在帮助命令中添加某个命令的名称,那么您会获得该特定命令的相关信息。
bq help
的调用可检索关于 query
命令的信息:bq
使用的所有命令的清单,只需运行 bq help
。接下来您将运行查询,来查看子字符串“raisin”在莎士比亚作品集中出现的次数。
bq query "[SQL_STATEMENT]"
命令:使用 \ 符号转义 [SQL_STATEMENT] 中的任何引号,或者
使用与英文双引号不同的英文引号类型(不使用 " 而使用 ')。
在此命令中:
--use_legacy_sql=false
表示将标准 SQL 设为默认查询语法。输出如下:
此表表明,尽管 raisin 的确切单词并未出现,但这几个字母以整体形式作为其他单词的一部分曾几次出现在莎士比亚的作品集中。
点击检查我的进度,验证您已完成的任务。如果您成功对公开数据集运行了查询,系统会显示一个评估分数。
如果您搜索的字词未在莎士比亚的作品中出现过,则不会返回任何结果。
点击检查我的进度,验证您已完成的任务。如果您成功对公开数据集运行了查询,系统会显示一个评估分数。
现在,请创建您自己的表。每个表都存储在一个数据集中。一个数据集是一组资源(例如表和视图)。
bq ls
命令列出您项目中的所有现有数据集:由于您的项目中尚无任何数据集,系统会将您返回命令行。
bq ls
加上项目 ID bigquery-public-data
来列出该特定项目中的数据集,并后接英文冒号 (:):输出如下:
现在我们来创建数据集。数据集名称最长可使用 1024 个字符,可包含 A-Z、a-z、0-9 和下划线,但不能以数字或下划线开头,也不能有空格。
bq mk
命令在您的项目中创建名为 babynames
的新数据集:示例输出:
点击检查我的进度,验证您已完成的任务。如果您成功创建了名为“babynames”的 BigQuery 数据集,系统会显示一个评估分数。
bq ls
来确认该数据集现已在您的项目中显示:示例输出:
在能够创建表之前,您需要将相应数据集添加至项目。您将使用的自定义数据文件包含了约 7 MB 的热门婴儿姓名数据,该文件由美国社会保障管理局提供。
您会在项目中看到该文件名称。
bq load
命令只需一步即可创建或更新表并加载数据。
您将使用 bq load
命令,将源文件加载到刚刚创建的婴儿姓名数据集中的新表(名为 names2010)中。默认情况下,此命令会以同步方式运行,并且只需几秒即可完成。
您将运行的 bq load
参数如下:
示例输出:
点击检查我的进度,验证您已完成的任务。如果您已成功将数据加载到数据集表中,系统会显示一个评估分数。
bq ls
加上 babynames
,确认您的数据集中会显示该表:输出如下:
bq show
加上 dataset.table
来查看架构:输出如下:
-E
标志明确告知 BigQuery 将数据视为 Latin-1 编码。如需详细了解有关字符编码的信息,请参阅数据加载简介指南。
现在您就可以查询数据,让系统返回一些有趣的结果了。
输出如下:
输出如下:
点击检查我的进度,验证您已完成的任务。如果您成功对自定义数据集运行了查询,系统会显示一个评估分数。
下列选择题应该可以强化您对本实验所涉概念的理解。请尽您所能回答。
bq rm
命令移除带有 -r
标记的 babynames
数据集,来删除数据集中的所有表:Y
以确认删除命令。点击检查我的进度,验证您已完成的任务。如果您成功移除了婴儿名称数据集,系统会显示相应评分。
现在您可以使用命令行来查询公开表,并将示例数据加载到 BigQuery 中了。
本实验是 Qwik Starts 系列实验的其中一项。通过这些实验,您可以一窥 Google Cloud 的诸多功能。请在实验目录中搜索“Qwik Starts”,找到您要参与的下一项实验!
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 1 月 26 日
上次测试实验的时间:2023 年 8 月 24 日
版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
One lab at a time
Confirm to end all existing labs and start this one