大数据处理的开源框架:概述

本文讨论大数据处理生态系统和相关的架构栈,包括对适应于不同任务的多种框架特性的调研。除此之外,文章还从多个层次对框架进行深入研究,如存储,资源管理,数据处理,查询和机器学习。

使用门槛的降低是互联网上数据最初增长的驱动力。随着智能手机和平板电脑等一系列新设备的出现,这一趋势得以加强。在第一代数据增长的基础上,社交媒体平台推动数据量以指数级增长,这也就是所谓由社交媒体释放的第二次增长浪潮。信息分享平台的协作特质促成了数据分享的病毒式增长。第三次的增长则很大程度上来自于智能互联设备的的快速增加,而这也将带来前所未有的数据扩张。此外,科学领域的进步和更加廉价的计算力已经为包括医疗科学、物理学、天文学和基因学在内的诸多领域带来了新的应用。在这些领域中,收集的数据被用来验证假说,推动新的发现和创造。

在这里我还是要推荐下我自己建的大数据学习交流qq裙:522189307 , 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴。上述资料加群可以领取

数据获取和存储的快速扩张将我们带到了一个新的阶段——将数据处理为有意义的解释。处理大量数据的现实需要导致了对可扩展及并行系统的需求。这些系统能够以更高的速度和更大的规模处理数据。开源技术就是大规模数据处理所需高性能计算技术的不二之选。本文将为大数据处理栈不同层次可用的开源框架及组件做总体的介绍。

用于大数据处理的组件架构栈 随着越来越多的大数据(以数量,速度和种类三个V为特征)的生成和收集,各种各样系统开始发展,以期挖掘出这些数据的巨大而多样的潜力。尽管许多系统表现出了相同的特性,但它们往往有着不同的设计哲学,这也带来了更大的选择空间。企业决定数据策略的战略指导原则之一就是采用通用的数据存储层,这将便利不同框架对数据的运用,同时数据也能够跨框架共享。图1展示了一个典型的数据处理架构栈。

这个架构栈也可以被视为一个多阶段的数据处理流水线,如图2所示。非结构化的数据往往有多样的格式,例如文本数据、图片、视频和音频等。而这些数据也有包括交易记录、网络日志、公众网站、数据库、多种设备和工具以及其他相联系的数据在内的多种数据源。经过清洗和错误检查后,这些数据会进入数据存储层。接下来的任务就是利用下一部分描述的框架对数据进行反复和交互式的处理。处理过程本身可能会有多个子阶段,期间有可能伴随着与存储层的交互。它可以进一步使用统计算法探索和建模来推导和验证假设。用数据对算法进行训练,然后将其用于预测建模。当有新的数据集进入系统时,这些算法可以进行周期性的训练。数据集进一步用于探索性分析,从而发现潜藏的知识和见解。在处理和探索过程中,通过使用可视化工具对处理后的数据集进行可视化,促进对于数据的理解,并可将其用于与利益相关者的沟通。

存储层中的数据可以被组织内的不同利益相关者复用。大数据通常是不确定的,而多数处理框架已经适应了这一特性。事实上,这个特性正是一个框架成功的关键因素。下面,让我们讨论这些不同层次的框架和库。

存储和数据层 让我们从存储和数据层开始。这是大数据栈是最重要的组成要素和基础。正如其名,大数据通常以其大量的数据为特征,而这要求巨大乃至理论上无限的存储容量。促成更便宜的存储和计算资源的技术进步,导致了集群存储和计算平台的出现。这些平台摆脱了存储限制,并实质上实现了无限量的数据存储。这些平台不受传统数据建模和模式设计范例的限制。它们通常是无模式的,允许存储所有形式的数据(结构化,半结构化和非结构化)。这使得创建更具动态性的系统成为可能,分析人员也可以摆脱现有模型的限制对数据进行探索。

HDFS(https://hadoop.apache.org/):这是Hadoop生态系统中的可扩展的、具有容错性的分布式文件系统。将商用服务器添加到集群中即可扩展HDFS。已知的最大集群包括了大约4500个节点和高达128PB的数据。HDFS支持并行读取和写入数据。HDFS系统中的带宽随节点数量线性变化。通过存储在系统中的多个数据副本实现内置冗余。这些文件被分解成块(Blocks)并像文件一样存储在集群中。为了实现可靠性,这些文件会被复制多份。HDFS具有主/从体系结构,在集群中有一个称为NameNode的组件,该组件作为主服务器。NameNode管理文件系统命名空间(文件,目录和块以及它们的关系)。命名空间存储在

你可能感兴趣的:(大数据,互联网资讯,大数据技术,大数据应用,程序人生,大数据,数据分析,程序员,编程语言)