如何区分大数据离线与实时场景

离线与实时的区别并不是快慢

大数据的应用场景一般分为离线处理场景和实时处理场景。这个放在传统开发这里也成立,都是一样的。

大家对离线和实时这两种计算场景,有什么想法没有?

大家第一印象可能觉得,离线处理场景比较慢,实时处理场景相对快一些,比较及时能够得到处理的一个结果。

但本质上其实不是这样去区分离线和实时的。实际上,数据量小的情况下,离线处理也可以很快;数据量大的情况下,实时处理也可能很慢。

离线和实时它本质的区别是在于,它处理的数据是有界数据还是无界数据。

究竟什么是离线处理场景?

比方说我们以离线处理场景为例,数据从数据源产生以后,我们先给它存起来。你不管存到哪个地方,假设保存的数据是10个GB,这10个GB的数据在后续的运算过程中它是不会增加或者减少的。它就是固定10个GB。

离线计算场景

我们基于这10个GB的数据,进行运算,这个时候完成的运算就是离线运算。离线运算最适合批处理这种方式来完成。处理完以后得到最终结果后进行输出,做一个保存。

以批处理程序它的视角来看,我们处理的数据它是存起来的数据集,它是有边界的数据。存起来是10个G,处理的时候也是10个G,它不会增加和减少。

当然离线有另外一层含义,就是说数据存起来以后可以直接断网。即使网络中断也能完成这部分数据的处理。

什么是实时处理场景?

实时处理场景则不太一样,数据从数据源产生后,它就立马交给流处理任务去处理。计算任务可以是Java写的,也可以是Python写的,不管是哪种流处理计算任务,它都需要7*24小时不中断运行,才能保证数据的及时处理。

实时处理场景

处理得到的结果,可以实时进行存储与更新,从而让外部的服务去做实时的调用与展示。

因为数据源的数据是实时产生的,所以在流处理任务的它的视角来看,这个数据是有界的还是无界的?它一定是没有边界的。它实时在产生,好像没有边界,一直在流动过来。

处理这种无界的数据,我们称为实时处理。

数据处理的两种方式:批处理与流处理

处理这种实时数据的时候,我们一般会采用流处理的这种方式。所以有时候提到离线批处理和实时流处理,它是放在一起说的。离线场景适合批处理运算,实时场景适合流处理运算。

那批处理运算,它其实是把这个数据拿到之后,先让整体数据通过第一个阶段的处理,得到最终的结果以后再送往下一个阶段处理。

也就意味着说批处理方式,在任意一个时间点去观察的时候,可以发现所有的数据一定是同时处在某一个阶段。

对于流处理方式不一样,流处理方式是怎么样的呢?

流处理方式就和流水线的工人一样,第一个工人负责第一个阶段,第二个负责第二个阶段,以此类推。

它们在等待数据传输过来,数据过来之后,就开始处理,处理完成后立马将处理结果送给下一个阶段。然后继续等待新的数据传输进来。

有数据之后就处理,处理完以后交给下一个阶段。每个阶段都是这样的。

流处理这种方式,你在任意一个时间去观察的时候,可能会发现多个阶段都会有数据存在。这是它们的不同之处。

小结:离线批处理与实时流处理的区分

离线批处理和实时流处理,这个概念大家一定要区分明白。离线处理和实时处理,主要是针对于数据是有界是否有界。有界就是离线处理,无界就是实时处理。

离线的数据,它适合批处理这种处理方式去做计算。实时数据它适合流处理这种方式。

典型的离线批处理场景有数据仓库、搜索与检索、图计算、数据分析,这些都属于离线场景。

实时处理场景的话,有实时数仓、实时数据分析、流上机器学习等,所有需要实时处理的任务都属于这个场景。

OK,这一节就和大家聊到这里,配套的视频合集,可以在B站【数舟】中观看。传送门:如何区分大数据离线与实时场景

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
⼤数据离线计算的架构与组件 ⼤数据离线计算的架构与组件             ⼤数据离线计算的架构与组件                                      作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 ⼀.什么是⼤数据离线计算 1>.⼤数据离线计算概述   (1)所谓⼤数据离线计算,就是利⽤⼤数据的技术栈(主要是Hadoop),在计算开始前准备好所有输⼊数据,该输⼊数据不会产⽣变化,且在解决⼀个问题后就要⽴即得到计算结果的计算模式。   (2)离线(offline)计算也可以理解为批处理(batch)计算,与其相对应的是在线(online)计算或实时(realtime)计算 2>.离线计算的特点   (1)数据量巨⼤,保存时间长   (2)在⼤量数据上进⾏复杂的批量运算   (3)数据在计算之前已经完全到位,不会发⽣变化   (4)能够⽅便地查询计算结果 3>.⼤数据离线计算应⽤场景 (1)⼤数据离线计算主要⽤于数据分析、数据挖掘等领域。我们说这部分的技术栈主要是Hadoop,但在以Hadoop为代表的⼤数据技术出现之前,数据分析、数据挖掘已经经历了长⾜的发展。尤其以BI系统为主的数据分析领域,已经有了⽐较成熟稳 (2)BI(全称为Business Intelligence,即商业智能)系统能够辅助业务经营决策。其需要综合利⽤数据仓库(基于关系型数据库)、联机分析处理(OLAP)⼯具(如各种SQL)和数据挖掘等技术。 (3)如Oracle、IBM、Microsoft等数据库⼚商都有⾃⼰的BI产品,MicroStrategy、SAP等独⽴BI⼚商也有⾃⼰的软件产品。 4>.传统BI暴漏的问题 然⽽传统BI随着时间的推移暴露出⼀些问题: (1)BI系统以分析业务系统产⽣的结构化数据为主,对⾮结构化和半结构化数据处理困难,如⽂本、图⽚、⾳视频等。 (2)由于数据仓库为结构化存储,在数据从其它系统进⼊数据仓库前需要⼀个ETL过程,ETL通常和业务强绑定,需要专门的⼈员去做这个⼯作。 (3)当数据量增⼤的时候,性能会成为瓶颈,传统关系型数据库在TB级别时已经表现得吃⼒,在PB级别时基本⽆能为⼒。 (4)数据库的设计⼀般会遵循某种范式,其着⼒于解决数据冗余和⼀致性问题。但数据仓库设计时为了性能和⽅便的考虑,通常会使⽤⼀些反范式的设计。如何在范式和反范式间权衡没有确定的标准,需要⼩⼼设计。 (5)对于包含机器学习应⽤的BI系统,由于ETL的存在,其获取到的数据为已经按某种假设清洗后的数据,会造成机器学习的效果不理想或完全没有效果。 5>.⼤数据离线计算的优势 针对这⼀系列问题,以Hadoop为代表的⼤数据解决⽅案表现出其优越性,Hadoop技术栈中的各种组件不断丰富,已经完全能实现传统BI的功能,并解决了其容量和性能的瓶颈。 但⼤数据技术也带来了⼀些新问题:   从传统数据仓库升级到⼤数据的数据仓库,不可能平滑演进,基本等于重新开发。这和软硬件架构的不⼀致、SQL⽅⾔的差异都有关系。   ⼤数据解决⽅案在功能和性能上有很多取舍,如HDFS不⽀持修改⽂件,Hive要⽀持update和delete的话有⾮常苛刻的限制且效率也远低于关系型数据库。类似这些都是⼤数据解决⽅案的局限性。 ⼤数据离线计算侧重于从以下⼏个维度解决传统BI⾯临的瓶颈:   分布式存储:     将⼤⽂件按照⼀定⼤⼩拆分成多份,分别存储到独⽴的机器上,并且每⼀份可以设置⼀定的副本数,防⽌机器故障导致数据丢失,这种存储⽅式⽐传统关系型数据库/数据仓库使⽤的集中式存储,⽆论是容量、价格、吞吐率、鲁棒性等各⽅⾯   分布式计算:     核⼼思想是让多个机器并⾏计算,并通过对数据本地性的利⽤,尽量处理本机器上的那⼀部分数据,减少跨⽹络的数据传输。很多传统的数据库/数据仓库也⽀持利⽤多核CPU、集群技术来进⾏分布式计算,但Hadoop的分布式计算架构更为   检索和存储的结合:     在早期的⼤数据组件中,存储和计算相对⽐较单⼀,但⽬前的⽅向是对存储进⼀步优化, 升查询和计算的效率,其⽅法是除了存储数据的内容外,还存储很多元数据信息,如数据的schema、索引等。类似parquet、kudu等技术都是利⽤了这 ⼆.⼤数据离线计算的架构 三.⼤数据离线计算涉及组件 1>.HDFS HDFS   是Hadoop上的分布式⽂件系统。 HDFS采⽤主从模式,其架构主要包含NameNode,DataNode,Client三个部分:   NameNode:     ⽤于存储、⽣成⽂件系统的元数据。运⾏⼀个实例,因此需要解决单点故障问题。   DataNode:     ⽤于存储实际的数据,并将⾃⼰管理的数据块信息上报给NameNode,运⾏多个实例
⼤数据离线计算 离线计算概述 所谓⼤数据离线计算,就是利⽤⼤数据的技术栈(主要是Hadoop),在计算开始前准备好所有输⼊数据,该输⼊数据不会产⽣变化,且 在解决⼀个问题后就要⽴即得到计算结果的计算模式。 离线(offline)计算也可以理解为批处理(batch)计算,与其相对应的是在线(online)计算或实时(realtime)计算 离线计算的特点 ⼤数据离线计算为多种应⽤场景提供基础计算功能,其特点 为: 数据量巨⼤且保存时间长; 在⼤量数据上进⾏复杂的批量运算,能够⽅便地查询批量计算的结果; 数据在计算之前已经完全到位,不会发⽣变化。 ⼤数据离线计算应⽤场景 ⼤数据离线计算主要⽤于数据分析、数据挖掘等领域。技术栈主要是Hadoop BI(全称为Business Intelligence,即商业智能)系统能够辅助业务经营决策。其需要综合利⽤数据仓库(基于关系型数据库)、联机分 析处理(OLAP)⼯具(如各种SQL)和数据挖掘等技术。 离线计算架构 计算⼯具有 Hive、Pig、Spark SQL、Presto、MapReduce ,⽀持 Alluxio 的存储架构,形成了离线计算引擎 Hadoop集群 hadoop实现了⼀个分布式的基础框架,核⼼设计就是:hdfs和mapreduce hdfs分布式存储: 将⼤⽂件按照⼀定⼤⼩拆分成多份,分别存储到独⽴的机器上,并且每⼀份可以设置⼀定的副本数,防⽌机器故障导致数据丢失,这种存储 ⽅式⽐传统关系型数据库/数据仓库使⽤的集中式存储,⽆论是容量、价格、吞吐率、鲁棒性等各⽅⾯都有明显优势。 mapreduce分布式计算: 核⼼思想是让多个机器并⾏计算,并通过对数据本地性的利⽤,尽量处理本机器上的那⼀部分数据,减少跨⽹络的数据传输。很多传统的数 据库/数据仓库也⽀持利⽤多核CPU、集群技术来进⾏分布式计算,但Hadoop的分布式计算架构更为彻底。 YARN资源管理系统 它是⼀个通⽤的资源管理模块,可为各类应⽤程序进⾏资源管理和调度.Yarn是轻量级弹性计算平台,除了MapReduce框架,还可以⽀持 其他框架,⽐如Spark、Storm等 多种框架统⼀管理,共享集群资源:   资源利⽤率⾼   运维成本低   数据共享⽅便 Spark 计算引擎服务 Spark旨在为⾼性能、迭代计算、时效性要求极⾼的场景服务。随着业务的飞速增长, 很多业务场景已经⽆法接受基于磁盘批处理的 MapReduce计算服务, 更倾向使⽤基于内存与 SSD 作为存储进⾏迭代计算, 希望整体提升数据结果的时效性。 Presto计算引擎服务 基于内存的并⾏计算,Facebook推出的分布式SQL交互式查询引擎,多个节点管道式执⾏ ⽀持任意数据源,数据规模GB~PB 是⼀种Massively parallel processing(mpp)(⼤规模并⾏处理)模型.数据规模PB 不是把PB数据放到 内存,只是在计算中拿出⼀部分放在内存、计算、抛出、再拿 Hive ⼤数据查询引擎 它是⽬前业内能够⽀撑 GB/TB/PB 级数据仓库的通⽤解决⽅案 之⼀, ⽀持将 sql 语句转换为 MapReduce 任务, 能够快速处理海 量数据计 算,有效降低分布式计算模型的使⽤成本。
### 回答1: 大数据线数据抽取的步骤一般包括以下几个阶段: 1. 数据采集:采集需要处理的数据,包括结构化数据和非结构化数据。 2. 数据清洗:清洗采集到的数据,去除重复数据、无效数据和错误数据。 3. 数据预处理:对清洗后的数据进行处理,包括数据去噪、数据过滤、数据转换等,以便后续的分析和挖掘。 4. 数据集成:将不同来源的数据进行集成,生成一个完整的数据集。 5. 数据转换:将数据转换为目标系统可识别的格式,如将非结构化数据转换为结构化数据。 6. 数据归约:对数据进行归约操作,包括聚合、抽样等,以减小数据规模。 7. 数据存储:将处理后的数据存储到相应的数据仓库中,以便后续的分析和挖掘。 以上就是大数据线数据抽取的基本步骤。 ### 回答2: 大数据线数据抽取是指从大规模数据中提取有价值的数据并进行处理分析的过程。以下是大数据线数据抽取的详细步骤: 1. 数据源选择:确定抽取数据的来源,可以是各种数据库、文件或日志等。 2. 数据预处理:对原始数据进行数据清洗和预处理,包括去除重复值、处理缺失值、格式转换等,以保证数据的质量和一致性。 3. 数据抽取:通过数据抽取工具或技术,将预处理后的数据从数据源中提取出来,常用的抽取方式有全量抽取和增量抽取。 4. 数据转换:将抽取出的数据进行转换、整合和归并,使其符合目标数据模型和格式要求,常用的技术有ETL(Extract-Transform-Load)工具和技术。 5. 数据加载:将转换后的数据加载到目标数据库或目标存储系统中,以便进行后续的数据分析和应用。 6. 数据分析:对加载后的数据进行分析和挖掘,可以使用各种数据分析和挖掘工具,如数据挖掘算法、统计分析等,以获取有价值的信息和洞察。 7. 数据可视化:将分析结果通过可视化工具展示出来,如图表、报表、仪表盘等,以便用户更直观地理解和利用数据。 8. 数据挖掘和建模:根据分析结果,进行数据挖掘和建模,以发现数据中的潜在模式、规律和关联,并构建相应的预测和决策模型。 9. 模型评估和优化:对建立的模型进行评估和优化,通过模型评估指标和反馈来不断优化模型的准确性和性能。 10. 应用和反馈:将分析结果和建立的模型应用到实际场景中,并根据实际应用情况进行反馈和调整,以持续提高数据分析的效果和价值。 以上是大数据线数据抽取的主要步骤,每个步骤都非常重要,对于有效地利用大数据进行数据分析和挖掘具有关键作用。 ### 回答3: 大数据线数据抽取是指从海量数据中提取所需数据的过程。以下是详细的步骤: 1. 数据源识别:首先确定需要抽取数据的源头,可以是关系数据库、文本文件、日志文件等各种数据源。 2. 数据源连接:与数据源建立连接,确保能够获取数据。连接方式可以是使用数据库连接工具、FTP、API等。 3. 数据提取规则设计:根据需求确定数据提取的规则,包括哪些表需要抽取、抽取的字段是什么等。这一步需要保证提取的数据能够满足后续使用的需求。 4. 数据抽取:根据提取规则,使用特定的工具或编写代码进行数据抽取操作。常用的工具包括Sqoop、Flume、Kettle等。 5. 数据转换:将抽取的原始数据转换成符合目标要求的格式。这一步可能包括数据清洗、格式转换、字段拆分合并等处理操作,以确保数据的准确性和一致性。 6. 数据加载:将转换后的数据加载至目标位置,可以是数据仓库、分析平台、报表工具等。加载方式可以是覆盖式更新或增量更新等。 7. 数据校验和验证:对加载后的数据进行校验和验证,确保数据的完整性和正确性。可以通过对比原始数据和转换后数据的差异、查询数据的准确性等方式进行验证。 8. 数据存储和备份:将已抽取的数据进行存储和备份,以便后续使用和恢复。可以选择合适的存储介质和备份策略。 9. 数据可视化和分析:将存储的数据通过数据可视化工具进行展示和分析,帮助用户理解和利用数据,从中发现潜在的业务价值。 10. 定期维护和优化:根据实际需求和数据变化情况,定期对数据抽取过程进行维护和优化,保证数据抽取的效率和准确性。 总之,大数据线数据抽取的步骤包括数据源识别、数据源连接、数据提取规则设计、数据抽取、数据转换、数据加载、数据校验和验证、数据存储和备份、数据可视化和分析以及定期维护和优化。通过这些步骤,我们可以从海量数据中提取并利用有用的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

桥路丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值