如何阅读hadoop中的视频帧?
要在Hadoop中处理专门的文件格式(例如视频),您必须编写一个自定义的InputFormat和RecordReader,它理解如何将视频文件转换为分割(InputFormat),然后读取分割为值(RecordReader).这是一项非常重要的任务,需要一些关于Hadoop如何处理数据拆分的中间知识.我强烈推荐O'Reilly的Tom White的Hadoop the Definitive Guide一书以及http://www.cloudera.com上的视频.(完全披露:我为Cloudera工作.)
请记住,视频格式通常是压缩的,这会变得更加复杂,因为InputSplits(由InputFormat创建)是文件中的简单字节偏移(通常).从http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/mapred/InputFormat.html开始
总结一下:InputFormat知道如何生成(通常)介于64MB和128MB之间的InputSplit对象列表,并且不遵守帧的概念.然后,RecordReader用于从InputSplit中读取帧以创建map reduce作业可以处理的值对象.如果要生成视频输出,还需要编写自定义的OutputFormat.
希望这可以帮助.