数据仓库设计与实现入门(一、ODS/DW/BN简介)

一、从数据流的逻辑上来讲,数据主要分为ODS层(原始日志数据),DW层(数据仓库),BN(统计结果数据)

Spark/SparkStreaming任务加载原始日志(离线处理flume落地到hadoop集群的hdfs或实时消费kafka数据)提取业务最原始数据,根据业务逻辑生成ODS层数据(分类/分流后的原始日志);再根据业务场景进一步将业务ODS层数据划分到DW层(处理后的数据模型);最后跟据具体业务需求,从DW层数据模型中产出最终业务数据,即BN层;

ODS、DW层数据一般直接存储于hdfs,建议以orc(优先)/parquet(嵌套数据结构)文件格式存储(列式存储,DataFrame读写,压缩比较高,且读写较快,支持hive、impala等),DW层数据可以建立Hive表,供数据分析师直接使用Hive Sql/Spark Sql使用sql语言查询。

BN层数据一般存储hdfs(冷数据)+ ES、Hbase、MySQL或Redis(热数据)。这部分数据可以作为数据管理系统后台数据(提供产品运营同事查询),或作为接口服务的后台数据,提供数据接口与业务研发同事使用(出于数据安全性考虑,一般不建议直接提供数据库与业务研发同事访问或数据直接写入业务数据库)。

下一章:产品数据分类,数据模型设计

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章