Bin*_*Mee 5 java linux hadoop mapreduce image
我正在学习Hadoop和MapReduce框架.到目前为止,我已经玩过文本文件,并通过利用MapReduce框架进行处理.
当我开始MapReduce学习第一个流行的例子时,我发现WORDCOUNT是一个文本文件处理场景.然后我编写了自己的逻辑来处理一些文本文件并显示结果.在那种情况下我成功了.
但我需要转向不同格式的输入.因为在现实世界中我们不会仅处理文本文件.我需要使用MapReduce框架探索不同格式的处理,如图像,音频,视频.但我正在努力找到符合我目的的恰当例子.我需要一些关于MapReduce的示例和教程,不同格式的输入范围从文本到视频.
编辑:
我的意思是处理图像,视频和音频.不仅是文本文件.
编辑2:
示例:假设我有一个10年的.bmp图像(不涉及压缩和解压缩),其大小为450GB.我需要分析文件夹中的每个图像,我应该显示相似的图像(通过比较像素的相似性模式).我应该列出在"从""到"日期之间创建/修改的图像.假设在2013年1月至2013年2月期间在该组图像中创建/修改的图像.我怎么能完成这个?
如果有人帮助我在正确的道路上旅行,我会很高兴!
当您设置映射器和化简器时,您可以指定输入/输出键和值数据类型。这是您可以按照我认为您想要的方式处理不同数据类型的地方。
这是一个使用 int 数据类型来计算平均值的示例(尽管格式很差):
编辑
在处理这些类型的文件时,提供一个具体说明您要完成的任务的示例会再次有所帮助。例如,如果您使用音频:您使用的是 .wav 文件吗?知道这一点会很好,因为您可以使用字节数据类型进行处理。否则,如果您使用 .mp3 文件,则需要进行压缩处理。
与图像相同,我相信 .bmp 文件没有被压缩,并且可以使用 int 或 byte 数据类型在 MapReduce 中直接操作。使用任何类型的压缩的文件很可能需要在运行作业之前进行某种预处理。
大多数教程都涉及字数统计或类似的简单内容。最好有一个具体的问题需要解决,以便获得更好的建议。
那么你想用你的mapreduce工作做什么?计算图像中的像素数?浮雕图像?计算音频文件的平均音量?
编辑
您所描述的是 2 个不同的 mapred 任务(除非您只想对起始日期之间的所有图像执行分析)。
您可以尝试执行的操作(这是没有任何代码的高级描述)如下(这是我的想法,因为我没有以这种方式使用过mapreduce):
因为您的 Mapred 作业需要一次比较两个图像文件,所以您需要运行 number-of-files facotorial Map Reduce 作业来获取所有可能的文件比较。这可能需要一段时间!
您需要映射器一次输入两个文件并执行比较映射减少作业。您可以根据需要多次运行此作业来处理源图像文件的所有组合。您可以使用 [oozie][1] 之类的东西来协调这些工作
现在您可能会问 - 如何在 MapReduce 中比较两个图像文件?再说一遍,我还没有这样做,但这可能会为您指明正确的方向 - 研究具有多个文件源的mapreduce作业: Hadoop映射器从2个不同的源输入文件中读取
| 归档时间: |
|
| 查看次数: |
5550 次 |
| 最近记录: |