`
coderplay
  • 浏览: 577118 次
  • 性别: Icon_minigender_1
  • 来自: 广州杭州
社区版块
存档分类
最新评论

hadoop改进方面的胡思乱想

阅读更多

1. 我做数据挖掘的时候, 经常需要只对key分组,不必排序。目前把sort类给设为null能处理,但还是不尽人意。hadoop的机制是通过一个circle buffer 收集mapper输出的东西, 到了io.sort.mb * percent量的时候,就spill到disk, 而spill前使用排序,默认快排。 之后reduce下载spill的东西, 进行merge, merge的时候使用了堆排。我的想法是通过一个hash,每个hash的元素是一个链表,存放相同key的所有值。不过这样就没circle buffer了,用不到其对stream缓存的优点,这个要仔细想想。

2. map之后要么直接写到hdfs(reducer 个数为0时), 要么同一道作业指定的reducer去处理这些东西. 这个机制很不灵活。有时候我的mapper输出,让不同的reducer处理不同的任务,输出不同的结果。 目前hadoop虽然能处理,但太牵强了。如果mapper处理完之后,加一层转发机制。这时候可以少一次io, 而且灵活,  NB. 如果能把数据像流一样处理,而且可以分流,汇集之类的,那更好。

3. 还是百度提出的老问题, 机器一般挂多块磁盘。 单块磁盘的故障会导致系统认为整个节点down了, 这个修改相应的代码应该可以实现。slave报告的时候准确一点, 就可以只复制坏了的磁盘的数据了。

4. hadoop的任务跟踪能力太弱了,如果能做到和erlang那么NB,就厉害了

5. mapper的个数实际上是根据block数来定的, 线程太多, 消耗太大。

分享到:
评论
4 楼 coderplay 2011-07-19  
conservatism 写道
sort设置成null也只能避免mapper spill时的排序吧,reducer端的排序可以改成hash,保证相同key的结果都在一起

map spill前和reduce的merge都会使用sort
3 楼 conservatism 2011-07-17  
sort设置成null也只能避免mapper spill时的排序吧,reducer端的排序可以改成hash,保证相同key的结果都在一起
2 楼 coderplay 2009-02-08  
知道这东西, erlang还有个disco. 目前最好的还是hadoop
1 楼 yawl 2009-02-07  
你看过couchdb没有?我觉得idea真是不错。底层是erlang实现的,但可以用javascript写map/reduce程序。不知道用起来怎么样。

我前几周写了点erlang程序,实在是太受罪了。

相关推荐

    hadoop2.7.3 Winutils.exe hadoop.dll

    Hadoop 2.7.3是这个框架的一个稳定版本,它包含了多个改进和优化,以提高性能和稳定性。在这个版本中,Winutils.exe和hadoop.dll是两个关键组件,它们对于在Windows环境下运行Hadoop至关重要。 Winutils.exe是...

    Hadoop+平台下改进的+LATE+调度算法

    在探讨Hadoop平台下改进的LATE调度算法之前,我们先了解Hadoop及MapReduce的基本概念,以及原生LATE调度算法存在的问题,这有助于深入理解改进算法的意义和价值。 ### Hadoop与MapReduce Hadoop是一个开源软件框架...

    hadoop winutils hadoop.dll

    Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它允许在普通硬件上高效处理大量数据。在Windows环境下,Hadoop的使用与Linux有所不同,因为它的设计最初是针对Linux操作系统的。"winutils"和"hadoop.dll...

    hadoop.dll & winutils.exe For hadoop-2.7.1

    Hadoop-2.7.1是Hadoop的一个稳定版本,引入了许多改进和优化,包括性能提升、错误修复以及对新特性的支持。对于Windows用户来说,能够在这个版本中顺利运行Hadoop,意味着他们可以充分利用Hadoop的大数据处理能力,...

    hadoop2.7.3的hadoop.dll和winutils.exe

    Hadoop 2.7.3是Hadoop发展中的一个重要版本,它包含了众多的优化和改进,旨在提高性能、稳定性和易用性。在这个版本中,`hadoop.dll`和`winutils.exe`是两个关键组件,它们对于在Windows环境下运行Hadoop至关重要。 ...

    Hadoop3.1.3.rar

    Hadoop 3.1.3是Hadoop发展的一个重要里程碑,它在3.x系列中引入了多项改进和优化,提高了性能、稳定性和可扩展性。 1. **Hadoop架构**:Hadoop由两个主要部分组成:Hadoop Distributed File System (HDFS) 和 ...

    hadoop-eclipse-plugin1.2.1 and hadoop-eclipse-plugin2.8.0

    Hadoop-Eclipse-Plugin 2.8.0的出现,反映了Hadoop生态系统从Hadoop 1到Hadoop 2的重大转变,尤其是在资源管理和任务调度方面的改进。同时,这也意味着对于那些已经习惯了Eclipse或MyEclipse的开发者来说,他们无需...

    Hadoop技术详解.Hadoop Operation

    总之,《Hadoop技术详解》这本书会深入讲解Hadoop的各个方面,包括其核心组件、生态系统、安装配置、操作与管理,以及性能优化和安全策略。对于希望深入理解和操作Hadoop的读者来说,这是一本不可或缺的参考资料。...

    hadoop2.6 hadoop.dll+winutils.exe

    标签 "hadoop2.6 hadoop.dll winutils.exe" 明确指出这些元素属于Hadoop 2.6版本,这是Hadoop的一个重要里程碑版本,引入了许多改进和新特性,例如YARN(Yet Another Resource Negotiator)资源管理系统,增强了...

    hadoop-2.7.2.rar

    总之,Hadoop 2.7.2是一个强大的大数据处理平台,其核心组件HDFS和MapReduce在稳定性、性能和可扩展性方面都有所提升。通过在Linux环境中正确配置和使用,用户可以构建起一个高效的数据处理集群,满足大数据分析和...

    hadoop.dll & winutils.exe For hadoop-3.0.0

    这是Hadoop的一个具体版本,代表了Hadoop项目的最新进展和改进。每个版本都可能包含性能优化、新特性、bug修复和兼容性增强。Hadoop 3.0.0是一个重要的里程碑,引入了许多新功能,例如更强大的NameNode(HDFS的主...

    各个版本Hadoop,hadoop.dll以及winutils.exe文件下载大合集

    每个版本都有其特定的改进和特性,选择合适的版本取决于具体项目的需求和兼容性。 `hadoop.dll`是Hadoop在Windows环境下运行的一个关键组件。通常,Hadoop是设计在Linux系统上运行的,但开发者为了在Windows上运行...

    hadoop2.6.0插件+64位winutils+hadoop.dll

    Hadoop2.6.0是这个框架的一个重要版本,它包含了多项优化和改进,以提高系统的稳定性和性能。在这个压缩包中,我们关注的是与Windows环境相关的两个关键组件:Winutils和hadoop.dll。 首先,让我们详细了解一下...

    hadoop的hadoop.dll和winutils.exe下载

    在Hadoop生态系统中,`hadoop.dll`和`winutils.exe`是两个关键组件,尤其对于Windows用户来说,它们在本地开发和运行Hadoop相关应用时必不可少。`hadoop.dll`是一个动态链接库文件,主要用于在Windows环境中提供...

    Hadoop下载 hadoop-2.9.2.tar.gz

    Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo...

    hadoop2.7.7对应的hadoop.dll,winutils.exe

    在Hadoop生态系统中,Hadoop 2.7.7是一个重要的版本,它为大数据处理提供了稳定性和性能优化。Hadoop通常被用作Linux环境下的分布式计算框架,但有时开发者或学习者在Windows环境下也需要进行Hadoop相关的开发和测试...

    hadoop.zip hadoop2.7.1安装包

    Hadoop2.7.1是Hadoop的一个稳定版本,提供了许多改进和新特性,旨在提高性能、可靠性和可管理性。 在Hadoop2.7.1安装包中,`hadoop-2.7.1.tar.gz`是主要的发布文件,包含了Hadoop的所有组件和依赖库。这个tarball...

    hadoop.dll & winutils.exe For hadoop-2.8.0

    **Hadoop-2.8.0** 是Hadoop的一个特定版本,发布于2017年,它带来了许多改进和新特性。例如,性能优化、YARN(Yet Another Resource Negotiator)的增强、更强大的安全性支持以及对Spark等大数据处理框架的兼容性...

    hadoop-2.7.2资源

    Hadoop 2.7.2是Hadoop发展过程中的一个重要版本,提供了诸多改进和新特性,使得它在处理大规模数据时更为高效和稳定。 标题中的“hadoop-2.7.2资源”指的是这个压缩包包含了Hadoop 2.7.2版本的相关组件和文件。这个...

Global site tag (gtag.js) - Google Analytics