数据仓库目前总共有4个部分:
1)ETL
2)数据模型
3)调度
4)可视化
一:ETL
1)目前ETL 主要使用kettle、Python、sql。
Kettle 在目前仓库的作用,更多的是从源库将数据抽取到数据仓库当中。
Sql 主要是数据的聚合和清洗
Python 主要数据的清洗。
目前源数据库分为mongoDB 和 mysql, 所以在抽取这二者的数据库时,会用到kettle不同的组件处理。
2)Kettle 简单介绍:
Kettle 的使用总共分为3个部分
* Spoon 图形界面方式启动作业和转换设计器。
* Kitchen 命令行方式执行作业(job)。
* pan 命令行方式执行转换 (ktr)。
* 资源库 用于存储制作的脚本。
Job(作业) 和 Transformation(ktr, 转换)的区别:
Transformation专注于数据的ETL;Job范围比较广,可以是Transformation,也可以是Mail、Sql、Shell、FTP甚至是Job。
简单地说,是包含与被包含的关系。
二:数据模型
目前主流的数据仓库模型是如下四种:
数据数据仓库使用的是维度模型。
维度模型又分为星型模型 和 雪花模型,而我们使用的是星型模型。
三:调度azkaban
azkaban 是LinkedIn 开源的一款调度工作, 使用调度工具可以避免以下相关问题。
四:可视化
目前使用的阿里的quickBI 来展示数据。
quickBI 数据可视化流程如下图所示
登录 | 立即注册