0

我有两个文件,如下所示。

对于文件 A

AA
BB
CC
DD
EE
FF

对于文件 B

BB
CC
DD
UU
VV

我的工作是找到那些出现在文件B中而不出现在文件A中的单词。你可以认为文件B只是一个文件,而文件A是一堆文件。

下面是我正在做的事情。

对于地图阶段:

emit(word,filename)

对于减少阶段:

检查单词,

if COUNT(values)>1:
   ignore it. 
if COUNT(values)==1 and filename != A:
   ignore it.
emit(word) 

你有更好的解决方案吗?

更新

一个文件中没有重复条目。

此致,

4

1 回答 1

0

您的解决方案有问题。

if COUNT(values)>1:
   ignore it. 
for file A

AA
BB
CC
DD
EE
FF
for file B

BB
CC
DD
UU
VV
VV

所以 VV 不会出现在错误的 ans 中。


(更改)答案:

减少 :

 if(value.contains(FileName A) && value.contains(FileName B))
  ignore;
else if (value.contains(FileName A) && !value.contains(FileName B))
 ignore;
 else 
emit(key)

于 2012-10-31T06:29:29.937 回答