- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
当您需要将您的 mapper/reducer 经常使用的少量数据放入 distributedCache 时,DistributedCache 似乎会派上用场。但在某些情况下,您想要放入映射器的数据会非常大,比如超过 300 MB。在这种情况下你会怎么做?在这种情况下,分布式缓存的替代方案是什么?
最佳答案
分布式缓存默认是几千兆字节,所以 300MB 不一定是问题。 (您可以在 mapred-site.xml
中调整大小。)如果您的作业经常运行并且缓存中几乎没有其他改动,那么为节点获取 300MB 仍然是值得的。
另一种选择是将您的文件放在 HDFS 上,让任务从那里读取它们。您可以使用 org.apache.hadoop.fs.FileSystem
API 来执行此操作。
要选择最好的,您可能应该两种方式都尝试一下,看看哪个能给您带来更好的 I/O 和运行时间(包括对其他作业的影响)。这可能取决于您的作业运行频率、缓存中还有多少其他内容、map/reduce 比率等。
关于hadoop - MapReduce 程序中 DistributedCache 的替代方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21859264/
我可以使用 DistributedCache 访问单个文件,但无法访问存档。在主要方法中,我将存档添加为 DistributedCache.addCacheArchive(new Path("/sto
在 Hadoop 作业中,我正在映射多个 XML 文件并为每个元素过滤 ID (from -tags) .因为我想将作业限制在一组特定的 ID 中,所以我读入了一个大文件(2.7 GB 中大约有 2.
DistributedCache 的文档状态: Its efficiency stems from the fact that the files are only copied once per j
当我运行 hadoop 代码添加第三个 jar 时,就像下面的代码: public static void addTmpJar(String jarPath, JobConf conf) throws
我正在使用 hadoop DistributedCache,但我遇到了一些麻烦。我的 hadoop 处于伪分布式模式。 from here we can see in pseudo-distribut
使用较新的 Hadoop API 从 DistributedCache 读取文件的好方法是什么?我已将文件放在 DistributedCache 中,在我的驱动程序代码中包含以下行: Distribu
我正在尝试在 AWS 上运行 KMeans,但在尝试从 DistributedCache 读取更新的集群质心时遇到了以下异常: java.io.IOException: The distributed
我有一个奇怪的问题,DistributedCache 似乎更改了我的文件的名称,它使用原始名称作为父文件夹并将文件添加为子文件夹。 即文件夹\文件名.ext 变成文件夹\文件名.ext\文件名.ext
Hadoop的DistributedCache文档似乎没有充分描述如何使用分布式缓存。这是给出的示例: // Setting up the cache for the application 1.
与 Apache MRUnit在集群上运行之前,我能够在本地对我的 MapReduce 程序进行单元测试。 我的程序需要读取 DistributedCache所以我将 DistributedCache
当您需要将您的 mapper/reducer 经常使用的少量数据放入 distributedCache 时,DistributedCache 似乎会派上用场。但在某些情况下,您想要放入映射器的数据会非
我正在尝试重现 MapReduce 设计模式 一书中的Bloom Filtering 示例。 在下文中,我将仅展示感兴趣的代码: public static class BloomFilteringM
我有 2 个节点集群 (v1.04),主节点和从节点。在 master 上,在 Tool.run() 中,我们使用 addCacheFile() 将两个文件添加到 DistributedCache。文
2012 年 11 月 21 日更新: 通过将属性 mapred.child.java.opts 设置为 -Xmx512m 解决了问题。在此之前,我在 core-site.xml 中将 HADOOP_
我正在寻找类似于Spark中Hadoop的分布式缓存的功能。我需要一个相对较小的数据文件(具有一些索引值)存在于所有节点中以便进行一些计算。有什么方法可以在 Spark 中实现这一点吗? 到目前为止,
我试图摆脱一些NoClassDefFoundError由于一些 jars运行时找不到。所以我输入了我的hdfs系统一些库,我打电话,我把这个 String lib = "/path/to/lib";
(标题应该是sharded 以反射(reflect) Hadoops shards 其跨多个文件的输出) 我将多个 Hadoop 作业链接在一起。其中一项早期作业生成的输出比其他作业小几个数量级,因此
是否有关于是否使用分布式缓存分发文件的指南? 我有一个大小为 86746785 的文件(我使用 hadoop dfs -dus - 不知道这是 bytes 还是什么)。分发这个文件是个好主意吗? 最佳
我正在尝试将 TreeSet 存储在 DistributedCache 上,以供 Hadoop map-reduce 作业使用。到目前为止,我有以下用于将文件从 HDFS 添加到 Distribute
我正在使用以 yarn 模式运行的 hadoop cdf4.7。 hdfs://test1:9100/user/tagdict_builder_output/part-00000 中有一个 MapFi
我是一名优秀的程序员,十分优秀!