大数据分析下分布式数据流处理技术研究

2020-05-14 07:52龚芳海
电子元器件与信息技术 2020年2期
关键词:批处理数据流分布式

龚芳海

(广东岭南职业技术学院,广东 广州 510663)

0 引言

数据流处理技术是数据库领域的一个重要研究点,尤其计算机信息技术的影响下,互联网的用户数量正在急剧增长,在这一背景下,传统的数据处理技术已经不能满足人们快速增长的需求,因此需要对数据移动进行重视。庞大的数据总量会在一定程度上影响数据移动的速度和质量,就催生出数据处理的模式。在大数据分析的环境下,新型的分布式数据流处理技术主要是以数据流到达的时间点作为依据来进行相关的处理,这样能够避免任务等待时间过长或者是资源使用率的问题,分布式数据流处理技术在多领域的应用十分广泛。

1 大数据环境下的数据流特点

对于大数据的发展环境来说,它的主要特点就是实时化、智能化的计算和处理。实时的数据处理就是在数据刚刚产生的时候,就将数据流发送给流处理的系统,然后再进一步的对其进行在线的分析和处理[1]。流处理系统的本质的就是筛选,即从大量新流入的数据中,对有效数据进行提取,进而缩短数据的产生与利用的时间间隔,提高数据存储和处理的效率,做到空间的节省和成本的降低。

大数据环境下的数据流具有五大特点:实时性、易失性、无序性、突发性、无限性,会面临着众多的挑战,不仅对实时性的要求比较高,数据流中流入的数据也可预知的,数据在计算的过程中也存在一定的持续性,并且对数据可靠性具有非常高的要求。分布式处理系统能够对大数据流进行更好的解决,具有更好的扩展性容错性,是需要重点研究的内容。

2 大数据分析下分布式的数据流处理技术

2.1 数据收集

日志数据采集在流数据中占据着非常重要的比例,很多企业的平台每天都会产生大量的数据,只有将这些数据进行收集和整合,才能更好的满足客户的需求[2]。日志收集的基本特点就是可靠性高、实用性强和可扩展性强,目前的日志收集正在成为分布式日志数据处理的基础和前提。

2.2 历史数据的存储和查询

对于分布式的数据库来说,它的历史数据存储与传统数据存储具有一定的差异性,这主要是因为分布式数据库的硬盘管理手段有所不同,它主要是利用混合型的手段进行存储和管理。在大数据分析中,混合存储比传统存储具有更好的效果,传统的数据存储要根据数据大小来进行优先分配和存储,非常容易导致存储不佳的问题[3]。从上述内容就可以看出,分布式混合存储具有更好的灵活性,能够让每张表或者是表分区都可以在符合现实性的基础上,根据实际情况选择不同的存储和压缩方式,从而对系统的整体配置灵活性进行有效提升;能够提高相应的速度,在对语句进行查询的时候,列存储只需要读取所需数列即可,不需要像传统数据库那样对整行数据进行提取,这样能够对运营成本进行有效降低,对提高数据查询功能的相应速度具有重要的意义。

2.3 智能索引

在智能索引当中,不仅包含着预存数据相依存而形成的高级信息,也能根据数据流的实际需求来进行精确识别,这样能够更的连接和和查询复杂表区[4],让智能索引可以占据更少的空间位置,同时也具有更高的延展性,能够让数据在索引之后不发生膨胀的问题,也能对后续的索引构建速度进行加快。

2.4 数据流的DDoS攻击检测

想要对分布式数据处理系统进行更好的理解,需要对大数据环境下的分布式拒绝服务供给检测数据流处理系统进行重视,数据来源于不同的服务器,通过对各种抓包软件进行利用,将不同的网络数据进行汇总,对后续的数据分析和检测具有最重要的影响,能够在很大程度上减轻服务器的负担。完成数据的额汇总之后,还要将网络数据作为消息源进行有序的管理[5]。将抓取到网络数据进行处理,一方面可以直接将其传送至其他应用当中,对其进行后续的分析和处理,另方面是进将其结果存存储在数据库中供后续使用和分析。

3 目前主流的分布式数据数据流处理模型

3.1 Storm数据流模型

Storm数据流模型具有非常强的扩展性和容错性,能够获得次秒级的延迟,它的具体组成部分是:Nimbus、Supervisor、Zookeeper。Nimbus可 以 说是数据集群的重要节点,它主要负责的就是数据集群的资源管理和任务分配;Supervisor主要对Nimbus分配的任务进行接收,可以说是担负着过渡的作用,它能够对系统工作管理的进度进行实时的控制;Zookeeper是storm主要应用的外部组件,它所提供的主要协调服务,即对上述两个部分的协调。

3.2 Samza数据流模型

这种模型是由LinkedIn开源的分布式数据流处理系统模式,与其他数据流系统相比也具有不少的优势特性:首先来说,它只需要简单的APL就可以对流式数据进行良好的处理,还具有大非常棒的容错性[6],在用户还没有感知到任务失败的情况下就对其进行有效的恢复,当任务状态管理出现问题的时候,还能将其直接恢复到之前的状态。对于一个完整的Samza数据流系统来说,它主要是由三个组件来构成:Kafka、Samza、Yarn。Kafka主要负责的就是提供实时的消息数据来源,同时它也可以是进行数据存储的系统,具有多种身份;Samza在对流式数据进行处理的时候,用户可以凭借其API的优势,忽视其处理过程和容错性;Yarn作为资源分配和任务管理的组件,它可以将资源作为容器的形式进行封装,然后再继续执行相应的计算任务。

3.3 Flink数据流模型

Flink在经过一定的研究之后就成为ASF(Apache Software Foundation)的顶级项目之一,因为它不仅能够适应流数据的分布式处理,同时也能进行批处理,这种数据流模型开始展现出一种新的设计理念:大数据的处理是保持流式处理,批处理只是其中出现一种特殊的现象,简言之就所有任务都可被当成流来进行处理[7]。从这里就可以看出,Flink数据流模型与其他流处理模型具有很大的不同。具体来说,Flink数据流模型在进行流处理时,实时的数据到达一个节点之后,会先进行缓存,然后再传输给后续节点,一直重复到最后;在进行批处理的时候,就是在当前节点的时候就要对所有需要处理的数据进行处理,然后进行序列化的缓存[8]。

3.4 Spark Streaming数据流模型

这种数据流模型是Spark进行流处理的一个最重要组件,是一个通用的并行计算框架,也是Apache旗下大数据领域一直在活跃的重要开源项目之一。这种分布式数据流处理的模型是在继承Hadoop Map Reduce优势的基础上增加了更多的特性。它可以在批处理和流处理中进行良好应用,其本质就是就是将用户设定时间内接收到的数据转化成一个一个小段,然后再进行批量的处理,这种操作方式也被称作是离散流。因此对于Spark Streaming数据流模型来说,它的本质就是采用批处理的方式对所有数据形式进行处理,通过这样的方式来提高处理的效率。具体的数据流模型如图1所示。

4 结语

在大数据分析中,想要对数据进行的良好的处理就需要有一定的技术来支持,而分布式数据流处理的技术就是现今正在发展的重要技术,也是学界重点研究的对象,它的研究和应用能够促进数据的利用效率。

猜你喜欢
批处理数据流分布式
优先级驱动的泛化航电网络实时性能分析
多能互补分布式能源系统在数据中心的应用
分布式空战仿真系统设计
汽车维修数据流基础(上)
恶意批处理文件导致电脑黑屏、反复重启、无响应的原因分析及应对思路
汽车维修数据流基础(下)
基于XML的数据流转换在民航离港系统中应用
浅析分布式发电对电力系统的影响
不装软件批处理为文件夹加锁
借助批处理 让Cortana变聪明