Hadoop 计算所有拆分中所需的术语
Posted
技术标签:
【中文标题】Hadoop 计算所有拆分中所需的术语【英文标题】:Hadoop counting needed terms in all splits 【发布时间】:2013-12-05 12:06:35 【问题描述】:我想在 hadoop 框架中的所有拆分之间共享一些数据,更具体地说,我有一个文件,其中包含我要搜索的很多术语,并写下每个文档中出现的次数,但是问题是,如果单词没有出现在某些拆分中,我需要为这个文件返回 0,但是我无法将我正在搜索的术语传递给拆分中的所有节点的问题,谁能给我一些想法
【问题讨论】:
您是否尝试过使用DistributedCache
与条款共享此文件?
我会检查,我还是 Hadoop 新手,我会尽快通知你(谢谢)
是的,这是我的问题的解决方案,接受 Hadoop 2.X 上的一些修改仍然需要完成。
我已经发布了答案。如果通过修改您的意思是它已被弃用,也许它会对您有所帮助。
【参考方案1】:
通常,DistributedCache
是跨节点共享数据的方式。但是由于它已被弃用,请检查此answer。
【讨论】:
我以前检查过这个答案,但不幸的是,这个答案对我不起作用,我有一个空指针异常。这是我的工作;在驱动程序中我有以下内容:\ n job.addCacheFile(headers1);在设置中我添加了以下内容:\n URI[] cacheFiles = context.getCacheFiles();编译工作,但在执行期间我得到了 NullPointerException 另一个想法,我想知道每个任务节点中保存的缓存文件在哪里(是在 HDFS 还是本地路径中),因为我发现它保存在 /tmp/hadoop-(userName )/mapred/local/(randomNumber)/,当我检查那个文件夹时,我发现它是空的 @MahmoudAl-Ewiwi 好的,但是要遵守网站的 QA 格式,您应该为您的新问题创建一个新问题。此外,如果此答案适用于解决您最初的问题(如何跨节点共享数据),则应将其标记为已接受。谢谢。 新问题是here以上是关于Hadoop 计算所有拆分中所需的术语的主要内容,如果未能解决你的问题,请参考以下文章