剑指大数据-企业级数据仓库项目实战

第1章 

大数据与数据仓库概论

大数据生态圈分为7层,这7层可以概括为数据采集层、数据计算层、数据应用层3层结构。

第4章

用户行为数据采集模块

4.1日志生成

4.1.1数据埋点

用户行为日志的内容,主要包括用户的各项行为信息,以及行为所处的环境信息。收集这些信息的主要目的是优化产品和各项分析统计指标提供数据支撑。收集这些信息的手段通常为埋点。

目前主流的埋点方式有代码埋点(前端或后端)、可视化埋点、全埋点3种。

代码埋点是通过调用埋点SDK函数,在需要埋点的业务逻辑功能位置调用接口,上报埋点数据。

可视化埋点只需要研发人员集成采集SDK,不需要写埋点代码,业务人员就可以通过访问分析平台的圈选功能,来圈出需要对用户行为进行捕捉的控件,并对该事件进行命名。

全埋点是通过在产品中嵌入SDK,前端自动采集页面上的全部用户行为事件,上报埋点数据,相当于做了一个统一的埋点,然后再通过界面配置哪些数据需要在系统里进行分析。

4.1.2用户行为日志格式

我们的日志结构大致可分为3类:页面埋点日志、启动日志和播放日志。

4.3采集日志的Flume

日志采集层Flume需要完成的任务是将日志从落盘文件中采集出来,传输给消息中间件Kafka集群,这期间要保证数据不丢失,程序出现故障死机后可以快速重启,并对日志进行初步分类,分别发往不同的Kafka topic,方便后续对日志数据分别进行处理。

Flume组件

Flume整体上是Source-Channel-Sink的三层架构,其中,Source层完成对日志的收集,将日志封装成event传入Channel层中;Channel层主要提供队列的功能,对Source层中传入的数据提供简单的缓存功能;Sink层取出Channel层中的数据,将数据送入存储文件系统中,或者对接其他的Source层。

Flume以Agent为最小独立运行单位,一个Agent就是一个JVM,一个Agent由Source-Channel-Sink三大件构成。

Flume将数据表示为event(事件),event由一字节数组的主体body和一个key-value结构的报头header构成。其中,主体body中封装了Flume传送的数据,报头header中容纳的key-value信息则是为了给数据增加标识,用于跟踪发送事件的优先级和重要性,用户可以通过拦截器进行修改。

Flume的数据流由event贯穿始终,这些event由Agent外部的Source生成,当Source捕获事件后会进行特定的格式化,然后Source会把事件推入Channel中,Channel中event会由Sink来拉取,Sink拉取event后可以将event持久化或者推向另一个Source。

此外,Flume还有一些使其应用更加灵活的组件:拦截器、Channel选择器、Sink组和Sink处理器。其功能如下。

拦截器可以部署在Source和Channel之间,用于对事件进行预处理或者过滤,Flume内置了很多类型的拦截器,用户也可以自定义拦截器。

Channel选择器可以决定Source接收的一个特定事件写入哪些Channel组件中。

Sink组和Sink处理器可以帮助用户实现负载均衡和故障转移。

第6章

数据仓库搭建模块

主流的数据仓库设计模型有两种:关系模型和维度模型

关系模型

用表的集合来表示数据和数据间的关系。

维度模型

数据处理大致可以分为两大类:联机事务处理OLTP、联机分析处理OLAP。OLTP是传统的关系型数据库的主要应用,而OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且可以提供直观、易懂的查询结果。

                                             OLAP与OLTP的主要区别

对比属性OLTPOLAP
读特性每次查询只返回少量数据对大量记录进行汇总
写特性随机、低延时写入用户的输入批量导入
使用场景用户,Java EE项目内部分析师,为决策提供支持
数据特征最新数据状态随时间变化的历史状态
数据规模GBTP到PB

6.2.2为什么要分层

数据仓库中的数据要想发挥最大的作用,必须进行分层,优点如下:

1.复杂问题简单化

2.减少重复开发

3.隔离原始数据

4.清晰数据结构

5.数据血缘追踪

数据仓库具体如何分层取决于设计者对数据仓库的整体规划,不过大部分的思路是相似的。本书将数据仓库分为五层

ODS原始数据层

DWD明细数据层

DIM维度数据层

DWS汇总数据层

ADS数据应用层

Hive是基于Hadoop的一个数据仓库工具。因为Hive是基于Hadoop的,所以Hive的默认计算引擎也就是Hadoop的计算框架MapReduce。MapReduce是Hadoop提供的,可用于大规模数据集的计算编程模型,在推出之初解决了大数据计算领域的很多问题,但是其始终无法满足开发人员对于大数据计算在速度上的要求。随着Hive的升级更新,目前Hive还支持另外两个计算引擎,分别是Tez和Spark。

Hive是一款用类SQL语句来协助读/写、管理那些存储在分布式存储系统上的大数据集的数据仓库软件。Hive可以将类SQL语句解析成MapReduce程序,从而避免编写复繁杂的MapReduce程序,使用户分析数据变得容易。Hive要分析的数据存储在HDFS上,所以它本身不提供数据存储功能。Hive将数据映射成一张张的表,而将表的结构信息存储在关系型数据库(如Mysql)中,所以在安装Hive之前,我们需要先安装MySQL。

第8章

数据可视化模块

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

由于Superset能够对接常用的大数据分析工具,如Hive、Kylin、Druid等,且支持自定义仪表盘,所以可作为数据仓库的可视化工具。

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

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

相关文章

MySQL 基础知识(六)之数据查询(一)

目录 1 基本查询 1.1 查询相关列 (select * / 列名) 1.2 别名 (as) 1.3 去重 (distinct) 1.4 对列中的数据进行运算 (、-、*、/) 2 条件查询 (where) 2.1 等值查询 () 2.2 非等值查询 (>、<、>、<、!、><) 2.3 逻辑判断 (and、or、not) 2.4 区间判…

源码推荐:hello-algo @ github

github https://github.com/krahets/hello-algo 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。全书采用动画图解&#xff0c;结构化地讲解数据结构与算法知识&#xff0c;内容清晰易懂&#xff0c;学习曲线平滑。算法源代码皆可一键运行&#xff0c;支…

超越Swagger和Postman:使用Visual Studio的.http文件轻松调试Web API

在软件开发过程中&#xff0c;调试Web API是至关重要的环节。传统上&#xff0c;开发人员经常使用Swagger或Postman等工具来测试API。然而&#xff0c;Visual Studio提供了一项内置功能&#xff0c;使用.http文件可以更快速、简便地调试Web API。本文将介绍如何使用Visual Stud…

Node.js开发-包管理工具

包管理工具 1) 概念2) npm3) 配置命令别名 1) 概念 管理『包』的应用软件&#xff0c;可以对「包」进行 下载安装 &#xff0c; 更新 &#xff0c; 删除 &#xff0c; 上传 等操作 借助包管理工具&#xff0c;可以快速开发项目&#xff0c;提升开发效率 下面列举了前端常用的…

上位机图像处理和嵌入式模块部署(借鉴与学习)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 对于很多学院派的同学来说&#xff0c;他们对市场的感觉一般是比较弱的。如果写一个软件的话&#xff0c;或者说开发一个项目的话&#xff0c;他们…

(一)【Jmeter】JDK及Jmeter的安装部署及简单配置

JDK的安装和环境变量配置 对于Linux、Mac和Windows系统&#xff0c;JDK的安装和环境变量配置方法略有不同。以下是针对这三种系统的详细步骤&#xff1a; 对于Linux系统&#xff1a; 下载适合Linux系统的JDK安装包&#xff0c;可以选择32位或64位的版本。 将JDK的安装包放置…

六、Java高级-泛型(二)

2、泛型的实现 2.1 泛型的使用 1、类或接口后面→泛型类/泛型接口&#xff08;参数化的类型&#xff09; 当类中的某个成员变量不确定时&#xff0c;可以考虑在类的上面声明泛型&#xff1b;当类/接口中某个非静态方法的形参或返回值不确定时。当类或接口中的某个/某些非静态…

VueCLI核心知识3:全局事件总线、消息订阅与发布

这两种方式都可以实现任意两个组件之间的通信 1 全局事件总线 1.安装全局事件总线 import Vue from vue import App from ./App.vueVue.config.productionTip false/* 1.第一种写法 */ // const Demo Vue.extend({}) // const d new Demo()// Vue.prototype.x d // 把Dem…

【算法】树状数组和线段树

文章目录 一、树状数组二、线段树 一、树状数组 O ( l o g n ) O(logn) O(logn) &#xff1a;单点修改、区间查询 与前缀和的区别&#xff1a; 前缀和是离线的&#xff0c;每次动态修改原数组某个元素&#xff0c;都需要重新求一遍前缀和&#xff0c;因此单点修改是 O ( n )…

RK3568平台开发系列讲解(实验篇)用户空间和内核空间数据交换

🚀返回专栏总目录 文章目录 一、用户空间和内核空间数据交换二、实验驱动代码三、应用测试代码沉淀、分享、成长,让自己和他人都能有所收获!😄 一、用户空间和内核空间数据交换 内核空间和用户空间的内存是不能互相访问的。但是很多应用程序都需要和内核进行数据的交换,…

【AI视野·今日NLP 自然语言处理论文速览 第七十八期】Wed, 17 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 17 Jan 2024 (showing first 100 of 163 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Deductive Closure Training of Language Models for Coherence, Accur…

Mamba-UNet:用于医学图像分割的类似UNet的纯视觉Mamba网络

文章目录 摘要1、引言2、方法2.1、架构概述2.2、VSS 块2.3、编码器2.4、解码器2.5、瓶颈和跳跃连接3、实验与结果3.1、数据集3.2、实现细节3.3、基准方法3.4、评估指标3.5、定性结果3.6、定量结果4、结论摘要 在医学图像分析的最新进展中,卷积神

【手写数据库toadb】数据字典缓存的实现方法和接口分享,面向对象设计思想,接口单一化

412数据字典的缓存 ​专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会定期更新,对应的代码也会定期更新,每个阶段的代码会打上tag,方便…

优化策略模式,提高账薄显示的灵活性和扩展性

接着上一篇文章&#xff0c;账薄显示出来之后&#xff0c;为了提高软件的可扩展性和灵活性&#xff0c;我们应用策略设计模式。这不仅仅是为了提高代码的维护性&#xff0c;而是因为明细分类账账薄显示的后面有金额分析这个功能&#xff0c;从数据库后台分析及结合Java语言特性…

2023年中国网络安全产业发展态势

文章目录 前言一、需求依然增长,市场竞争加剧二、产业增速放缓,融资市场降温三、产业结构变革,优化整合途径(一)电信运营商快速入场,互联网厂商加速网络安全领域布局。(二)网络安全商业模式在发生变化,网络安全运营服务、托管服务模式正在逐渐被客户认同。(三)国内安…

gorm day7

gorm day7 gorm Belongs To关系gorm Has One关系 gorm Belongs To关系 在看文档之前先进行一些基本概念的学习&#xff1a; 什么是主键&#xff1f;&#xff08;Primary Key) 主键是一个表中的特定列&#xff08;或一组列&#xff09;&#xff0c;用来唯一标识表中的每一行记…

每日一个脚本之一键部署Docker

每日一个shell脚本之一键部署Docker 源码参上 #!/usr/bin/bash # **************************************# CSDN: M乔木 # qq邮箱: 2776617348qq.com # 解释器: 这是一个shell脚本 # *************************…

1.合唱队形

Problem: 1.合唱队形 文章目录 思路解题方法复杂度Code 思路 这是一个动态规划问题。我们可以通过两次动态规划来解决这个问题。首先&#xff0c;我们从左到右进行动态规划&#xff0c;计算出每个位置的最长递增子序列长度。然后&#xff0c;我们从右到左进行动态规划&#xff…

2024幻兽帕鲁服务器创建教程_阿里PK腾讯超简单

幻兽帕鲁官方服务器不稳定&#xff1f;自己搭建幻兽帕鲁服务器&#xff0c;低延迟、稳定不卡&#xff0c;目前阿里云和腾讯云均推出幻兽帕鲁专用服务器&#xff0c;腾讯云直接提供幻兽帕鲁镜像系统&#xff0c;阿里云通过计算巢服务&#xff0c;均可以一键部署&#xff0c;鼠标…

vscode 提取扩展时出错。XHR failed

检查 vscode 设置中的代理服务器&#xff0c;位置如下图 清空 vocode 中的 Proxy&#xff0c;我黄线框的部分&#xff0c;内容清空。 检查电脑系统环境变量&#xff0c;是否设置了 http_proxy 和 https_proxy&#xff0c;如果有设置&#xff0c;则删除这两项&#xff0c;下载完…