我们在前面的文章中讨论了如何将数据接入到数据平台。一般而言,接入到数据平台的数据会来自众多的业务系统,这样一来,我们就拥有了大量不同来源的数据。如何将这些数据有效的管理起来是一个很大的挑战。本文将尝试结合我们的项目实践经验做一些分享。
(数据仓库可以理解为数据平台中所有数据的一个集合,所以,数据平台中的数据管理也可以说是数据仓库中的数据管理。下文中数据平台和数据仓库会经常交替使用,其意义基本一致。)
在数据进入到数据平台之后,我们就可以正式开始构建数据应用了。一个常见的数据应用是数据报表和数据指标的开发。如何开发这样的数据应用呢?首先要决定的就是使用什么样的开发语言及如何构建开发环境。本文将结合我们的实践经验一起聊一聊这个话题。
在前文《数据仓库建模实践》中,我们提到了在确定DWD
层的构建原则之后,可以通过开发数据建模工具来辅助实现。这样的工具应该设计成什么样子呢?
一个理想的建模工具应该具备良好的易用性和灵活性。
在前面的文章《数据应用开发语言和环境》中我们建议使用SQL
来作为主要数据开发语言,并且,通常我们需要对标准的SQL
进行增强,以便可以更好的支持复杂的数据开发。一些典型的需要新增的特性可以是变量、控制语句、模板等。
增强SQL
固然是可以解决我们的数据开发问题,但是它也会给我们带来一些其他的不便。第一个烦恼可能就是,标准的SQL
可以在很多数据工具中运行,比如Superset
的SQL
查询器、Hive
的查询控制台等,而使用增强语法的SQL
编写的代码则不行。由于我们将标准的SQL
增强了,而SQL
周边生态工具却无法感知这样的增强,这时各种不便就随之而来了。