概要:数据仓库是一个过程而不是一个项目;是一个环境而不是一件产品。 数据仓库将多个数据源的数据按照一定主题集成起来,经过抽取、清洗、转换。整合后的数据不允许随便修改,定期更新,这个过程叫做ETL:抽取(extract)、转换(transform)、加载(load)。
数据仓库大致流程
ODS层:外部数据源ETL到数仓里最原始的数据 DWD层:对ODS层中的表按一定主题进行划分和加工,内容还是明细数据 DWS层:对DWD层数据进行汇总 ADS层:数据应用层,分析报表等。 DM层:data mart,数据集市,为特有业务独立提取出数据,针对性强。
数据库与数据仓库的区别
数据库:操作型处理 数据仓库:分析型处理
hive
hadoop,分布式系统架构,其中一个组件HDFS(hadoop distributed file system)用于分布式高效处理数据。
hive是建立在hadoop上的数据仓库架构,提供一系列工具来进行数据ETL(提取转化加载),定义了hive sql语言,让不懂java的人也可以进行数据处理。
MapReduce
类比:map为老师,负责分配任务,reduce为学生,负责整理结果。
看到网上几张图,比较通俗易懂:
hive的优化
1、减少数据:条件前置,减少获取列 原语句:
select a.name,b.name
from table1 a
left join table2 b
on a.id = b.id
优化后:
select a.name,b.name
from table1 a
left join(select id,name from table2) b
on a.id = b.id
…未完待续
|