在前一篇文章《数据测试实践》中,我们探讨了数据应用如何做测试的问题。在数据测试中,ETL
脚本的测试是个难题。一般而言,采用高集成度的测试方式(即运行ETL
并比对结果,下文称集成测试)是更有效的做法。但是,这类测试的编写和维护却有较高的成本。如何降低ETL
集成测试的成本呢?本文尝试从数据工具的角度分享一些我们的经验。
数据测试实践
数据开发支持工具
在前面的文章《数据应用开发语言和环境》中我们建议使用SQL
来作为主要数据开发语言,并且,通常我们需要对标准的SQL
进行增强,以便可以更好的支持复杂的数据开发。一些典型的需要新增的特性可以是变量、控制语句、模板等。
增强SQL
固然是可以解决我们的数据开发问题,但是它也会给我们带来一些其他的不便。第一个烦恼可能就是,标准的SQL
可以在很多数据工具中运行,比如Superset
的SQL
查询器、Hive
的查询控制台等,而使用增强语法的SQL
编写的代码则不行。由于我们将标准的SQL
增强了,而SQL
周边生态工具却无法感知这样的增强,这时各种不便就随之而来了。
数据仓库建模自动化
在前文《数据仓库建模实践》中,我们提到了在确定DWD
层的构建原则之后,可以通过开发数据建模工具来辅助实现。这样的工具应该设计成什么样子呢?
建模工具的基本方案
建模工具的特点
一个理想的建模工具应该具备良好的易用性和灵活性。
数据应用开发语言和环境
在数据进入到数据平台之后,我们就可以正式开始构建数据应用了。一个常见的数据应用是数据报表和数据指标的开发。如何开发这样的数据应用呢?首先要决定的就是使用什么样的开发语言及如何构建开发环境。本文将结合我们的实践经验一起聊一聊这个话题。
数据仓库建模实践
数据平台数据管理实践
数据平台数据接入实践
快速、高质量、稳定的将数据从业务系统接入到数据平台是至关重要的一环。前面的文章中,我们分别提到了关系型数据库的数据接入和非关系型数据库的数据接入。除了来自技术上的挑战,数据接入还会遇到哪些其他挑战呢?
本文将尝试基于项目中的实践,给大家分享一下我们的思考。
一般而言,实施数据接入将可能碰到如下问题:
敏捷数据工程实践--基于代码的复用
MongoDB数据接入实践
把数据导入数据平台是挖掘数据价值的第一步,如果做不好,数据分析将受到很大影响。所以,快速、高质量、稳定的将数据从业务系统接入到数据平台是至关重要的一环。
数据平台最常见的一个数据源是关系型的数据库,然而随着软件技术的发展,越来越多的业务系统基于非关系型数据库开发,所以,非关系型数据库的数据接入时数据平台必备的能力之一。
我们的数据仓库基于Hive
构建,Hive
的设计可以很好的兼容关系型数据库,如果数据源是关系型数据库,数据接入会相对容易。如何从非关系型数据库中接入数据呢?这里面有没有什么经验值得分享呢?