给定以下格式的数据(tag_uri image_uri image_uri image_uri ...),我需要将它们转换为 Hadoop SequenceFile 格式以供 Mahout 进一步处理(例如集群)
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),如下所示
http://flickr.com/photos/tags/100commentgroup,http://flickr.com/photos/tags/100faves,...
0,1,...
1,1,...
...
每行描述一个标签。然后将arff文件转换为mahout使用的矢量文件进行进一步处理。我试图跳过 arff 生成部分,而是生成一个 sequenceFile。如果我没记错的话,要将我的数据表示为一个序列文件,我需要以 $tag_uri 作为键存储数据的每一行,然后将 $image_vector 作为值。这样做的正确方法是什么(如果可能,我可以将每一行的 tag_url 包含在某处的序列文件中)吗?
我找到了一些参考资料,但不确定它们是否相关:
- 编写序列文件
- 为 svd 矩阵分解格式化输入矩阵(我可以以这种形式存储我的矩阵吗?)
- RandomAccessSparseVector(考虑到我只列出分配有给定标签的图像而不是一行中的所有图像,是否可以使用这个向量来表示它?)
- 序列文件写入
- 序列文件说明