正在学习Hadoop和MapReduce框架。到目前为止,我一直在使用MapReduce框架处理文本文件。
当我开始学习MapReduce时,我发现第一个流行的例子是WORDCOUNT,这是一个文本文件处理场景。然后我编写了自己的逻辑来处理一些文本文件并显示结果。那件事我成功了。
但是我需要转移到不同格式的输入。因为在现实世界中,我们不会只处理文本文件。我需要探索处理不同的格式,如图像,音频,视频使用MapReduce框架。但我正在努力寻找合适的例子来达到我的目的。我需要一些关于MapReduce的例子和教程,不同格式的输入,从文本到视频。
编辑:我的意思是处理图像,视频和音频。不仅是文本文件。
编辑2:
一个例子:假设我有一个10年的。bmp图像(其中不涉及压缩和解压缩),其大小为450GB。我需要分析文件夹中的每个图像,我应该显示类似的图像(通过比较像素的相似模式)。我应该列出在"从"到"日期之间创建/修改的图像。说在2013年1月到2013年2月之间创建/修改的图像。我怎么才能做到这一点?
如果有人帮助我走在正确的道路上,我会很高兴!!HIPI是使用MapReduce对图像文件进行图像处理的框架。
这是一篇关于云中的高性能视频处理的论文。它不完全是MapReduce,但与MapReduce非常相似。
请注意,我还没有尝试过,但做了一点谷歌,这些是我能得到的最接近的资源。
设置映射器和reducer时,可以指定输入/输出键和值数据类型。在这里,你可以按照我认为你想要的方式处理不同的数据类型。
下面是一个使用int数据类型计算平均值的示例(尽管格式很差):
http://souravgulati.webs.com/apps/forums/topics/show/8539120-hadoop-map-reduce-example-calculate-mean-in-map-reduce编辑
在处理这些类型的文件时,有一个具体想要完成的任务的示例会有所帮助。例如,如果你正在使用音频:你使用。wav文件吗?知道这一点很好,因为您可以使用字节数据类型进行处理。否则,如果你使用。mp3文件,你必须处理压缩。
与图像相同,.bmp文件我认为没有被压缩,并且可以直接使用int或byte数据类型在map reduce中操作。使用任何类型压缩的文件都很可能需要在运行作业之前进行某种预处理。
大多数教程都是关于字数统计或类似的简单内容。为了得到更好的建议,最好有一个具体的问题需要解决。soooo你想对你的mapreduce任务做什么?计算图像中的像素数?浮雕图像?计算音频文件的平均音量?
编辑
你所描述的是两个不同的映射任务(除非你只想在你的to-from日期之间的所有图像上执行分析)。
你可以尝试做的(这是一个没有任何代码的高级描述)是以下(这是我的头顶,因为我没有这样使用mapreduce):
因为您的映射作业需要一次比较两个图像文件,所以您需要运行number-of-files facotrial map reduce作业来获得所有可能的文件比较。这可能需要一段时间!
您需要您的映射器一次输入两个文件并执行比较mapreduce作业。您可以根据需要多次运行此作业,以处理源图像文件的所有组合。您可以使用类似[oozie][1]
这样的命令来协调这些工作。现在你可能会问-如何比较mapreduce中的两个图像文件?再一次,我没有这样做,但这可能会给你指明正确的方向-查看具有多个文件源的mapreduce作业:Hadoop映射器从2个不同的源输入文件读取