准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Extend a view to add columns from another view
/ 50
Extend an Explore to add joins from another Explore
/ 50
Looker 是 Google Cloud 中的现代化数据平台,支持您以交互方式分析和直观呈现数据。LookML 开发者可以通过创建新字段、表、视图和探索来自定义和整理数据,从而挑选供业务用户使用的数据。
在本实验中,您将学习如何通过扩展视图和探索实现 LookML 代码模块化。
需要熟悉 LookML。建议您先完成了解在 Looker 中如何使用 LookML 实验,然后再开始本实验。
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。
为完成此实验,您需要:
准备就绪时,点击开始实验。
此时您会看到“实验详细信息”窗格,其中包含您在进行该实验时必须使用的临时凭据。
如果该实验需要付费,系统会打开一个弹出式窗口供您选择支付方式。
请注意,“实验详细信息”窗格中会显示实验凭据。您需要使用这些凭据来登录 Looker 实例以进行该实验。
点击打开 Looker。
在电子邮件地址和密码字段中输入提供的用户名和密码。
用户名:
密码:
点击登录。
登录成功后,您会看到用于本实验的 Looker 实例。
借助 Extends,您可以为 LookML 对象创建副本,然后将这些副本集成到其他 LookML 对象中,并对其进行独立修改(不影响原始 LookML 对象),从而实现代码模块化。在 Looker 中,您可以扩展视图、探索和 LookML 定义的信息中心。通过实现代码模块化,Extends 允许您将代码片段视为模块或单元,然后您可以基于这些模块或单元来扩展模型。
Extends 可帮助您编写 DRY 代码。通过复制现有的对象和代码段,您可以更轻松地添加或修改逻辑。随着组织和应用场景规模的变化,这对于扩缩模型至关重要。此外,您无需一直手动重写代码,因此还可以最大程度提高模型的一致性。它还让管理不同用户群组的字段访问权限变得更加轻松,这对可伸缩性也很重要。
如前所述,您可以扩展的对象之一是 LookML 视图。通常,这样做是为了添加更多字段和/或更新现有字段的逻辑。另一个用例是更改 sql_table_name 参数中指定的数据库表。
您可以扩展的另一个对象是探索。您可能有多个必须始终联接在一起的表,尤其是在标准化程度更高的数据库架构中。为了避免重复编写相同的联接,您可以创建一个已经将其联接在一起的“基本”探索,然后对其进行扩展,以创建需要联接更多视图的其他探索。或者,您可能需要同一组联接的视图,但新探索从不同的基本视图开始。
探索背后的实现过程:
您无需在多个视图中复制/粘贴相同的代码,只需创建一个包含常用维度和度量定义的集中式视图。然后,通过使用 Extends,您可以将这些维度和度量集成到多个视图中。您只需使用 Extends 的特定参数来标识您希望 Looker 从中复制的视图。
从业务角度来看,这非常实用,因为您拥有了一个集中式代码库,可供多个团队重复使用,而且这些团队可以扩展核心代码,并根据自己的需求进行自定义。将 location 维度抽象化的好处是,您只需更新一次,它就会传播到从该 location 视图扩展的任何视图。
在此任务中,您将创建一个包含 location 维度(例如 city、country)的新视图,该视图可以通过扩展其他视图(例如 users 和 events 视图)来实现重复使用。
点击切换按钮进入开发模式。
在开发标签页中,选择 qwiklabs-ecommerce LookML 项目。
点击“文件浏览器”旁边的 (+),然后选择创建视图。
将该视图命名为 location,并将其拖动到 views 文件夹下,然后向其中添加以下代码:
此视图文件包含您要在其他视图中重复使用的维度定义:city、country、latitude、longitude、state 和 zip。
请注意第 2 行 (extension: required),这表示此视图“无法与其他视图联接”,因此用户将无法看到此视图。
如需使用此视图,您必须使用 extends 参数将其集成到另一个视图中,您将在下一部分中执行此操作。
另请注意,与其他视图不同,您无需在视图定义中添加参数 sql_table_name 来标识要使用哪个表的数据。此视图将使用在下一部分中扩展的视图中指定的表。
打开 users.view 文件。
在文件顶部的第 1 行另起一行,添加以下代码,指明 users 视图正在使用 location 视图进行扩展:
sql_table_name 上方,添加以下代码:sql_table_name 参数会标识要用作数据源的表,该数据源适用于文件中现有的对象以及通过扩展而从 geography 添加的对象。
移除以下现有维度定义:city、country、latitude、longitude、state 和 zip(这是文件中的现有顺序)。
这些维度不是在 users.view 文件中显式定义的,而是通过从 location.view 扩展集成进来的。
点击保存更改,然后点击验证 LookML。
打开 event.view 文件。
在文件顶部的第 1 行添加以下代码:
sql_table_name 上方,添加以下代码:与处理 users 视图时一样,移除以下现有维度定义:city、country、latitude、longitude、state 和 zip。
点击保存更改,然后点击验证 LookML。
您的文件现在应如下所示:
前往 Order Items 的探索页面。
在 Users 视图中,选择 City、Country、Latitude、Longitude、State 和 Zip 维度。
点击运行。
尽管您已从 users.view 文件中移除了这些维度(city、country、latitude、longitude、state 和 zip)的定义,但您仍然可以查看和使用它们,因为它们是使用 location.view 文件中的 extend 从 users.view 文件中添加的!
前往 Events 探索。
在 Events 视图中,选择 City、Country、Latitude、Longitude、State 和 Zip 维度。
同样,尽管您已从 events.view 文件中移除了这些维度的定义,但您仍然可以查看和使用它们,因为它们是使用扩展添加到 events.view 文件中的。
点击验证 LookML,然后点击提交更改并推送。
添加提交消息,然后点击提交。
最后,点击部署到生产环境。
点击检查我的进度以验证是否完成了以下目标:
您无需在模型文件的多个探索中复制/粘贴相同的联接,只需创建一个包含探索中最常用联接的基本探索。然后,您可以使用 Extends 重复使用该基本探索,以定义和自定义在模型文件中定义的其他探索。
一个常见的业务应用场景是创建一个核心探索,然后使用该探索为组织内的特定用户群组/团队创建其他探索。
在本部分中,您将创建一个基本探索,其中包含多个业务团队所需的所有视图的联接,然后使用 Extends 为多个团队重复使用和自定义该基本探索。
找到 training_ecommerce.model 文件。
在 order_items 探索定义(大约在第 43 行)之后,使用以下代码创建一个名为 base_events 的新基本探索:
再次强调,请注意 extension: required 这一行,这意味着此探索对用户不可见。您的文件应如下所示:
接下来,您将修改现有 events 探索的定义,以使用 base_events 中的视图对其进行扩展。
event_session_facts 和 users 的现有联接。这些联接视图是通过下一步中添加的代码,从 base_events Explore 集成而来的。注意保留了 event_session_funnel 的联接定义,以便针对一组特定用户自定义此探索。您的文件应如下所示:
events 探索的最终定义应如下所示:
from 和 view_name 都指向 events 视图,那么为什么要把它们都包含在内呢?from 可确保您使用的是名为 events 的原始视图(而不是视图的别名或扩展视图),而 view_name 是视图文件名,可以是别名。
第 2-6 行提供了“探索”信息按钮的说明,指明了要包含哪个视图文件中的哪些字段(除了 order items 视图中的 total_revenue_from_completed_orders 度量之外的所有字段),并指定了用于扩展此探索的探索(即用于扩展 events 探索的同一 base_events 探索)。
现在,您可以测试新探索了。找到每个探索(Events 和 Conversions),留意其中包含哪些视图。由于这些探索共享一组核心视图,但又通过额外的视图进行了自定义,因此每个探索服务于不同的用户群体。
如需查看说明,请将指针悬停在 Events 旁边的信息 () 上。
前往 Conversions 探索,其中包含基本探索(Events、Event Session Facts、Users)中联接的视图,以及 Order Items 视图。
如需查看说明,请将指针悬停在 Conversions 旁边的信息 () 上。
查看 Order Items 视图中的度量,其中未列出 total_revenue_from_completed_orders。
返回 Looker IDE 中的 training_ecommerce.model 文件。
点击验证 LookML,然后点击提交更改并推送。
添加提交消息,然后点击提交。
最后,点击部署到生产环境。
点击检查我的进度以验证是否完成了以下目标:
在本实验中,您通过扩展 users 和 events 视图创建了一个包含 location 维度的新视图,创建了一个包含多个视图的联接的基本探索,并使用 Extends 为多个团队和用户重复使用并自定义了基本探索。
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 4 月 22 日
上次测试实验的时间:2023 年 9 月 6 日
版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验