《大数据分析-数据仓库项目实战》--阅读笔记

news2025/4/5 0:48:00

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

前言描述

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

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

采集: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表

总结

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

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

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/21351.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

统计信号处理基础 习题解答6-10

题目: 我们继续习题6.9,考察在有色噪声环境下OOK系统信号选择的问题,令噪声 为零均值的WSS随机过程,ACF为 求PSD,并且对于 画出PSD的图形。和前一个系统一样,对于N50,求产生BLUE最小方差频率。提示&#x…

Espressif-IDE NameError: name ‘websocket‘ is not defined 解决方法

前言 ESP32 具有wifi 与 蓝牙,性价比比较高,一些嵌入式开发中经常用到,最近更新了一下 ESP32的开发环境, ESP32 开发工具下载地址:https://dl.espressif.cn/dl/esp-idf/ 下载文件:espressif-ide-setup-2.7…

HIve数仓新零售项目DWS层的构建(Grouping sets)模型

HIve数仓新零售项目 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flink Kaf…

一文搞懂《前后端动态路由权限》

前言 本文主要针对后台管理系统的权限问题,即不同权限对应着不同的路由,同时侧边栏的路由也需要根据权限的不同异步生成。我们知道,权限那肯定是对应用户的,那么就会涉及到用户登录模块,所以这里也简单说一下实现登录的…

同花顺_代码解析_技术指标_S

本文通过对同花顺中现成代码进行解析,用以了解同花顺相关策略设计的思想 目录 SADL SAR SDLH SG_NDB SG_XDT SG_评分 SGSMX SG量比 SI SKDJ SRDM SRMI STIX SADL 腾落指数 1.ADL与指数顶背离时,指数向下反转机会大; 2.ADL与指…

合成孔径SAR雷达成像成(RDA和CSA)(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

(免费分享)基于springboot博客系统

源码获取:关注文末gongzhonghao,输入015领取下载链接 开发工具:IDEA,数据库mysql 技术:springbootmybatis-plusredis 系统分用户前台和管理后台 前台截图: 后台截图: package com.puboot.…

思泰克在创业板过会:拟募资4亿元,赛富投资、传音控股等为股东

11月18日,深圳证券交易所创业板披露的信息显示,厦门思泰克智能科技股份有限公司(下称“思泰克”)获得上市委会议通过。据贝多财经了解,思泰克的招股书于2022年5月5日获得创业板受理。 本次冲刺创业板上市,思…

西北工业大学算法理论考试复习

😀大家好,我是白晨,一个不是很能熬夜😫,但是也想日更的人✈。如果喜欢这篇文章,点个赞👍,关注一下👀白晨吧!你的支持就是我最大的动力!&#x1f4…

阿里云免费SSL证书过期替换

阿里云上有免费的SSL证书,但是好像一个账号全部免费的额度只有20张,一张可以用1年,意思是如果20年后你还需要SSL证书的话,那么你可能就得买了。 我的SSL证书过期了,网站能访问,但是浏览器总是说站点不安全&…

【蓝桥杯冲击国赛计划第7天】模拟和打表 {题目:算式问题、求值、既约分数、天干地支}

文章目录1. 模拟和打表1.1 定义2. 实例「算式问题」题目描述运行限制2.1 简单分析2.2 检查函数2.3 三重化二重3. 实例「求值」题目描述运行限制3.1 简单分析3.2 主函数4. 实例「既约分数」题目描述运行限制4.1 简单分析4.2 辗转相除法2.3 主函数5. 实例「天干地支」题目描述输入…

同花顺_代码解析_技术指标_T、U

本文通过对同花顺中现成代码进行解析,用以了解同花顺相关策略设计的思想 目录 TBR TRIX TRIXFS TWR UDL UOS TBR 新三价率 新三价率:100*上涨家数/(上涨家数下跌家数) MATBR1:TBR的M1日异同移动平均 MATBR2:TBR的M2日异同移动平均 1.指数仍处于下跌状态&a…

Java数据结构 | PriorityQueue详解

目录 一 、PriorityQueue 二、PriorityQueue常用方法介绍 三、 PriorityQueue源码剖析 四:应用:Top-K问题 一 、PriorityQueue 常用接口介绍 上文中我们介绍了优先级队列的模拟实现, Java集合框架中提供了PriorityQueue和PriorityBlocki…

2021 XV6 4:traps

目录 1.RISC-V assenbly 2.Backtrace 3.Alarm 1.RISC-V assenbly 第一个任务是阅读理解,一共有6个问题。 1.Which registers contain arguments to functions? For example, which register holds 13 in mains call to printf? 具体来说就是a0,a1几个…

Docker入门

目录 Docker的作用 Docker的核心概念 Docker安装 镜像命令 镜像下载 查看镜像 搜索镜像 删除镜像 容器命令 创建容器 列出容器 新建并启动容器(最常使用) 守护态运行 启动容器 终止容器 重启容器 进入容器 attach命令 exec命令(最常使用) 退出容器…

【JavaEE】一文掌握 Ajax

🐱‍🏍目录1. AJAX 简介2. 伪造Ajax演示3. jQuery.ajax3.1 简单测试,使用最原始的HttpServletResponse处理3.2 使用ajax动态构建前端表格3.3 登录提示效果小demo4. 练习小demo,实现百度搜索框的动态内容提示5. 总结:1.…

纸牌游戏洗牌发牌排序算法设计

纸牌游戏洗牌发牌排序算法设计 本文提供纸牌游戏设计制作的基础部分,即洗牌,发牌,牌张排序排列显示的算法。 以及游戏开始时间使用时间的显示。我是用简单的C语言编译器MySpringC在安卓手机上编写的。此是游戏的框架,供游戏设计者…

计算机网络4小时速成:网络层,虚电路和数据包服务,ipv4,ABC类地址,地址解析协议ARP,子网掩码,路由选择协议,路由器

计算机网络4小时速成:网络层,虚电路和数据包服务,ipv4,ABC类地址,地址解析协议ARP,子网掩码,路由选择协议,路由器 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,…

关于瑞萨R7 的CANFD切换为经典CAN

首先,R7的CANFD是兼容CAN通讯的,在R7芯片他们公用相同的寄存器,至于发出来的帧是CANFD还是CAN取决于协议的不同。 CANFD是可变速率数据段为可变长度,扩展到64Byte,仲裁段和数据段的速率不相同。CANFD新增了FDF,BRS,ESI。FDF表示是…

牛客_小白月赛_61

传送门 A 如果不是特意防止溢出了,那么需要用long,否则会一直卡 很普通的写法,超了就 1, 最后补上一个 1就行 (所以, 这题我wa了8次, 卡了半个小时,就是因为没开 long ! ! !) package com.csh.A; /*** author :Changersh* date : 2022/11/18*/import java.io.*; i…