首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成SequenceFile

生成SequenceFile
EN

Stack Overflow用户
提问于 2011-08-15 06:48:48
回答 1查看 1.7K关注 0票数 3

给定以下格式的数据(tag_uri image_uri .),我需要将它们转换为Hadoop SequenceFile格式供Mahout进一步处理(例如集群)

代码语言:javascript
复制
http://flickr.com/photos/tags/100commentgroup http://flickr.com/photos/34254318@N06/4019040356 http://flickr.com/photos/46857830@N03/5651576112
http://flickr.com/photos/tags/100faves http://flickr.com/photos/21207178@N07/5441742937
...

在此之前,我将将输入转换为csv (或arff),如下所示

代码语言:javascript
复制
http://flickr.com/photos/tags/100commentgroup,http://flickr.com/photos/tags/100faves,...
0,1,...
1,1,...
...

每一行描述一个标记。然后,将arff文件转换为mahout用于进一步处理的向量文件。我试图跳过arff生成部分,转而生成一个sequenceFile。如果我没有弄错,要将我的数据表示为sequenceFile,我需要用$tag_uri作为键存储数据的每一行,然后以$image_vector作为值。做这件事的正确方法是什么(如果可能的话,我可以让每个行的tag_url包含在某个顺序文件中)?

我发现了一些引用,但不确定它们是否相关:

  1. 编写SequenceFile
  2. svd矩阵分解输入矩阵的格式化 (我可以用这种形式存储矩阵吗?)
  3. RandomAccessSparseVector (考虑到我只列出了用给定标记指定的图像,而不是行中的所有图像,是否可以使用这个向量来表示它?)
  4. SequenceFile写
  5. SequenceFile解释
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-15 10:08:07

您只需要一个SequenceFile.Writer,这在您的链接#4中已经解释过了,它允许您将键值对写入文件。当然,关键和价值取决于您的用例。集群与矩阵分解和协作过滤完全不同。没有一种SequenceFile格式。

关键或值很可能是Mahout Vector。知道如何编写Vector的东西是VectorWritable。这是您用来包装Vector并用SequenceFile.Writer编写它的类。

您需要查看将消耗它的作业,以确保您正在传递它所期望的内容。例如,对于集群,我认为键被忽略了,值是Vector

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

https://stackoverflow.com/questions/7062327

复制
相关文章

相似问题

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