首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hadoop中的交叉乘积和读取头

hadoop中的交叉乘积和读取头
EN

Stack Overflow用户
提问于 2013-12-02 11:16:03
回答 2查看 259关注 0票数 1

我有一些hadoop文档相似项目,我正在做,而且我被困在了某个部分。情况如下(我在csv文件中存储了一个文档术语索引表)

"",t1,t2,t3,t4,……

doc1,f11,f12,f13,f14 .

doc2,f21,f22,f23,f24 .

doc3,f31,f32,f33,f34 .

其中f12指term2(t2)在document1(doc1)中的频率

另一方面,我有一个查询文件,其中包含需要搜索的查询,以查找它们最近或类似的文档。

"",t1,t3,t122,t34,……

q1,f11,f12,f13,f14 .

q2,f21,f22,f23,f24 .

q3,f31,f32,f33,f34 .

。但是这里的术语可能包含不同的术语,所以我需要找到这两个术语(术语索引和查询)的交叉乘积,以便找到查询和现有文档之间的距离。

问题包括两个部分:first,如何读取这些csv文件的头,以便将它们存储在特定的条件向量中,因为该文件将被拆分成不同的机器。

第二次,如何在这两个文件上生成交叉积,以找到相似之处(创建一个新文档,该文档可以包含所有可能的术语(维度)以找到相似性)。

我计划写一些K近邻算法,找出我应该使用的工具,猪,蜂巢,马赫特。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-03 08:44:22

关于笛卡尔积的书MapReduce设计模式有一个单独的章节,并给出了源代码。

票数 1
EN

Stack Overflow用户

发布于 2013-12-16 03:11:12

是的,我正在读同一本书的同一章节!

但是,运行时非常长!按照书中的方法,一个包含20,000条记录的600 in数据集,运行笛卡尔产品需要超过10个小时!虽然我知道对于2万条记录,计算将接近2亿倍,I/O访问将是4亿倍,这是巨大的,我觉得它在一个相当于GB或TB的大数据集上工作是不切实际的。

我正在与作者联系,看看他是否有相同的运行时。会让你们知道

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20326956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档