我正在使用hadoop使用开源接口HVPI处理视频。但是,input {1]的实现更精确地在isSplitableobContext (context, Path file)
方法中返回false
。默认情况下,此方法返回true
,但在当前实现中,有理由返回false
。如果此方法返回false
,我将只有一个地图任务。如果我没有错,hadoop为每个输入分配一个容器,该容器对应于执行映射任务的网络的某个节点的计算资源,并且该节点应该优选地包含将要处理的数据。如果我有一个false
我将只有一个输入拆分,因此只有一个map任务,这个map任务只能在一个集群节点上运行。
最大的问题是,一个唯一的map任务如何利用集群的所有cpu资源而不仅仅是单个节点上的单个容器?</ p>
答案 0 :(得分:0)
请通过:
http://bytepadding.com/big-data/map-reduce/understanding-map-reduce-the-missing-guide/
Lets try to understand what is the problem .
1. One takes a file and divides it into fileSplits.
2. Each split is consumed by one mapper.
3. How do you make sure a record in the file is not split across two file splits.
4. A record cant be ignored nor read partially.
5. A InputFormat takes care of carefully splitting the file and handling situations when a record is split at the boundary of file splits.
6. Hadoop has varios inpuit formats like TextInputFormat, KeyValueTextInputFormat
尝试找到可用于视频文件的输入格式或自行编写。 FileInputFormat是所有人的基类。