1.什么是离线
这是一个相对的概念 有离线数仓 就有实时数仓 以京东为例 假设数据来一条处理一条 这就是实时数仓 我们也可以按照固定周期处理 比如一天 一个月 一年处理一次 这个我们需要根据报表所需的周期进行处理 这就是离线数仓
2.什么叫数据仓库
数据仓库是用来存储离线的数据的仓库
3.数据仓库的作用
1)净化数据:数据可能来自于多个系统 所以数据会不一致 我们要保证入库的数据一致 将有的脏数据列去除 比如去空格 行列互换
2)拉宽:源数据不适合进行数据分析 例如 我们可以将student score course三张表合并为一张表 如果我们不做转换 我们需要进行表连接 再作查询分析 如果在入库时我们将其合并为一张表 这样查询分析速度就会变快 也可以将日期分解为年 月 日等 都是拉宽操作 有助于数据分析
4.数据仓库分层(ods dw ads)
1)ods层:ods层中的数据与源数据是一模一样的 只是做了一些简单的处理(去掉空格 字符串截取 转换值映射 0-男)实现隔离层 保证了数据的原始性
2)dwd层:数据明细层 数据的粒度与ods层是一样的 区别是dwd层采用的是维度建模(把表分成维度表和事实表)数据干净 而ods层采用的是三范式建模
3)dws层:宽表(通用宽表 是由多表连接查询出来的)
4)ads层:应用层 放数据统计结果
、以上几个分层都在hive中
数据仓库就是数据处理 ETL开发
5.为什么使用kettle
因为kettle的工具比较丰富 功能强大 数据源可以有多个