前文讨论了敏捷数据工程实践的相关概念。有哪些具体的敏捷数据工程实践呢?本文将分享“基于代码的复用”实践。
应用软件开发中的代码复用
在应用软件开发中,代码复用是一件显而易见的、开发人员几乎每天都在做的事情。良好的代码复用可以有效降低代码重复率,提高效率,并减少潜在的BUG。
把数据导入数据平台是挖掘数据价值的第一步,如果做不好,数据分析将受到很大影响。所以,快速、高质量、稳定的将数据从业务系统接入到数据平台是至关重要的一环。
数据平台最常见的一个数据源是关系型的数据库,然而随着软件技术的发展,越来越多的业务系统基于非关系型数据库开发,所以,非关系型数据库的数据接入时数据平台必备的能力之一。
我们的数据仓库基于Hive构建,Hive的设计可以很好的兼容关系型数据库,如果数据源是关系型数据库,数据接入会相对容易。如何从非关系型数据库中接入数据呢?这里面有没有什么经验值得分享呢?
《重构–第二版》在我的书单里面待了好长一段时间了,趁着放假有时间读了一遍。这本书作为我司首席科学家老马的大作,同时又有大熊和林丛羽的翻译加持,值得每个人认真的反复的学习。
重构作为敏捷实践的精髓之一,在我们这个以敏捷为立身之本的公司里应当属于大家信手拈来的基本技能了。虽然说重构的基本思想长期不过时,但是第一版《重构》毕竟已经是20年前的事情了,20年以来软件开发行业兴起了无数新的编程思想、语言、工具、框架等,现在回过头去看第一版,会发现不仅纸质书籍难以买到,而且知识上也总觉得有点脱节。新版本以JavaScript语言作为示例,重新思考并改进了第一版本中的众多重构手法,结合了多年来一些新的观点和思考,带给了我们一套更为丰富完善的重构体系。
通读一遍本书,很多让我产生共鸣的地方,同时本书让我对于我们日常的一些实践有了新的看法,对于我们经常讨论的一些问题也有了新的结论。下面想摘录一些重要的观点,并分享几点我的理解,与大家一起学习。
随着数据在越来越多的企业中被应用,数据技术的发展可谓突飞猛进。不仅基于Hadoop的大数据生态在持续完善,我们也能看到很多新兴的分布式技术如潮水般涌现。以下是来自中国信通院《大数据白皮书(2020年)》整理的大数据技术体系图谱:


Previous posts about Easy SQL
It’s always been a pain point to do ETL testing. But it more and more becomes a must after data being so widely used these days.
An ETL with more than 100 lines of code is common. The filter conditions, data transformation rules, join conditions and other logic there could be very complicated.
在文章开始之前,我们先回顾一下TDD带来的好处。当我们理解TDD之后我们至少会发现下面这三点:
TDD给我们编写代码带来的好处多多,我前面有一篇文章主要分析了如何从改善设计的角度理解TDD,相信大家能感受到TDD给改善程序设计带来的好处。这里我想再次分享一个用TDD改善设计的例子,我们将从中看到不用TDD时我们的代码可能会变成什么样,而用了TDD又将变成什么样。