1

我的应用程序需要处理几个 TB 的表格数据。目前,数据保存为几个巨大的逗号分隔的 csv 文件。我可以控制如何将文件提供给我的 M/R 作业,我想知道使作业运行得更快的首选文件格式是什么?例如,将输入数据保存为序列文件而不是我现在使用的文本文件有什么意义吗?这会让我的 M/R 工作明显更快地运行吗?

4

1 回答 1

1

从“文件格式”的角度来看,我认为使用 SequeceFile 不会对 csv 数据的文本文件有很大的改进。如果它是 CSV 数据中的单个 (Key,Value) 对,则在文本文件上使用 SequenceFile 将是有意义的。

然而,我对使用 RCFile ( Record Columnar File ) 很感兴趣,它应该很适合类似 CSV 的数据。我已经将它与 hive 表一起使用,并在 hive 查询的执行时间上取得了一些显着的改进。我假设这是由于 M/R 中的执行效率,因为 hive 查询被转换为 M/R 程序。

参考:http ://www.ixwebhosting.mobi/2011/10/06/4823.html

于 2012-07-03T05:47:51.827 回答