【赵渝强老师】基于大数据组件的平台架构

news/2024/11/17 11:41:49/文章来源:https://www.cnblogs.com/collen7788/p/18437227

image

  在了解了大数据各个生态圈所包含的组件及其功能特性后,就可以利用这些组件来搭建一个大数据平台从而实现数据的存储和数据的计算。下图展示了大数据平台的整体架构。

image

  视频讲解如下:

大数据平台的Lambda架构

大数据平台的Kappa架构

  大数据平台的总体架构可以分为五层,分别是:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。

一、数据源层

  数据源层的主要功能是负责提供各种需要的业务数据,例如:用户订单是数据、交易数据、系统的日志数据等等,总之把能够提供的数据都可以称之为数据源。尽管数据源的种类多种多样,在大数据平台体系中可以把它们划分成两大类,即:离线数据源和实时数据源。顾名思义,离线数据源用于大数据离线计算中;而实时数据源用于大数据实时计算中。

二、数据采集层

  有了底层数据源的数据,就需要使用ETL工具完成数据的采集、转换和加载。在Hadoop体系中就提供了这样的组件。例如可以使用Sqoop完成大数据平台与关系型数据库的数据交换;使用Flume完成对日志数据的采集。除了大数据平台体系本身提供的这些组件外,爬虫也是一个典型的数据采集方式。当然也可以使用第三方的数据采集工具,例如:DataX和CDC完成数据的采集工作。
为了解决数据源层和数据采集层之间的耦合度,可以在这两层之间加入数据总线。数据总线并不是必须的,它的引入只是为了在进行系统架构设计的时候,降低层与层之间的耦合。

三、大数据平台层

  这是整个大数据体系中最核心的一层用于完成大数据的存储和大数据的计算。由于大数据平台可以看成数据仓库的一种实现方式,进而又可以分为离线数据仓库和实时数据仓库。下面分别进行介绍。

3.1 基于大数据技术的离线数据仓库实现方式

  底层的数据采集层得到数据后,通常可以存储在HDFS或者HBase中。然后由离线计算引擎,如:MapReduce、Spark Core、Flink DataSet完成离线数据的分析与处理。为了能够在平台上对各种计算引擎进行统一的管理和调度,可以把这些计算引擎都运行在Yarn之上;接下来就可以使用Java程序或者Scala程序来完成数据的分析与处理。为了简化应用的开发,在大数据平台体系中,也支持使用SQL语句的方式来处理数据,即:提供了各种数据分析引擎,例如:Hadoop体系中的Hive,其默认的行为是Hive on MapReduce。这样就可以在Hive中书写标准的SQL,从而由Hive的引擎将其转换成MapReduce,进而运行在Yarn之上来处理大数据。常见的大数据分析引擎除了Hive,还有Spark SQL和Flink SQL。

3.2 基于大数据技术的实时数据仓库实现方式

  底层的数据采集层得到实时数据后,为了进行数据的持久化同时保证数据的可靠性,可以将其采集的数据存入消息系统Kafka;进而由各种实时计算引擎,如:Storm、Spark Stream和Flink DataStream进行处理。与离线数据仓库一样,可以把这些计算引擎运行在Yarn之上,同时支持SQL语句的方式对实时数据进行处理。
离线数据仓库和实时数据仓库在实现的过程中,可能会用到一些公共的组件,例如:使用MySQL存储的元信息、使用Redis进行缓存,包括使用ElasticSearch(简称ES)完成数据的搜索等等。

四、数据仓库层

  有了大数据平台层的支持就可以进一步地搭建数据仓库层了。而在搭建数据仓库模型的时候,又可以基于星型模型或者雪花模型进行搭建。前面曾经提到的数据集市和机器学习的算法也可以划归到这一层中。

五、应用层

  有了数据仓库层的各种数据模型和数据后,就可以基于这些模型和数据去实现各种各样的应用场景了。例如:电商中的热门商品分析、图计算中的社交网络分析、推荐系统的实现、风险控制,以及行为预测等等。

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

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

相关文章

ctfshow-web-信息搜集(11-17)

web11 题目提示:域名其实也可以隐藏信息,比如ctfshow.com就隐藏了一条信息。 原理:通过Dns检查查询Flag。这里可以用阿里云的网站: Dns查询网站:阿里云网站运维检测平台 (aliyun.com)web12 题目提示:有时候网站上的公开信息,就是管理员常用密码 原理:查看robots.txt文件…

设备管理平台-支持快速开发

技术路线(同时支持前后端分离 / 前后端一体,可用于网关或者服务器部署) 前端:layui-v2.9.17 后端:Net8.0 使用组件 Swagger、Jwt、Freesql、MiniExcel、MemoryCache(存储登录用户信息,代替HttpContext.Session,也可使用Redis)系统架构 非市面上繁杂的架构(Model、Ser…

几款文本编辑器横向比较

文本编辑器 大文件编辑器 程序员编辑器几款文本编辑器横向比较 关键字: 大文件、编辑器 ‍ 编辑器功能及性能比较免责声明以下列选编辑器,仅限于本人日常接触的产品,带有强烈的个人主观和随机性,未列选产品并不代表不能满足功能需求。 测试数据(特别是时间),受限于观察条…

设备云平台

技术路线(同时支持前后端分离 / 前后端一体,可用于网关或者服务器部署) 前端:layui-v2.9.17 后端:Net8.0 使用组件 Swagger、Jwt、Freesql、MiniExcel、MemoryCache(存储登录用户信息,代替HttpContext.Session,也可使用Redis)系统架构 非市面上繁杂的架构(Model、Ser…

系统集成项目管理工程师笔记1 - 第一章 信息化发展

基础知识 第一章 信息化发展 1.1 信息与信息化 1.1.1 信息基础信息物质、能量以及其属性的标示的集合,是确定性的增加。以物质介质为载体,传递和反映世界各种事物存在方式、运动状态等的表征。信息不是物质,也不是能力。以一种普遍形式,表达物质运动规律,在客观世界中大量…

基于CTFshow的文件上传二次渲染绕过与CTF实战

1. 二次渲染简介 二次渲染指的是上传的文件(如图片),为了显示的更加规范(尺寸、像素),网站会对文件进行二次处理,经过解码或转换可能导致其中的恶意代码失效。例如,后门程序在图像渲染过程中可能被清除或无法执行。 2. 二次渲染存在性判断 2.1 文件大小变化 访问上传的…

一万次悲伤 吉他谱

本文来自博客园,作者:ukyo--夜王,转载请注明原文链接:https://www.cnblogs.com/ukzq/p/18437154

抖音快手OBS虚拟摄像头直播被误判录播如何修改注册表

使用OBS虚拟摄像头容易被检测为录播解决办法参考增加视频内容的动态性:在OBS中使用多个视频源,如实时摄像头画面、屏幕共享、图像幻灯片等,并且定期切换这些源,以模拟真实直播时的操作。使用摄像头捕捉真实画面:将真实摄像头捕捉到的画面作为OBS的一个场景,这样可以提供实…

E60 树形DP+贪心 P3574 [POI2014] FAR-FarmCraft

视频链接: P3574 [POI2014] FAR-FarmCraft - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)// 树形DP+贪心 O(nlogn) #include <iostream> #include <cstring> #include <algorithm> using namespace std;const int N=500005; int head[N],to[N<<1]…

NIO

NIO Java在1.4版本开始,引入了NIO,称为Java New IO。又称老的阻塞IO为OIO(Old IO)。 NIO与OIO对比:OIO是面向流,操作的是字节。NIO引入了Buffer和Channel,操作的是缓冲区。OIO是阻塞的,NIO是非阻塞的OIO没有Selector的概念NIO的三大组件如下所示。 Buffer 数据存储的媒…

课后作业

30道四则运算题 定义了一个字符数组将四种符号存储到数组中,然后定义了stringbuilder类,随机调用,实现随机出现,在for循环中实现目标--30道编程题。 原码反码补码相关概念 原码:是二进制表示数值的方法,最高位为符号位,0为正数,1为负数。 反码:正数的反码与原码相同,…