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

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

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

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

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

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

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

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

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

离线计算场景

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

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

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

什么是实时处理场景?

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

实时处理场景

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答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、付费专栏及课程。

余额充值