Apache hive 数据仓库 大数据

#对于数据仓库的理解
#apache hive的分层和建模是固定的么

望采纳
不是的,给你简单说说,,
可以根据用户的需求进行定制。Hive是一种灵活的架构,可以根据用户的需求进行定制,以满足不同的数据仓库需求,,

1、分层是 整个数据仓库的模型设计,大部分是通过维度建模模型来设计的,根据公司的业务需求来设计,分不同的层
2、hive 是一个基于MR的计算引擎,它就是为了方便我们写sql的,其它计算引擎(spark,flink)

你好,分层的思想是经过演变过来的,举个例子,比较经典的MVC分层思想,java的controller、service、mapper分层思想等等

其实在数仓中你不用分层也可以开发指标,比如你统计昨天合同数量和金额,你可以直接在贴源层的表中统计,但是会有问题
1、耦合性很高,各种表之间的关联处理后,类似指标也要做这种处理,不够通用
2、代码非常冗余,数据清洗也做,统计也做,复杂的逻辑代码特别的长
3、查找问题困难,一旦出现bug,几百行的代码排查起来简直要命
4、结构不清晰、维护困难

用了分层后,规定每一层只做每一层的事情,比如A表清洗和转换过了,形成了A1表,那么这个A1表全局都可用,不用每次都转换,分层后代码也简洁了好多,逻辑分离了,问题就好排查

分层不是固定不变的,要理解为什么分层,有哪些好处,然后才能合理的运用分层,有些公司分3层,有些公司4层,有些公司5层,这个不是规定好的,而且根据业务确定的,分几层没有好坏之分