编写 SQL 时,分析师要经常回顾以前编写的查询,以便在适当情况下复用已经创建的代码。遗憾的是,这一存在缺陷的过程会导致复制和粘贴小的查询片段,并重新组合它们以形成新的查询。重新组合 SQL 片段并调试生成的 SQL 语句可能既耗费时间又消耗资源,易出错且扩展性差。

利用 LookML 进行 DRY 数据建模

LookML 提供一种新的高效工具,使建模更快捷、更可复用。进行数据分析时,LookML 会防止您编写重复代码。借助 LookML,只需编写一次代码段,即可将其作为更易于管理的通用、可复用查询组件。在计算机科学中,这一概念被称为 DRY(Don’t Repeat Yourself,避免重复代码),它有助于显著节省时间。据报告,使用 Looker 的分析团队能够平均节省 70% 的时间,部分原因在于采用 LookML 工具以 DRY 原则建模带来的效率提升。

利用 LookML 项目导入功能简化代码可复用性

图 1:通过 LookML 将 SQL 片段转换为可复用的代码
一旦编写完模型,Looker 将读取模型并在一个非编码者可访问的可视化点击式界面中呈现模型。当用户构建其查询时,Looker 在后台自动执行生成优化后 SQL 代码的复杂工作。Looker 能够使其生成的 SQL 适应 50 多种特定的数据库语言,以得到语义正确且效率最高的 SQL 查询。

在项目间共享代码

以项目形式组织的 LookML 模型是 LookML 的最高组织级容器。

例如,请考虑一下一个构建项目以描述和计算净收入的财务部门的情况。营销部门可能还要利用这一指标来确定营销活动的盈利能力。为了制定更好的决策,这两个部门协作和共享指标以实现跨整个企业一致的衡量至关重要。

幸运的是,LookML 利用众所周知的机制实现了团队间模型共享 —— 这一机制改编自编程语言的世界。该解决方案称为包管理 —— 几乎所有成熟的编程语言都具有的一个功能。

包被定义为可由另一个程序复用的代码单元(或软件)。包管理器是一个允许查找、安装、配置、更新和删除包的系统。利用包管理器,开发人员不必以人工方式执行这些任务,从而省却了工作并提高了代码一致性。

LookML 的项目导入功能将包管理原理引入您的分析模型。 项目导入允许模型开发人员无需复制和粘贴即可复用来自另一个项目的代码,从而改进模型编码的 DRY 方法并节省 LookML 开发人员的宝贵时间。

企业项目导入:“轴辐”式架构

在大型企业,Looker 部署会增长到核心数据团队不再能够管理每个部门的数据需求并且必须进行某种程度的授权的地步。拆分项目以便每个部门管理其自己的模型变得非常有利,但事实证明,要保持模型的一致性并非易事。

通过允许团队将集中的、高度治理的业务逻辑下推至每个部门的项目,项目导入解决了这一问题。这种“轴辐”(hub and spokes) 式架构在维持一个高效的 DRY 模型的同时,提供了扩展性和一致性。

在“轴辐”式架构中,一个中心数据团队管理核心项目(轴心),而每个部门管理自己的项目(辐条)。轴心包含通用业务逻辑,而辐条包含域特定逻辑。轴心逻辑通过项目导入功能导入到辐条。

借助“轴辐”式架构和项目导入,可以做到两全其美。“轴辐”架构允许每个部门利用分布式、可扩展的建模所有权按照自己的节奏运转,而项目导入可确保每个部门都“讲”相同的、源自领域专家的共享逻辑语言。

LookML Blocks® 的项目导入功能

Looker Blocks® 提供了项目导入的一大优势 —— 基于公共数据集和用例可复用的 LookML 代码单元。例如,Salesforce Block 能够被快速改编为可理解的维度和度量 —— Salesforce 模式中一些众所周知的棘手事情。分析原始 Salesforce 数据或者使用其 API 非常复杂,这使这类块具有巨大价值。

项目导入使开发人员只需引用 Block 源代码的 URL,然后立即在其项目中使用该代码。由于无需对 Block 的内容进行硬编码,开发人员可以很容易地选择更新 Block 的安装,随着 Block 变得更好,开发人员的模型也会变得更好。

了解更多信息

是否要了解更多信息并且开始进行项目导入?查看我们的文档、在社区参与对话以及订阅我们的博客,以了解重点介绍新版本功能的未来更新。

关于 Looker

Looker 是一个统一的数据平台, 能够在决策时为员工提供行之有效的业务洞察。Looker 将数据整合到用户的日常工作流, 使企业能够从丰富的数据获得更大价值。2000 多家行业领先的创新企业 (例如,Sony、Amazon、The Economist、IBM、Etsy、Lyft 和 Kickstarter) 信赖 Looker 为其数据驱动文化提供动力。Looker 公司于 2020 年 2 月正式加入 Google Cloud。要了解更多信息, 请通过以下方式与我们联系:LinkedIn、Twitter、Facebook 和 YouTube 或者访问 looker.com。

评论

发布