首页 > Hadoop可以没有输入吗,直接加载本地文件作为输入可以吗?

Hadoop可以没有输入吗,直接加载本地文件作为输入可以吗?

背景:我本来的程序是在单机下用C++开发的,现在需要部署到Hadoop上运行,因此我选择了Hadoop Streaming技术。程序的输入是很多非常大的二进制流文件(数据包,pcap格式),程序就是对该数据流进行解析输出解析结果。

问题:默认Hadoop的输入文件是TextInputFormat格式,而我这里要处理二进制格式文件,Hadoop也可以处理二进制格式,例如SequenceFileInputFormat,但是key是什么?value是什么?由于我的二进制文件完全没有固定的某个格式,因此我有一个想法就是:Hadoop Streaming无输入,而是将流文件作为词典的形式加载进去(-files选项),然后直接在mapper中打开每个流文件fopen("流文件")进行处理,这样我在单机下的程序完全不用动,但是我的问题是:各个slave节点还有用吗?master节点会把这样的任务均匀分配给各个slave节点(也就是fopen的流文件会分配到各个slave节点上处理吗),貌似这样不符合Hadoop的处理方式了。

【热门文章】
【热门文章】