java技术栈是什么 技术栈是什么( 二 )


Zookeeper在Java中也是很出名的,像基于Dubbo的注册中心一般都是用Zookeeper来实现的 。同类的有:鼎鼎大名的微服务的注册中心Eureka、Consul之类的 。
Hadoop
Hadoop是一个由Apache基金会所开发的分布式系统基础架构 。用户可以在不了解分布式底层细节的情况下,开发分布式程序 。充分利用集群的威力进行高速运算和存储 。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS 。
HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序 。
HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据 。Hadoop的框架最核心的设计就是:HDFS和MapReduce 。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算
从Java的角度看Hadoop有点类似Spring Cloud,他们不仅仅只是一个具体的技术,而是一个生态圈,Hadoop中包含了Hive、MapReduce、HDFS等,所以不要把Hadoop看成仅仅只是一个单一的技术 。
数据处理技术
像MapReduce、Spark、Storm/Flink都是用来处理数据的,比如数据清洗、计算、统计等等之类的 。
MapReduce
MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:

  1. MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure) 。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群 。
  2. MapReduce是一个并行计算与运行软件框架(Software Framework) 。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担 。
  3. MapReduce是一个并行程序设计模型与方法(Programming Model & Methodology) 。它借助于函数式程序设计语言Lisp的设计思想,提供了一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,提供了抽象的操作和并行编程接口,以简单方便地完成大规模数据的编程和计算处理
额—》技术的概念一般都是严谨复杂的,这边简单概括就是MapReduce简称MR,主要功能就是用来处理离线大数据,可以通过分析海量的离线数据,计算出我们需要的结果 。
Spark
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎 。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法 。
Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载 。
从概念上面我们就可以看出来,Spark并不仅仅只是一个技术,而是和Hadoop相似,有一个成熟的生态圈,例如Spark SQL、Spark Streaming之类的,和Hadoop中的Hive、MR相似 。现在主流的都采用Spark来进行海量数据的处理,因为它既可以实现离线数据分析又可以进行实时数据分析 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: