caching - 在Hadoop工作节点上缓存数据

标签 caching hadoop amazon-s3 mapreduce ehcache

我的Map / Reduce程序经常从S3请求文件。在reducer中,我经常从Amazon S3请求文件,并且我可能多次请求相同的文件(每个文件大约1万至10 MB,大约1万个文件)。使用Hadoop分布式缓存效率不高,因为它将所有这些文件复制到所有工作节点(据我了解),但是我不想这样做,因为在 reducer 阶段,我可能只从10 K个文件中请求1000个文件。而且,如果reducer在文件之前请求过,如果reduce再次需要它,我不想再次请求它。我问是否有人在工作节点上实现了ehcache或oscache这样的缓存框架?还是有什么方法仅将请求的文件缓存在工作机磁盘上?

谢谢
亚希亚

最佳答案

看看SHARK
无需花费太多时间进行配置。另一个选择是memcached。

关于caching - 在Hadoop工作节点上缓存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11808988/

相关文章:

hadoop - 是否可以从中断的地方重新启动 "killed"Hadoop 作业?

ftp - 使用慢速/不可靠的网络连接上传到 AWS(S3 或 EBS)

java - 一致性缓存 | ConcurrentHashMap 入,HashMap 出

mysql - 如何缓存结果

java - 如何测试Spring-Cache?

mysql - 配置单元 'cannot alter table' 错误

java - hadoop 0.20如何设置map任务数?

amazon-web-services - 从 S3 迁移到 Redshift 数据库时如何删除标题行?

c# - 如何使用 C# 将容器及其内容复制到 AWS 存储桶?

java - Spring Redis 在使用@Cacheable 或@CachePut 时将 POJO 保存为不同的类型