我正在使用自定义输出格式,每个键的每个映射器输出一个新的序列文件,所以你最终会得到这样的东西..
输入
Key1 Value
Key2 Value
Key1 Value
文件
/path/to/output/Key1/part-00000
/path/to/output/Key2/part-00000
我注意到一个巨大的性能损失,通常需要大约 10 分钟来简单地映射输入数据,但是在两个小时之后,映射器甚至还没有完成一半。尽管他们正在输出行。我预计唯一键的数量大约是输入行数的一半,大约 200,000。
有没有人做过这样的事情,或者可以提出任何可能有助于表现的事情?我想将这个密钥拆分过程保留在可能的 hadoop 中。
谢谢!