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