0%

在前文《数据仓库建模实践》中,我们提到了在确定DWD层的构建原则之后,可以通过开发数据建模工具来辅助实现。这样的工具应该设计成什么样子呢?

建模工具的基本方案

建模工具的特点

一个理想的建模工具应该具备良好的易用性和灵活性。

阅读全文 »

data development language and environment

在数据进入到数据平台之后,我们就可以正式开始构建数据应用了。一个常见的数据应用是数据报表和数据指标的开发。如何开发这样的数据应用呢?首先要决定的就是使用什么样的开发语言及如何构建开发环境。本文将结合我们的实践经验一起聊一聊这个话题。

阅读全文 »

data modeling practice

前面的文章中我们讲到了数据仓库。我们都知道,仓库的一般意义是指一个特别大的是用于存放各种物品的库房,所以,数据仓库常常可以给人一个很直观的理解,就是一个可以存放各种数据的大的存储。

在建设数据仓库时,我们常常要对数据进行分层,比如常见分层方式:ODS层->DWD层->DWB层->DM层->ADS层。

数据仓库建模通常是指DWD层的建模,因为DWD是数据仓库中使用最广泛的数据分层,我们需要尽可能保证这一层的易用性。DWD层的模型很大程度上影响了一个数据仓库项目甚至数据平台项目的成败。本文将针对DWD层数据建模分享一下我们在项目上的实践经验。

阅读全文 »

Data management in data platform

我们在前面的文章中讨论了如何将数据接入到数据平台。一般而言,接入到数据平台的数据会来自众多的业务系统,这样一来,我们就拥有了大量不同来源的数据。如何将这些数据有效的管理起来是一个很大的挑战。本文将尝试结合我们的项目实践经验做一些分享。

(数据仓库可以理解为数据平台中所有数据的一个集合,所以,数据平台中的数据管理也可以说是数据仓库中的数据管理。下文中数据平台和数据仓库会经常交替使用,其意义基本一致。)

阅读全文 »

快速、高质量、稳定的将数据从业务系统接入到数据平台是至关重要的一环。前面的文章中,我们分别提到了关系型数据库的数据接入非关系型数据库的数据接入。除了来自技术上的挑战,数据接入还会遇到哪些其他挑战呢?

本文将尝试基于项目中的实践,给大家分享一下我们的思考。

一般而言,实施数据接入将可能碰到如下问题:

阅读全文 »

前文讨论了敏捷数据工程实践的相关概念。有哪些具体的敏捷数据工程实践呢?本文将分享“基于代码的复用”实践。

应用软件开发中的代码复用

在应用软件开发中,代码复用是一件显而易见的、开发人员几乎每天都在做的事情。良好的代码复用可以有效降低代码重复率,提高效率,并减少潜在的BUG。

阅读全文 »

把数据导入数据平台是挖掘数据价值的第一步,如果做不好,数据分析将受到很大影响。所以,快速、高质量、稳定的将数据从业务系统接入到数据平台是至关重要的一环。

数据平台最常见的一个数据源是关系型的数据库,然而随着软件技术的发展,越来越多的业务系统基于非关系型数据库开发,所以,非关系型数据库的数据接入时数据平台必备的能力之一。

我们的数据仓库基于Hive构建,Hive的设计可以很好的兼容关系型数据库,如果数据源是关系型数据库,数据接入会相对容易。如何从非关系型数据库中接入数据呢?这里面有没有什么经验值得分享呢?

阅读全文 »

前文讨论了敏捷数据工程实践的相关概念。有哪些具体的敏捷数据工程实践呢?本文将分享“代码化一切”的实践。

Everything as code

代码化XX

在应用软件开发中,“代码化一切”被讨论得很多。常见的代码化XX有:

阅读全文 »

随着数据在越来越多的企业中被应用,数据技术的发展可谓突飞猛进。不仅基于Hadoop的大数据生态在持续完善,我们也能看到很多新兴的分布式技术如潮水般涌现。以下是来自中国信通院《大数据白皮书(2020年)》整理的大数据技术体系图谱:

Data Tech Stack

阅读全文 »

Easy SQL

SQL as the main ETL language

Speaking of data development, we have seen various programming languages being used.

Some team will choose python for it’s simplicity and for the great pandas library. Other team will choose Scala if they are using Spark. Others may try Spark DataFrame API etc.

阅读全文 »