《Hadoop构建数据仓库实践》摘录

数据仓库模型

1 模型设计思考流程
在这里插入图片描述
2 Hive 使用时注意的情况
Hive 创建表时文件格式的选择
在这里插入图片描述
Hive事务的局限性
《Hadoop构建数据仓库实践》摘录_第1张图片

数据抽取

4种CDC变化数据拉取方式
《Hadoop构建数据仓库实践》摘录_第2张图片

时间戳:添加更新时间等字段

触发器:当执行insert,update等sql时触发等

快照:
	比如一天保存一份快照,第二天新快照和前一天快照根据主键全外连接。
	并根据主键比较的结果增加一个标志字段,I表示新增,U表示更新,D代表删除,N代表没有变化。外层查询过滤掉没有变化的记录。
	但是性能开销大,存储空间开销大

日志
	最复杂的和最没有侵入性的CDC方法是基于日志的方式
	如使用MySQL数据库,只要在数据库服务器中启用二进制日志(设置log_bin服务器系统变量)。
	之后就可以实时从数据库日志中读取到所有数据库写操作,并使用这些操作来更新数据仓库中的数据。
	这种方式需要把二进制日志转为可以理解的格式,然后再把里面的操作按照顺序读取出来

sqoop覆盖导入和增量导入
增量导入
《Hadoop构建数据仓库实践》摘录_第3张图片
《Hadoop构建数据仓库实践》摘录_第4张图片

增量方式,根据entry_date字段,每次之后导入该字段last-value之后的数据

小结
《Hadoop构建数据仓库实践》摘录_第5张图片

数据转换和装载

渐变维-处理维度历史变换问题
《Hadoop构建数据仓库实践》摘录_第6张图片

1 可以采用sqoop通过last-value增量形式每天全量将mysql数据覆盖写入hive mysql过渡表
2 执行初始装载sql语句,通过hive mysql真正数据表cross join过度表,增量写入hive mysql真正数据表中,
hive本身的id自增可以通过row_number/UDFRowSequence实现

定期装载可以根据时间戳等4种CDC方式来部分拉取数据

书中例子的设计

《Hadoop构建数据仓库实践》摘录_第7张图片

你可能感兴趣的:(大数据简单摘要篇,大数据,数据仓库,维度建模)