《大数据分析-数据仓库项目实战》--阅读笔记
创始人
2024-02-03 17:07:45
0

本文是《大数据分析-数据仓库项目实战》阅读笔记。 内容全部摘抄于本书。
算入门教材、文中有大量软件的安装步骤、对技术细节未过多涉及。

前言描述

大数据时代,需要考虑数据的采集、存储、计算处理等方式。

数据仓库建模方式:确定业务过程、声明粒度、确定维度、确定事实

采集:Flume、kafka、Sqoop
存储:MySQL、Hadoop、HBase
计算:Hive、Tez
查询:Presto、Druid、Kylin
可视化:Superset
任务单调动:Azkaban
元数据管理:Atlas
脚本:Shell


第1章 大数据与数据库概论

大数据生态圈

一切行为几乎都可以用数据来描述
在这里插入图片描述

大数据采集过程的调整:

  1. 数据源多种多样
  2. 数据量大且变化快
  3. 如何保障数据采集的可靠性
  4. 如何避免采集重复的数据
  5. 如何保证采集的数据的质量

现在主流的数据采集传输工具: Sqoop、Flume、DataX

目前广泛数据仓库分层: 大致分为原始数据层、明细数据层、汇总数据层和应用数据层

数据仓库概论

数据仓库:Data Warehouse (简称:DW、DWH)

数据仓库的特点:面向主题、数据是集成、不可更新、随着时间不断变化

第2章 项目需求描述

在数据仓库领域有一个概念叫Ad hoc queries,中文一般翻译为“即席查询”。即席查询是指那些用户在使用系统时,根据自己当时的需求定义的查询

系统功能结构: 数据采集、数据仓库平台、数据可视化和即席查询
在这里插入图片描述
数据采集:对数据进行清洗、转义、分类、重组、合并、拆分、统计。对数据进行合理分层。

系统流程图

在这里插入图片描述

数据采集模块(断点续传、实现数据消费 “at least once”)

数据仓库需求之分层

ODS:operation data store 原始数据层
DWD: Data warehouse Detail,明细数据层。(对ODS层数据进行清洗,去处空值、脏数据、超过极限范围的数据)
DWS:Data warehouse Service (轻度汇总、一般聚集到以用户当日、设备当日等)
DWT:Data warehouse topic:主题数据层。 (对DWS层的进一步聚合)
ADS:application Data store: 数据应用层

需求实现

电商平台的数据分析(关注点: 活跃用户量、转化、留存、复购、GMV成交金额; 以及三大关键思路:商品运营、用户运营和产品运营)

技术选型

Flume: 高可用、高可靠、分布式的海量数据收集系统,可以从多种数据源系统采集、聚集和移动大量的数据并集中存储。
Kafka:提供容错存储、高实时性的分布式消息队列平台。 可以应用和处理系统见高实时性和高可靠性的。(实时性流式计算)
Sqoop: 用于关系型数据库与HDFS之间的传输数据
HDFS:是hadoop的分布式文件系统。
Hive:是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能
即席查询:Presto基于内存计算、Druid优秀懂得时序数据处理引擎、Kylin基于预Cub创建计算

第3章 项目环境准备

远程终端管理: PuTTY、SecureCRT

第4章 用户行为数据采集模块

Flume组建: Flume整体上是 Source-Channel-Sink的三层,其中Source层完成对日志的收集、将日志封装成event传入Channel层,Channel层提供队列的功能,对Source层传入的数据提供简单的缓存从哪个,Sink层取出Channel层的数据,将数据送入存储文件系统中。

Fulme的ETL拦截器和日志类型区分拦截器

各种软件安装, 略。

第5章 业务数据采集模块

Sqoop是一个用于将关系型数据库和Hadoop中的数据进行转义的工具,可以将一个关系型数据库(MySQL、Oracle)中的数据导入hadoop(HDFS、Hive、HBASE),也可以反过来

数据同步策略:

  1. 每日全量同步
  2. 每日新增同步
  3. 每日新增和变化同步
  4. 拉链表 (对新增以及变化进行定期合并,增加一个时间段)

第6章 数据仓库搭建模块

数据仓库(Data warehouse)是一个面向主题(Subject oriented)、集成(Integrate)、相对稳定(No-Volatile)、反映历史变化(Time Variant)的数据集合

使用范式的目的:减少数据冗余、尽量让每个数据只出现一次、保证数据的一致性

在维度建模的基础上: 有三种模型:星型模型、雪花模型、与星座模型。
星型模型: 当所有维度表都直接连接到事实表上,这个图就像星星一样。
雪花模型: 当有一张或者多张维度表没有直接连接到事实表上,而通过其他维度表连接到事实表上时。是对星型模型的扩展。 去处了数据冗余,比较靠近第三范式,但无法遵守,原因是成本太高

数据仓库搭建环境

Hive是一款用类SQL语句来协助读、写、管理那些存储在分布式存储系统上的大数据集的数据仓库软件。 Hive可以将SQL语句解析成MapReduce程序。

MySQL HA: 基于Keepalive的的MySQL的HA。Keepalived是基于VRRP的一款高可用软件。

其中Hive内置了对JSON解析操作的函数

UDF: user-defined function 用户自定义函数

对导入的数据注意分区存储,避免全局扫描

拉链表:是维护历史状态以及最新状态数据的一种表,用于记录每条信息的生命周期

第7章 数据可视化模块

superset 是一个开源的、现代化的、轻量级的BI分析工具、能够对接多种数据源、拥有丰富的图标展示形式、支持自定义仪表盘,拥有友好的用户界面,十分易用

Superset 是Python编写的web应用

第8章 即席查询模块

分别以Presto、druid、Kylin

Presto: 是facebook推出的一个开源的分布式SQL查询引擎,数据规模支持GB和TP,主要用于处理秒级查询的场景

Presto: 是基于内存的,减少了IO,它能链接多个数据源进行连表查询。虽然能处理PB级的海量数据,但Presto并不能把PB级的数据都放在内存中进行计算

Druid: 是一个高性能的实时分析数据库,它在PB级数据处理,毫秒级查询,数据实时处理方面,比传统的OLAP系统有显著的性能提升。

列式存储、可扩展的分布式、大规模并行查询

Kylin:分布式分析引擎,在亚秒内查询巨大的Hive表

总结

粗略的对整个大数据的部分技术做了一个简单的了解。对其中的具体实现并未逐步操作(实际上并不需要)、整体的方案更加偏向离线计算分析、对实时计算的部分基本没有、算是一本入门科普教材。

注意:本文中描述了大量软件的安装过程,如果想进行实际操作的可以跟着操作,步骤详细。

整体的内容围绕下面两幅图展开的:
在这里插入图片描述

在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...