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