hadoop是什么语言开发的,hadoop是什么数据处理平台
Hadoop原本是Apache Lucene下的一个子项目。它最初是从Nutch项目中分离出来的,负责分布式存储和分布式计算。简单来说,Hadoop是一个可以更容易开发和运行的处理大规模数据的软件平台。以下是hadoop的一些主要特性:
可扩展:它可以可靠地存储和处理PB级数据。
经济:数据可以通过由普通机器组成的服务器群进行分发和处理。这些服务器群总计可达数千个节点。
高效:通过分发数据,hadoop可以在数据所在的节点上并行处理它们,使得处理速度非常快。
可靠):hadoop可以自动维护数据的多个副本,在一个任务失败后自动重新部署计算任务。
Hadoop实现了一个Hadoop分布式文件系统(HDFS)。HDFS的特点是高容错性,设计用于部署在低成本的硬件上。并且它提供了高传输速率(高
吞吐量)来访问应用程序数据,适用于数据集较大的应用程序。HDFS放松)POSIX的要求,使其可以以流的形式访问
访问)文件系统中的数据。
Hadoop还实现了MapReduce分布式计算模型。MapReduce将应用程序的工作分解成许多小的工作块。HDFS创建多个数据块(数据)以提高可靠性。
块)并将它们放在服务器场的计算节点中,MapReduce可以在它们所在的节点上处理这些数据。
Hadoop分为以下几个主要包:
Org.apache.hadoop.conf定义了系统参数的配置文件处理API。
Org.apache.hadoop.fs定义了抽象文件系统API。
org . Apache . Hadoop . DFS coop的分布式文件系统(HDFS)模块的实现
Org.apache.hadoop.io定义了一个通用的I/O API,用于读写网络、数据库、文件等数据对象。
Org.apache.hadoop.ipc是一个网络服务器和客户端的工具,封装了网络异步I/O的基本模块。
Org.apache.hadoop.mapred Hadoop分布式计算系统(MapReduce)模块,包括任务分配和调度等。
Org.apache.hadoop.metrics定义了性能统计的API,主要用于mapred和dfs模块。
Org.apache.hadoop.record为记录和记录描述语言转换器定义了I/O API类,记录描述语言转换器用于将记录的序列化简化为语言中立的格式。
Org.apache.hadoop.tools定义一些通用工具。
Org.apache.hadoop.util定义了一些常用的API。
1.2Hadoop框架
Map/Reduce是一个用于大规模数据处理的分布式计算模型。它最初是由Google工程师设计和实现的,Google已经发布了它的完整MapReduce论文。Map/Reduce被定义为编程模型(编程
Model)是处理和生成大型数据集的相关实现。用户定义一个map函数来处理一个键/值对,生成一批中间键/值对,然后定义一个reduce函数,用同一个键合并所有这些中间值。现实世界中的很多任务都可以用这个模型来表达。