1

我的项目有一个 ASCII 输入文件,我使用 pig 脚本进行 mapreducing。在此脚本中,我使用子字符串获取指定的字符间隔。我想问一下我是否使用java来获取字符间隔,然后将jar文件嵌入到另一个减少我的数据的猪脚本中,我的程序运行得更快与否?

4

1 回答 1

0

这完全取决于您如何在 map 方法中实现 char 间隔拆分。如果您知道数据,则可以优化子字符串。检查这个线程:

charAt() 还是子字符串?哪个更快?

此外,一般来说,将 jars 添加到 hadoop 集群会增加文件传输和设置内部内容(类加载器、解包等)的一些开销,但在这种情况下,jar 大小应该可以忽略不计。因此,简而言之,添加您的 java 代码来执行映射器不应增加显着的开销,但如果 pig 生成的代码不是最佳的并且您的 java 代码对于您的字符串是最佳的,则可以改善映射器阶段。

于 2012-12-10T10:37:32.840 回答