您现在所在位置: 首页 > 睿道新闻

大数据技术生态的相关介绍

发布时间:2020-09-24点击数:


  大数据的基本处理流程和传统的数据处理流程没有太大区别。主要区别是因为大数据要处理大量的非结构化数据,所以所有处理环节都可以采用并行处理。目前Hadoop、MapReduce、Spark等分布式处理方法已经成为大数据处理各方面的常用处理方法。


  Hadoop是一个分布式计算平台,用户可以轻松构建和使用。用户可以在Hadoop上轻松开发和运行处理海量数据的应用程序。Hadoop是一个数据管理系统。作为数据分析的核心,它收集结构化和非结构化数据,这些数据分布在传统企业数据堆栈的每一层。Hadoop也是具有超级计算能力的大规模并行处理框架,定位于促进企业级应用的执行。Hadoop也是开源社区,主要提供解决大数据问题的工具和软件。Hadoop虽然提供了很多功能,但还是应该归类为几个组件组成的Hadoop生态系统,包括数据存储、数据集成、数据处理等专门用于数据分析的工具。图2展示了Hadoop生态系统,主要由HDFS、MapReduce、Hbase、Zookeeper、ozie、Pig、Hive等核心组件组成。,还包括了用于与其他企业进行集成的Sqoop、Flume等框架。与此同时,Hadoop生态系统也在成长,增加了Mahout、Ambari、Whirr、BigTop等内容提供更新功能。


  Hadoop以其低成本、高可靠性、高可扩展性、高效率和高容错性成为最受欢迎的大数据分析系统。然而,它所依赖的HDFS和MapReduce组件让它一度陷入困境。批处理只适合离线数据处理,在实时场景下没有用。于是,各种基于Hadoop的工具应运而生。为了降低管理成本,提高资源利用率,有许多统一的资源管理和调度系统,如Twitter的ApacheMesos、Apache的SHEET、Google的Borg、腾讯搜搜的Torca、Facebook的Corona。ApacheMesos是Apache孵化器中的一个开源项目,使用ZooKeeper实现容错复制,使用LinuxContainers隔离任务,支持多种资源规划和分配(内存和CPU)。提供跨分布式应用和框架的高效资源隔离和共享,支持Hadoop、MPI、Hypertable、Spark等。纱也叫MapReduce2.0,借鉴Mesos,纱提出了资源隔离解决方案,Container,为Java虚拟机提供内存隔离。与MapReduce1.0相比,开发人员使用的是ResourceManager、ApplicationMaster和NodeManager,而不是原框架的核心——作业跟踪器和任务跟踪器。很多计算框架,比如MR、Tez、Storm、Spark等等,都可以在shate平台上运行。


  基于业务的实时性需求,有支持在线处理的Storm和CloudarImpala,支持迭代计算的Spark和流处理框架S4。Storm是一个分布式、容错的实时计算系统,由BackType开发,然后由Twitter捕获。Storm是一个流处理平台,主要用于实时计算和更新数据库。Storm还可以用于“ContinuousComputation”,对数据流进行连续查询,并在计算过程中以流的形式将结果输出给用户。也可以在“分布式RPC”中使用,并行运行昂贵的操作。ClouderaImpala是Cloudera开发的开源MassivelyParallelProcessing(MPP)查询引擎。与Hive相同的元数据、SQL语法、ODBC驱动程序和用户界面(Hue蜂蜡)可以直接在HDFS或HBase上提供快速和交互式的SQL查询。黑斑羚是在德雷梅尔的启发下发展起来的。它不使用慢的Hive+MapReduce批处理,而是通过类似于商业并行关系数据库中的分布式查询引擎(由QueryPlanner、QueryConnector和QueryExecEngine组成),使用SELECT、JOIN和statistical函数直接查询来自HDFS或HBase的数据,从而大大减少了延迟。


  Hadoop社区正在试图扩展现有的计算模型框架和平台,以解决现有版本在计算性能、计算模型、系统架构和处理能力方面的诸多不足,这也是Hadoop2.0版本“纱”的目标。各种计算模式也可以与内存计算模式混合,实现高实时大数据查询和计算分析。混合计算模型的大师是UCBerkeleyAMPLab开发的Spark生态系统,如图3所示。Spark是一个开源的通用数据分析集群计算框架,类似HadoopMapReduce,用于构建大规模、低延迟的数据分析应用,构建在HDFS之上。Spark提供了强大的内存计算引擎,几乎涵盖了所有典型的大数据计算模式,包括迭代计算、批处理计算、内存计算、SparkStreaming、数据查询分析计算(Shark)和图形计算(GraphX)。Spark使用Scala作为应用框架和基于内存的分布式数据集,优化迭代工作量和交互查询。与Hadoop不同,Spark和Scala紧密集成,Scala像管理本地集合对象一样管理分布式数据集。Spark支持分布式数据集上的迭代任务,实际上可以在Hadoop文件系统上用Hadoop运行(通过shate、Mesos等实现)。)。此外,在性能、兼容性、数据类型的研究基础上,还有其他开源的解决方案,如Shark、Phoenix、ApacheAccumulo、ApacheDrill、ApacheGiraph、ApacheHama、ApacheTez、ApacheAmbari。预计主流Hadoop平台经过长期改进后,将与各种新的计算模式和系统共存,形成新一代大数据处理系统和平台。



  • 友情链接

关注东软睿道公众号了解更多IT行业资讯

添加东小萌微信
获取更多IT学习资源