有人可以根据软件背后的想法解释什么是hadoop?是什么让它如此受欢迎和/或强大?
Hadoop是一种编程环境,可以在大型机器集群上并行运行大量计算.它具有多个机器丢失的弹性,可扩展以通过添加机器和跟踪报告计算状态来实现更快的计算.Hadoop之所以受欢迎是因为它是一个强大的开源环境,并且因为许多用户(包括Yahoo!,Microsoft和Facebook等大型用户)将其用于大型数据处理项目.它功能强大,因为它使用map/reduce算法,该算法将计算分解为两个简单操作的序列:
map - 获取项目列表并对每个项目执行相同的简单操作.例如,获取网页的文本,对其进行标记,并用字符串替换每个标记:1
reduce - 获取项目列表并使用累积运算符累积它.例如,取以下列表:1,计算出现的次数并输出表格列表:nt,其中nt是原始列表中出现的次数.
使用适当的分解(程序员所做的)和任务分配和监控(Hadoop所做的),您可以获得快速可扩展的计算; 在我们的例子中 - 一个字数统计计算.您可以对数十个映射进行排序,并减少并获得复杂算法的实现.这是非常高级的观点.现在进一步详细了解MapReduce和Hadoop.