大数据时代的引擎:大数据架构随记

大数据架构通常可以分为以下几层:

一、数据采集层

负责从各种数据源采集、清洗、转换、丰富以及格式化数据,可能包括结构化、半结构化和非结构化的数据。

1.1、常用的技术

在大数据领域,数据采集是一个关键的环节,常用的数据采集技术包括:

  1. Flume:Apache Flume是一个分布式、可靠、并且可用于高可用性环境的日志收集、聚合和传输系统。它通常用于从各种数据源(如网络服务器日志、传感器数据等)收集大量数据,并将其传输到数据存储或处理系统中。
  2. Sqoop:Apache Sqoop是用于在Apache Hadoop和关系型数据库之间进行数据传输的工具。它允许用户将结构化数据从关系型数据库(如MySQL、Oracle等)导入到Hadoop生态系统中(如HDFS、Hive等),也可以将数据从Hadoop导出到关系型数据库中。
  3. Logstash+Filebeat:Logstash是一个开源的日志收集和处理引擎,它可以从多个来源收集数据、转换数据格式并将数据发送到各种目的地。Filebeat是一个轻量级的日志收集工具,通常与Logstash配合使用,用于收集和传输日志文件。Logstash负责对数据进行过滤、解析和转换,然后将其发送到目标存储或处理系统(如Elasticsearch、Hadoop等)。

1.2、数据分类

结构化、半结构化和非结构化数据是指在数据管理和处理中的不同类型的数据:

  1. 结构化数据:这些数据以一种预定义的模型或格式进行组织,通常存储在数据库表格中,并且可以轻松地通过查询语言(如SQL)进行访问和处理。结构化数据具有明确定义的数据模式,其字段和值之间的关系清晰明确。例如,关系型数据库中的表格数据就是一种典型的结构化数据,其中每一列都有特定的数据类型,而每一行代表一个记录或实体。
  2. 半结构化数据:这类数据包含结构化数据和非结构化数据的混合体。虽然它们没有严格的数据模型,但它们可能具有某种程度的标记或标签,以便组织和查询。半结构化数据通常以XML、JSON等格式存储,具有层次结构或标记,但不像结构化数据那样具有明确的模式。例如,XML文档或JSON对象就是半结构化数据的常见形式,其中包含了数据的结构化组织,但某些字段可能是可选的或者不具有严格的数据类型。
  3. 非结构化数据:这种类型的数据没有明确的结构或组织方式,通常以自然语言、图像、音频或视频等形式存在。非结构化数据不容易用传统的数据库或表格来存储和处理,因为它们缺乏明确的模式或格式。例如,文档、电子邮件、社交媒体帖子、图像和视频文件等都属于非结构化数据的范畴。处理非结构化数据通常需要使用特殊的技术和工具,如自然语言处理(NLP)或图像识别技术。

二、数据存储层

1、主要职能

  1. 持久性存储:数据存储层负责将大数据系统中的数据永久性地保存在存储介质中,以便长期保留和访问。这包括结构化、半结构化和非结构化数据。持久性存储通常需要提供高容量、高可靠性和高性能的存储解决方案。
  2. 数据管理:数据存储层管理数据的组织、存储、备份、恢复和归档等任务。这包括数据的分区、索引、压缩、加密和权限控制等。数据管理的目标是确保数据的完整性、可靠性、安全性和可用性。

2、常用技术

在大数据领域,数据存储层的常用技术包括:

  1. Hadoop HDFS:HDFS是Apache Hadoop的核心组件之一,用于存储大规模数据集。它将数据分散存储在多个节点上,并提供高可靠性、容错性和高吞吐量。
  2. Apache HBase:HBase是一个分布式、面向列的数据库,用于实时读写大规模结构化数据。它建立在Hadoop HDFS之上,提供了高度可扩展性和实时访问能力。
  3. Elasticsearch:Elasticsearch是一个分布式搜索和分析引擎,用于存储和检索大规模半结构化和非结构化数据。它提供了强大的全文搜索、实时分析和数据可视化功能。

三、数据计算层

大数据计算层的主要职能是处理和分析大规模数据集,以支持数据驱动的决策制定。这一层包括了离线计算和在线计算两个部分,每个部分都有其专用的技术和工具。

离线计算主要用于处理大量的非实时数据。它可以进行深入的数据分析,通常用于生成报告、数据挖掘、机器学习等场景。常用的离线计算技术包括:

  • Spark SQL: 用于执行SQL查询的分布式计算框架。
  • Hadoop MapReduce: 一个可扩展的数据处理工具,适用于大数据集的分析。
  • Apache Impala: 提供高性能、低延迟的SQL查询功能,适用于Hadoop数据。
  • Apache Kylin: 为大规模数据提供OLAP(在线分析处理)功能。
  • Hive: 一个数据仓库工具,可以处理大数据并提供SQL查询功能。

在线计算则更侧重于实时数据处理,支持快速的数据查询和分析,适用于需要即时反馈的应用场景。常用的在线计算技术包括:

  • Spark Streaming: 用于处理实时数据流的分布式计算系统。
  • Flink: 专注于分布式流处理和批处理的开源平台。
  • Storm: 一个实时大数据处理框架。
  • Clickhouse: 一个用于在线分析处理查询的列式数据库管理系统。
  • Presto: 一个分布式SQL查询引擎,适用于大规模数据集。

四、数据应用层

这一层负责将数据结果可视化或提供给第三方应用,常用的技术有:

  • Tableau:数据可视化工具。
  • Zeppelin:基于Web的笔记本,支持数据驱动、交互式数据分析和协作。
  • Superset:数据探索和可视化平台。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring框架宝典:彻底理解三级缓存策略

一、循环依赖概念 在Spring应用中,循环依赖指的是两个或多个Bean之间相互引用,造成了一个环状的依赖关系。举例来说,如果Bean A依赖于Bean B,同时Bean B也依赖于Bean A,就形成了循环依赖。这种情况下,Sprin…

数据库介绍(Mysql安装)

前言 工程师再在存储数据用文件就可以了,为什么还要弄个数据库? 一、什么是数据库? 文件保存数据有以下几个缺点: 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库存储介质: 磁…

【Canvas与艺术】绘制朝鲜国旗

【声明】 该国旗的定位和大小是本人与网上照片比对后估算的&#xff0c;不是精确值。 【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <hea…

四信智能化感知与控制方案,助推灌区续建配套与现代化改造建设

“十四五”明确提到推进大中型灌区节水改造和精细化管理&#xff0c;建设节水灌溉骨干工程&#xff0c;同步推进水价综合改革。 灌区是保障国家粮食安全的重要基础性设施&#xff0c;是实施乡村振兴战略的水利支撑。灌区续建配套与现代化改造是实施乡村振兴战略一项重要任务。为…

一套JAVA语言开发的:危大工程智慧一体化工地系统源码,(后台管理端+APP+可视化大屏端)

智慧工地是指利用移动互联、物联网、智能算法、地理信息系统、大数据挖掘分析等信息技术&#xff0c;提高项目现场的“人•机•料•法•环•安”等施工要素信息化管理水平&#xff0c;实现工程施工可视化智能管理&#xff0c;并逐步实现绿色生态建造。 相关技术&#xff1a;微…

“百团大战”下,20年代的国产数据库如何乘风破浪?

引言 在数字化浪潮的推动下&#xff0c;数据库技术已成为支撑数字经济的坚实基石。腾讯云 TVP《技术指针》联合《明说三人行》特别策划的直播系列——【中国数据库前世今生】&#xff0c;我们将通过五期直播&#xff0c;带您穿越五个十年&#xff0c;深入探讨每个时代的数据库演…

vue3.0(四) ref全家桶以及响应的 源码分析

文章目录 1 ref1.1 ref() 是什么1.2 ref() 特点1.3 创建响应式数据1.4 引用DOM元素1.5 深层响应性1.6 DOM 更新时机1.7 ref源码 2 isRef2.1 isRef运用2.2 isRef源码 3 unref3.1 unref运用3.2 unref源码 4 shallowRef4.1 shallowRef运用4.2 shallowRef源码 5 triggerRef5.1 trig…

SpringCloud系列(10)--Eureka集群原理及搭建

前言&#xff1a;当注册中心只有一个&#xff0c;而且当这个注册中心宕机了&#xff0c;就会导致整个服务环境不可用&#xff0c;所以我们需要搭建Eureka注册中心集群来实现负载均衡故障容错 Eureka架构原理图 1、Eureka集群原理 2、创建Eureka Server端服务注册中心模块 (1)在…

ios微信小程序禁用下拉上拉

第一步&#xff1a; page.json配置页面的"navigationStyle":"custom"属性&#xff0c;禁止页面滑动 "navigationStyle":"custom" 第二步&#xff1a; 页面里面使用scroll-view包裹内容&#xff0c;内容可以内部滑动 <view class&…

LLaMA 3:大模型之战的新序幕

作者 | 符尧 OneFlow编译 翻译&#xff5c;杨婷、宛子琳、张雪聃 本文要点概览&#xff1a; 文本数据的扩展可能已经达到了极限&#xff0c;因为易于获取的网络文本资源&#xff08;如Common Crawl、GitHub、ArXiv等&#xff09;已基本被充分利用。 尽管如此&#xff0c;通过更…

Redis底层数据结构之ZSkipList

目录 一、概述二、ZSkipList结构三、和平衡树和哈希表的对比 redis底层数据结构已完结&#x1f44f;&#x1f44f;&#x1f44f;&#xff1a; ☑️redis底层数据结构之SDS☑️redis底层数据结构之ziplist☑️redis底层数据结构之quicklist☑️redis底层数据结构之Dict☑️redis…

[Diffusion Model 笔记]Score based

目录 概述方法怎么估计score&#xff08;估计噪声就是估计score&#xff09;怎么采样&#xff08;给原始数据加噪声&#xff0c;早期大后来变小&#xff09;inpainting &#xff08;来自补充材料&#xff09;还没有细究的地方&#xff1a; 概述 本文是观看以下视频的笔记&…

使用JMeter模拟设备通过MQTT发送数据

需求&#xff1a; 需要一个工具能够支持MQTT协议发送各种不同的数据。 目的&#xff1a; 模拟小型温室设备反馈&#xff0c;搭建一个测试环境&#xff0c;根据测试的数据显示硬件的状态和数值。 工具&#xff1a;JMeter 环境&#xff1a;需要配置Java运行环境。 操作步骤&a…

机器人操作系统ROS2学习—编译工作空间colcon build报错问题

在ROS2中&#xff0c;工作空间创建完成后&#xff0c;会经常需要编译工作空间。在工作空间dev_ws 下打开一个终端&#xff0c;通过指令Colcon build来编译工作空间。 1、这个过程有可能会出现如下错误: "colconbuild:Duplicate package names not supported" 根据…

阅读笔记——《BLEEM: Packet Sequence Oriented Fuzzing for Protocol Implementations》

【参考文献】Zhengxiong Luo, Junze Yu, Feilong Zuo, Jianzhong Liu, Yu Jiang, Ting Chen, Abhik Roychoudhury, and Jiaguang Sun. Bleem: Packet sequence oriented fuzzing for protocol implementations. In 32nd USENIX Security Symposium (USENIX Security 23), pages…

西湖大学赵世钰老师【强化学习的数学原理】学习笔记2节

强化学习的数学原理是由西湖大学赵世钰老师带来的关于RL理论方面的详细课程&#xff0c;本课程深入浅出地介绍了RL的基础原理&#xff0c;前置技能只需要基础的编程能力、概率论以及一部分的高等数学&#xff0c;你听完之后会在大脑里面清晰的勾勒出RL公式推导链条中的每一个部…

github two-factor authentication是个啥?

最近在逛github时&#xff0c;总是时不时会弹出一下界面&#xff0c;很烦 看到红框里的文字&#xff0c;这明显是强制要求做这个认证&#xff0c;如果不认证4天后账号将不可访问&#xff0c;所以今天花点时间看看怎么做这个认证&#xff0c;点“Enable 2FA now”进入这个界面&a…

Vue后台系统demo小计

创建项目 1.报错 Error: command failed: npm install --loglevel error --legacy-peer-deps 措施1&#xff1a;node.js文件夹属性 》高级 》选择第一个允许 Users(XXX\Users) &#xff08;对我无用&#xff09; 措施2&#xff1a;PowerShell(以管理员身份运行) 》 cd 想存…

java基础之java容器-Collection,Map

java容器 java容器分类一. Collection1. List①. ArrayList② . LinkedList③ . Vector 2. Queue队列①. LinkedList②. PriorityQueue 3. Set集合①. HashSet②. TreeSet 二. Map1. HashMap2.TreeMap3. Hashtable java容器分类 java容器分为两大类&#xff0c;分别是Collecti…

VMWare下建的CentOS7 扩容

记录一下扩容过程中踩过的坑 背景&#xff1a;一年半以前私有化部署了一个gitLab服务&#xff0c;当时只分配了30G的磁盘容量&#xff0c;这两天小伙伴总是反馈gitLab登不上。排查发现是因为磁盘满了 然后就开始了磁盘扩容之旅 各种 vgs\pv\pvdisplay\lv\lvm 等等都没用 一下…