看起来Hadoop MapReduce需要文本或二进制文本中的键值对结构。 实际上,我们可能会将文件拆分为要处理的块。但关键可能是 遍布文件。一个键后跟一个值可能不是很明确。是否有任何InputFileFormatter可以读取这种类型的二进制文件?我不想使用Map Reduce和Map Reduce。这将降低性能并且无法使用map reduce。 有什么建议?谢谢,
答案 0 :(得分:1)
根据Hadoop : The Definitive Guide
FileInputFormats定义的逻辑记录通常不适合HDFS 块。例如,TextInputFormat的逻辑记录是将要交叉的行 HDFS边界往往不是。这与你的运作无关 例如,程序行不会被遗漏或破坏 - 但值得了解, 因为它确实意味着数据本地映射(即,在同一主机上运行的映射) 因为他们的输入数据)将执行一些远程读取。这导致的轻微开销是 通常不重要。
如果文件在边界之间被HDFS拆分,那么Hadoop框架将负责处理它。但如果手动拆分文件,则必须考虑边界。
实际上,我们可能会将文件拆分为要处理的块。但密钥可能分布在整个文件中。一个键后面跟一个值可能不是很明确。
情况是什么,我们可以为此找一个解决方法?