检查点
Create a cloud storage bucket
/ 25
Upload CSV files to Cloud Storage
/ 25
Create a Cloud SQL instance
/ 25
Create a database
/ 25
适用于 BigQuery 和 Cloud SQL 的 SQL 简介
GSP281
概览
SQL(结构化查询语言)是标准的数据操作语言,可用于查询结构化数据集并获取数据洞见。SQL 常用于数据库管理,可执行诸如将事务记录写入关系型数据库以及 PB 级数据分析等任务。
本实验分为两个部分,上半部分讲解 SQL 基本的查询关键字。您将针对一个包含伦敦共享单车信息的公开数据集,在 BigQuery 上运行相关查询。
在下半部分,您将学习如何将伦敦共享单车数据集的子集导出为 CSV 文件,然后将这些文件上传到 Cloud SQL。接下来,您将学习如何使用 Cloud SQL 创建和管理数据库及表。最后,您将通过实操练习使用其他 SQL 关键字,对数据进行操作和编辑。
学习内容
在本实验中,您将学习如何完成以下操作:
- 将数据读入 BigQuery。
- 在 BigQuery 中执行简单的查询以探索数据。
- 将数据子集导出为 CSV 文件,并将文件存储到新建的 Cloud Storage 存储桶。
- 创建新的 Cloud SQL 实例,并将导出的 CSV 文件作为新表加载。
前提条件
重要提示:请务必先退出您的个人和公司 Gmail 账号,然后再开始本实验。
本实验是入门级实验。我们假定您几乎没有 SQL 相关经验。建议先熟悉 Cloud Storage 和 Cloud Shell,但不强制要求。本实验将介绍 SQL 查询命令读写方面的基础知识,并通过 BigQuery 和 Cloud SQL 进行实际应用。
在参加此实验之前,请先考虑您对 SQL 的熟练程度。下面是一些更具挑战性的实验,让您有机会运用所学知识处理更高级的用例:
准备就绪后,请向下滚动页面,并按下方步骤设置实验环境。
设置和要求
点击“开始实验”按钮前的注意事项
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。
为完成此实验,您需要:
- 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
- 完成实验的时间 - 请注意,实验开始后无法暂停。
如何开始实验并登录 Google Cloud 控制台
-
点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:
- 打开 Google Cloud 控制台按钮
- 剩余时间
- 进行该实验时必须使用的临时凭据
- 帮助您逐步完成本实验所需的其他信息(如果需要)
-
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示登录页面。
提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。
注意:如果您看见选择账号对话框,请点击使用其他账号。 -
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
{{{user_0.username | "<用户名>"}}} 您也可以在实验详细信息面板中找到用户名。
-
点击下一步。
-
复制下面的密码,然后将其粘贴到欢迎对话框中。
{{{user_0.password | "<密码>"}}} 您也可以在实验详细信息面板中找到密码。
-
点击下一步。
重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本次实验中使用您自己的 Google Cloud 账号可能会产生额外费用。 -
继续在后续页面中点击以完成相应操作:
- 接受条款及条件。
- 由于该账号为临时账号,请勿添加账号恢复选项或双重验证。
- 请勿注册免费试用。
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
任务 1. SQL 基础知识
数据库和表
如前所述,SQL 可用于从“结构化数据集”中获取信息。结构化数据集拥有明确的规则和格式,通常会整理为表的形式,或以行和列的格式展示数据。
“非结构化数据”的例子包括图片文件。非结构化数据无法使用 SQL 处理,也无法存储到 BigQuery 数据集或表中(至少无法以原生方式存储)。举个例子,如要处理图片文件,您需要使用 Cloud Vision 之类的服务,可能是直接通过该服务的 API。
下面是一个结构化数据集示例(一个简单的表):
User |
Price |
Shipped |
Sean |
$35 |
Yes |
Rocky |
$50 |
No |
如果您使用过 Google 表格,会发现以上内容与其非常相似。这个表共有 3 列,分别是“User”“Price”和“Shipped”,共有 2 行,每行都包含三列的值。
数据库本质上是一个或多个表的集合。SQL 是结构化数据库管理工具,不过通常您只会针对一个表或多个联接的表(而不是整个数据库)执行查询,本实验就属于这种情况。
“SELECT”和“FROM”
SQL 本质上是描述性语言,在执行查询之前,先要弄清楚您要问数据什么问题,这非常有用,除非您只是随便探索一下。
SQL 提供了预定义的“关键字”,可用于将您的问题转化为类似英语的 SQL 语法的语句,这样您就可以让数据库引擎返回所需的答案。
最基本的关键字是 SELECT
和 FROM
:
-
SELECT
用于指定要从数据集提取哪些字段。 -
FROM
用于指定要从哪些表中提取数据。
下面的例子可以帮助您更好地理解。假设您有一个表 example_table
(如下所示),表中包含“USER”“PRICE”和“SHIPPED”这三列:
假如您只想提取“USER”列中的数据,则可以运行包含 SELECT
和 FROM
的以下查询命令:
如果您执行了上述命令,选择的数据将是 example_table
中 USER
列内的所有姓名。
您也可以使用 SQL 关键字 SELECT
选择多列。假如您想提取“USER”和“SHIPPED”这两列中的数据,可以修改之前的查询命令,向 SELECT
查询命令中添加另一列的列名(务必以英文逗号分隔两个列名!):
运行以上查询命令,系统会从内存中检索 USER
列和 SHIPPED
列的数据:
刚刚我们学习了两个基本的 SQL 关键字,接下来我们要开始更有趣的内容!
WHERE
WHERE
关键字是另一个 SQL 命令,用于过滤表中的特定列值。假如您想提取 example_table
表中已发货用户的姓名,可以为查询命令添加 WHERE
关键字,如下所示:
运行以上查询命令,系统会返回内存中所有已发货的用户:
现在您已经对 SQL 的核心关键字有了基本了解,接下来可以在 BigQuery 控制台中运行这类查询,实际运用所学内容。
检验您的掌握情况
我们在下面准备了一些单选题,以加强您对目前为止所学概念的理解。请尽您所能回答问题。
任务 2. 探索 BigQuery 控制台
BigQuery 模式
BigQuery 是在 Google Cloud 上运行的全托管式 PB 级数据仓库。数据分析师和数据科学家可以快速查询和过滤大型数据集、汇总结果以及执行复杂操作,无需为设置和管理服务器而分心。BigQuery 分为命令行工具(在 cloudshell 中预安装)和 Web 控制台两种形式,都可用于管理和查询 Google Cloud 项目中托管的数据。
在本实验中,您将使用 Web 控制台运行 SQL 查询。
打开 BigQuery 控制台
- 在 Google Cloud 控制台中,选择导航菜单 > BigQuery。
您会看到欢迎在 Cloud 控制台中使用 BigQuery 消息框,其中提供了指向快速入门指南和版本说明的链接。
- 点击完成。
BigQuery 控制台即会打开。
我们先来花点时间了解该界面的一些重要功能。控制台右侧是查询“编辑器”。您可以在这里编写和运行 SQL 命令,就像之前举过的例子。“编辑器”下方是“查询记录”,列出了您之前运行的查询。
控制台左侧的窗格是导航菜单。除了一目了然的“查询记录”“已保存的查询”和“作业记录”以外,还有一个“探索器”标签页。
“探索器”标签页中的最高资源层级包含 Google Cloud 项目,例如您在参加每个 Google Cloud Skills Boost 实验时登录和使用的临时 Google Cloud 项目。正如您的控制台和上一个屏幕截图所示,“探索器”标签页中显示的只有 Google Cloud 项目。如果您尝试点击项目名称旁边的箭头,系统不会显示任何内容。
这是因为您的项目不包含任何数据集或表,没有可以执行查询操作的对象。我们之前讲过,数据集包含表。向项目添加数据时,需要注意一点,在 BigQuery 中,项目包含数据集,数据集包含表。现在您对项目 > 数据集 > 表的模式以及控制台的组成部分有了更好的认识,可以开始加载一些可查询数据了。
上传可查询数据
在此部分,您将为项目载入一些公开数据,以便在 BigQuery 中练习运行 SQL 命令。
-
点击 + 添加。
-
选择按名称为项目加星标。
-
输入 bigquery-public-data 作为项目名称。
-
点击加星标。
务必注意,您在这个新标签页中打开的项目与实验项目是相互独立的。您所做的只是将一个包含数据集和表的可公开访问的项目载入 BigQuery 以供分析之用,并没有切换到实验项目。您所有的作业和服务仍然绑定到您的 Google Cloud Skills Boost 账号。您可以查看控制台顶部附近的项目字段来确认这一点。
- 您现在可以访问以下数据:
- Google Cloud 项目 →
bigquery-public-data
- 数据集 →
london_bicycles
- 点击 london bicycles 数据集可显示关联的表
- 表 →
cycle_hire
- 表 →
cycle_stations
在本实验中,您将使用 cycle_hire 表中的数据。打开 cycle_hire
表,然后点击预览标签页。您应该会看到类似下图的页面:
查看这些列以及各行填充的值。现在,您可以对 cycle_hire
表运行一些 SQL 查询。
在 BigQuery 中运行 SELECT、FROM 和 WHERE 命令
您已对 SQL 查询关键字和 BigQuery 数据模式有了基本了解,并且有了一些数据可以用来处理。请使用此服务运行一些 SQL 命令。
如果您查看控制台右下角,就会发现该表共有 83,434,866 行数据,这代表 2015 年至 2017 年期间伦敦个人骑行共享单车的出行次数。从任何角度来看,这个数据量都不小。
现在,请注意第 7 列的键:end_station_name
,该键指定了共享单车行程的目的地。我们先从初级操作开始,运行简单的查询将 end_station_name
列分离出来。
- 复制以下命令并粘贴到查询编辑器:
- 然后,点击运行。
大约 20 秒后,系统会返回 83434866 行数据,其中仅包含您查询的列:end_station_name
。
我们不妨看看有多少共享单车行程的时长达到 20 分钟或以上。
- 清除编辑器中的查询命令,然后运行以下包含关键字
WHERE
的查询:
此查询可能需要一分钟左右的时间才能运行完毕。
SELECT *
会返回表中所有列的值。时长是按秒计算的,所以才使用值 1200 (60 * 20)。
看一下右下角,您会发现系统返回了 26,441,016 行数据。计算这些行占所有行的比例 (26441016/83434866),得出伦敦共享单车行程中时长达到 20 分钟或以上的大约有 30%(用户在这段时间里一直在骑行!)
检验您的掌握情况
我们在下方准备了一些单选题,以加强您对目前为止所学概念的理解。请尽您所能回答问题。
任务 3. 更多的 SQL 关键字:GROUP BY、COUNT、AS 以及 ORDER BY
GROUP BY
关键字 GROUP BY
可以汇总结果集中符合同一条件(例如某个列值)的行,并返回所找到的符合该条件的所有唯一条目。
该关键字对于找出表中的分类信息非常有用。
- 为更好地了解该关键字的用法,请清除编辑器中的查询命令,然后复制以下命令并粘贴到编辑器中:
- 点击运行。
结果中列出的是唯一(不重复)列值。
如果不使用 GROUP BY
,该查询就会返回全部 83,434,866 行。GROUP BY
将输出在表中找到的唯一列值。您可以查看右下角的行数来确认这一点。您会看到共有 954 行数据,这意味着伦敦共有 954 个不同的共享单车租车点。
COUNT
COUNT()
函数可以计算符合同一条件(例如某个列值)的行的数量。将其与 GROUP BY
一起使用非常有效。
将 COUNT
函数添加到之前的查询命令中,找出以每个租车点为起点的行程有多少。
- 清除编辑器中的查询命令,然后复制和粘贴以下命令,并点击运行:
输出内容中显示了以每个租车点为起点的共享单车行程的数量。
AS
SQL 还有一个 AS
关键字,用于创建表或列的别名。别名是为返回的列或表所指定的新名称,可以使用 AS
命名任意名称。
- 您可以向上一个查询命令中添加关键字
AS
来看看它的作用。清除编辑器中的查询命令,然后复制并粘贴以下命令:
- 点击运行。
结果中显示,右列名称从 COUNT(*)
变为 num_starts
。
您会发现,所返回表中的 COUNT(*)
列现已设置为别名 num_starts
。如果您要处理大量数据集,该关键字会非常实用,因为您会经常忘记那些不够明确的表或列的名称!
ORDER BY
关键字 ORDER BY
会将查询返回的数据按照指定的条件或列值以升序或降序排序。将此关键字添加到之前的查询命令中,以达到以下目的:
- 返回的表中包含以每个租车点为起点的共享单车行程的数量,并且按租车点的字母顺序排序。
- 返回的表中包含以每个租车点为起点的共享单车行程的数量,并且按数量由少到多的顺序排序。
- 返回的表中包含以每个租车点为起点的共享单车行程的数量,并且按数量由多到少的顺序排序。
以下每项命令都是独立的查询。对每项命令执行以下操作:
- 清空查询编辑器。
- 复制相应命令并粘贴到查询编辑器中。
- 点击运行。查看返回的结果。
最后一个查询命令的结果列出了租车点,并且按照以租车点为起点的行程数量排序。
您可以看到从“Belgrove Street, King's Cross”出发的行程数量最多。不过,如果计算这些行程占全部行程的比例 (234458/83434866),就会发现只有不到 1% 的行程是从该租车点出发的。
检验您的掌握情况
我们在下方准备了一些单选题,以加强您对目前为止所学概念的理解。请尽您所能回答问题。
任务 4. 使用 Cloud SQL
将查询结果导出为 CSV 文件
Cloud SQL 是一种全托管式数据库服务,可让您轻松地在云端设置、维护、管理和控制关系型 PostgreSQL 及 MySQL 数据库。Cloud SQL 可以接受两种格式的数据:转储文件 (.sql) 或 CSV 文件 (.csv)。下面您将学习如何将 cycle_hire
表的子集导出为 CSV 文件,并将这些文件上传到 Cloud Storage 暂时保存。
回到 BigQuery 控制台,下面所示的应该是您最后运行的命令:
-
在“查询结果”部分,点击保存结果 > CSV(本地文件)。系统开始执行下载操作,将这些查询结果保存为 CSV 文件。记住下载文件的位置和名称,您随后会用到该文件。
-
清空查询编辑器,然后复制以下命令,并粘贴到查询编辑器中运行:
返回的表中会包含以每个还车点为终点的共享单车行程的数量,并且按照数量由多到少的顺序排序。
- 在“查询结果”部分,点击保存结果 > CSV(本地文件)。系统开始执行下载操作,将这些查询结果保存为 CSV 文件。记住下载文件的位置和名称,在下一部分中会用到该文件。
将 CSV 文件上传到 Cloud Storage
-
前往 Cloud 控制台,您将在这里创建一个存储桶,以便将刚才创建的文件上传到其中。
-
选择导航菜单 > Cloud Storage > 存储桶,然后点击创建存储桶。
-
为您的存储桶输入一个唯一名称,将其他所有设置保留为默认值,然后点击创建。
-
看到
系统将禁止公开访问
对话框中的提示时,点击确认。
验证您已完成的任务
点击下方的检查我的进度,以检查您的实验进度。如果您已成功创建存储桶,就会看到一个评估分数。
您现在应该位于 Cloud 控制台,看到您新建的 Cloud Storage 存储桶。
-
点击上传文件,选择包含
start_station_name
数据的 CSV 文件。 -
然后,点击打开。重复此步骤上传
end_station_name
数据。 -
点击
start_station_name
文件一侧的三点状图标,然后点击重命名,将该文件重命名为start_station_data.csv
。 -
点击
end_station_name
文件一侧的三点状图标,然后点击重命名,将该文件重命名为end_station_data.csv
。
现在,您应该会在存储桶详情页面的对象列表中看到 start_station_data.csv
和 end_station_data.csv
文件。
验证您已完成的任务
点击检查我的进度,以验证您已完成的任务。如果您已将 CSV 对象成功上传到存储桶,则会看到一个评估分数。
任务 5. 创建 Cloud SQL 实例
在控制台中,选择导航菜单 > SQL。
-
点击创建实例 > 选择 MySQL。
-
输入 my-demo 作为实例 ID
-
在密码字段中输入一个安全的密码(务必记住该密码!)。
-
对于数据库版本,选择 MySQL 8。
-
在选择 Cloud SQL 版本部分,选择企业版。
-
在预设部分,选择开发(4 个 vCPU、16 GB RAM、100 GB 存储空间、单个可用区)。
-
将多个可用区(高可用性)字段设置为
-
点击创建实例。
- 点击该 Cloud SQL 实例。系统会打开 SQL 概览页面。
验证您已完成的任务
要检查您在本实验中的进度,请点击下方的检查我的进度。如果您已成功设置 Cloud SQL 实例,则会看到一个评估分数。
任务 6. Cloud SQL 中的新查询
CREATE 关键字(数据库和表)
现在您已启动并运行了一个 Cloud SQL 实例,接下来请使用 Cloud Shell 命令行在其中创建一个数据库。
-
点击控制台右上角的图标,打开 Cloud Shell。
-
运行以下命令,将项目 ID 设置为环境变量:
在 Cloud Shell 中创建一个数据库
- 在 Cloud Shell 中运行以下命令,在不打开浏览器的情况下设置身份验证。
这将为您提供一个可在浏览器中打开的链接。在您登录了 Qwiklabs 账号的同一浏览器中打开链接。登录之后,您将获得验证码,将其复制下来。在 Cloud Shell 中粘贴此验证码。
- 运行以下命令,连接到您的 SQL 实例。如果您为实例指定了其他名称,请将
my-demo
替换为您所使用的名称。
- 出现提示时,输入您为该实例设置的 root 密码。
您应该会看到以下输出内容:
虽然 Cloud SQL 实例提供预配置的数据库,但您将创建自己的数据库来存储伦敦共享单车数据。
- 在 MySQL 服务器提示符处运行以下命令,创建名为
bike
的数据库:
您应该会看到下面的输出内容:
验证您已完成的任务
要检查您的进度,请点击检查我的进度,以验证您已完成的任务。如果您在 Cloud SQL 实例中成功创建了数据库,系统会显示一个评估分数。
在 Cloud Shell 中创建一个表
- 运行以下命令,在“bike”数据库中创建一个表:
此语句使用了关键字 CREATE
,这次还使用了 TABLE
子句,用于指定要创建的是表而不是数据库。关键字 USE
指定了要连接的目标数据库。现在,您会得到一个名称为“london1”的表,其中包含两个列:“start_station_name”和“num”。VARCHAR(255)
指定最多可以容纳 255 个字符的可变长度字符串列,INT
指定整数类型的列。
- 运行以下命令,创建另一个名为“london2”的表:
- 现在确认您已创建了空表。在 MySQL 服务器提示符处运行以下命令:
您应该会收到这两个命令的以下输出结果:
因为您尚未加载数据,所以输出结果中显示了“空集”。
将 CSV 文件上传到表中
返回 Cloud SQL 控制台。您现在要将 CSV 文件 start_station_name
和 end_station_name
分别上传到您刚刚创建的表“london1”和“london2”中。
- 在您的 Cloud SQL 实例页面中,点击导入。
- 在 Cloud Storage 文件字段,点击浏览,然后点击存储桶名称旁边的箭头,最后点击
start_station_data.csv
。点击选择。 - 选择 CSV 作为文件格式。
- 选择
bike
数据库,并输入london1
作为表名称。 - 点击导入。
为另一个 CSV 文件执行相同操作。
- 在您的 Cloud SQL 实例页面中,点击导入。
- 在 Cloud Storage 文件字段,点击浏览,然后点击存储桶名称旁边的箭头,接下来点击
end_station_data.csv
,最后点击选择。 - 选择 CSV 作为文件格式。
- 选择
bike
数据库,并输入london2
作为表名称。 - 点击导入。
现在,您应该已经将两个 CSV 文件都上传到 bike
数据库的表中。
- 回到 Cloud Shell 会话,并在 MySQL 服务器提示符处运行以下命令,以检查“london1”的内容:
您应该会收到 955 行输出结果,每一行都包含唯一的租车点名称。
- 运行以下命令,确认“london2“已填充数据:
您应该会收到 959 行输出结果,每一行都包含唯一的租车点名称。
DELETE 关键字
下面将介绍其他的一些 SQL 关键字,以帮助您更好地管理数据。第一个就是 DELETE
关键字。
- 在 MySQL 会话中运行以下命令,以删除“london1”和“london2”中的第一行数据:
运行这两个命令后,您应该会收到以下输出结果:
被删除的是 CSV 文件中的列标题所在的行。关键字 DELETE
本身并不会移除文件的第一行,而是移除表中特定名称的列(此例中是“num”)包含指定值(本例中是“0”)的所有行。如果您运行查询命令 SELECT * FROM london1;
和 SELECT * FROM london2;
,并滚动至表顶部,就会发现列值为 0 的行已被删除。
INSERT INTO 关键字
您还可以使用关键字 INSERT INTO
向表插入值。
- 运行以下命令,向“london1”插入一个新行,其中的
start_station_name
列值设置为“test destination”,num
列值设置为“1”:
INSERT INTO
关键字要求有一个表(此例中是“london1”),并将新建一行,通过在第一个括号内输入字词来指定要在哪个列中插入数据(本例中为“start_station_name”和“num”),而“VALUES”子句后面的内容将作为值加入到新行中。
您应该会看到下面的输出内容:
如果您运行查询命令 SELECT * FROM london1;
,则会看到“london1”表底部新增了一行。
UNION 关键字
我们要讲解的最后一个关键字是 UNION
。该关键字可将两个或更多 SELECT
查询的输出合并到一个结果集中。您可以使用 UNION
将“london1”和“london2”表的子集合并起来。
以下串联的查询命令可以从两个表中提取特定数据,然后使用 UNION
运算符将这些数据合并到一起。
- 在 MySQL 服务器提示符下运行以下命令:
第一个 SELECT
查询会选择“london1”表中的两列,然后为“start_station_name”创建别名“top_stations”。该查询使用关键字 WHERE
来限定仅提取始发共享单车数量超过 10 万辆的共享单车租车点名称。
第二个 SELECT
查询选择“london2”表中的两列,并使用关键字 WHERE
来限定仅提取到站共享单车数量超过 10 万辆的共享单车租车点名称。
两个“SELECT”之间的关键字 UNION
通过将“london1”的数据与“london2”的数据同化来合并这两个查询的输出结果。由于是“london1”合并“london2”,所以优先采用列值“top_stations”和“num”。
ORDER BY
会将最终合并后的表中的数据按照“top_stations”列值的首字母降序排序。
您应该会看到下面的输出内容:
如结果所示,14 个租车点中有 13 个租车点同时入选始发和到站共享单车数量最多的租车点榜单。凭借一些基本 SQL 关键字,您可以对庞大的数据集执行查询操作,从中获得重要数据点以及解答特定问题。
恭喜!
在本实验中,您学习了 SQL 基础知识,以及如何在 BigQuery 和 CloudSQL 中应用关键字并运行查询。您掌握了项目、数据库和表背后的核心概念,还练习了使用关键字来操作和编辑数据。您学习了如何将数据读入 BigQuery,并练习了针对表运行查询。您了解到如何在 Cloud SQL 中创建实例,并练习将数字子集导入数据库所含的表中。最后,您在 Cloud SQL 中串联并运行了查询,得出了有关伦敦共享单车租车点和还车点的一些有趣结论。
后续步骤/了解详情
通过以下 Google Cloud Skill Boost 实验,继续学习并练习使用 Cloud SQL 和 BigQuery:
参阅《Data Science on the Google Cloud Platform》第二版:O'Reilly Media, Inc.,详细了解数据科学相关内容。
Google Cloud 培训和认证
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 2 月 2 日
上次测试实验的时间:2024 年 2 月 2 日
版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。