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 计算所有拆分中所需的术语的主要内容,如果未能解决你的问题,请参考以下文章

如何去计算hdfs中namenode中所需的堆内存大小

使序列的所有元素为 0 所需的最小步骤数

从 Electron 中所需的 JS 模块访问父变量

Blazor 组件中所需的级联参数

使接受 Laravel 中所需的条款和条件字段

Windows 无法安装所需的文件。 请确保安装所需的所有文件可用,并重新启动安装。 错误代码: 0x800700B7