背景
了解数据仓库、数据流架构的搭建原理对于合格的数据分析师或者数据科学家来说是一项必不可少的能力。它不仅能够帮助分析人员更高效的开展分析任务,帮助公司或者业务线搭建一套高效的数据处理架构,更是能够从根本上提升公司的数据驱动能力
同时,对于很多数据方向的初学者来说,网上的资料大部分都是辅导如何使用excel、sql、python做分析,建模的,大部分情况下用来处理的数据已经是csv或者excel格式了。这就会让很多人认为,数据分析的重点就是分析方法和写报告,而忽略了数据生产及存储这个非常重要的环节
在我学习时,发现网上关于大数据背景下的数仓建设相关的入门资料非常少,想要学习时只能去翻又厚又长的《数据仓库》、《数据仓库工具箱》,学习曲线非常陡峭,对于初学者很不友好。于是当时也被迫放弃了,但是后来在工作中又很巧的涉及到了这部分内容,没办法,只能一边工作一边硬着头皮从头学起
所以本篇就希望能够通过最浅显的总结和介绍,让大家对于大数据背景下的数仓建设和数据分层产生一点点研究的兴趣,同时帮助初级的数据人员把数仓建设这个环节补上,形成更完善的数据思维体系,以后工作中少走弯路
文章结构
- 数据分层处理诞生的背景
- 以Azure为例,浅析数据分层处理架构
- 数据分层、大数据处理流程详解
- ETL详解
- 维度建模详解
一、数据分层处理流诞生背景
大数据时代数据的特点被总结为
- Volume (大量)
- Variety (多样)
- Velocity(高速)
- Value (价值)
传统的基于关系型数据库的数仓建设在面对海量数据、结构化半结构化无结构化等多样的数据格式、实时分析的需求时,逐渐变得无力应对。于是Hadoop、HIve、Spark、Storm、Flume、Sqoop等各种各样的数据处理框架应运而生,同时出现了数据分层的概念
在选择一个技术栈深耕前,我们需要先抬起头来,看看整个大数据流处理架构大概是怎么样的,不同的技术栈在其中分别扮演了什么样的角色,起到了什么样的作用,传统的数仓建设知识在新的大数据架构下是否还能够产生价值
二、Azure数据处理架构
数据处理流可以被抽象成5个步骤。从原始数据的获取开始,在获取到原始数据后进行ingestion,这里可以理解为基础的处理和提取,接下来将处理好的数据录入公司数据库进行存储。存储好的数据便可以用来做数据处理和数据可视化等分析挖掘操作了
看个复杂点的,微软数据平台Azure面向企业级的数据流,其实拆分看也就五个步骤,只不过每个步骤下因为不同的业务需要有了更细致的操作处理
三、数据分层、大数据处理流程详解
就着下面这个框架图,我们来一步一步的看看,大数据背景下的数据从生产到最后声称报告产生业务价值,到底有哪些步骤