作者:禅与计算机程序设计艺术
1.简介
数据湖、数据仓库、大数据平台正在成为越来越热门的话题,随着大数据应用不断升级,企业对数据的需求也在逐渐增加。由于公司业务量的快速增长和海量的数据存储需要大数据平台支撑,所以,如何构建一个高效、可靠、易扩展的数据仓库及相关的基础设施成为企业需要面临的问题。近几年,随着开源技术的火爆,数据仓库技术上有了一些成熟的方案,如Hive、Impala等。而对于一些复杂场景下的需求,比如ETL、数据质量保证、流水线调度、依赖管理等,现有的工具或平台不能满足要求,因此,需要设计并开发一套新的平台。本文将从以下几个方面进行阐述:
1) 数据管道概览:本文将会通过对数据管道(Data Pipeline)的概述和总体架构进行阐述。介绍数据管道概念,以及数据管道各个环节所承担的主要职责。
2) 数据同步模块:本文将介绍数据同步(Data Ingestion)的功能模块、流程原理以及算法原理。介绍了不同数据源之间的差异化对接方式,并提供了一些例子来说明。
3) ETL模块:本文将介绍ETL(Extract-Transform-Load)模块的功能模块、流程原理以及算法原理。ETL模块主要用于数据清洗、转换、加载等工作,可以分解为多个子模块,如数据抽取、转换、合并、路由、预处理、过滤、统计、模型训练、预测等。介绍了ETL模块的基本原理和各个模块的具体功能。
4) 数据质量保障模块:本文将介绍数据质量保障(Data Quality Assurance)模块的功能模块、流程原理以及算法原理。包括异常检测、缺失值检测、字段匹配、连续性检测、标准与约束校验、规则引擎等功能模块,并提供相应的算法原理。
5) 流水线调度模块:本文将介