Calling bitArray.toString() does not return your data. You can test this in a standalong program. You need to write the array out bitwise or byte wise. toString() does not do what you want.
Edward 2009/12/28 Gang Luo <lgpub...@yahoo.com.cn>: > Hi all, > I don't know too much about text coding and there is one thing confusing me. > I am implementing the bloom filter in mapreduce. The output is a bit array > (implemented as byte[ ]) and the length is 2 exp 24 (that means, 2exp21 > bytes). The size of the array should be 2 mb. But when I output it like this: > output.collect(new Text(bitArray.toString()), null); the output file is only > 10 bytes. The content of the output file is something like this: > [...@1c695a6. What does Text do when I generate a new Text object using the > bitArray (which is byte[ ])? > > The amazing thing is, when I use Text.getBytes() to convert it back to byte[ > ], it is exactly the same as before! How does it get the 2 mb information by > the 10 bytes Text object (the value of which is [...@1c695a6)? > > Thanks. > > -Gang > > > ___________________________________________________________ > 好玩贺卡等你发,邮箱贺卡全新上线! > http://card.mail.cn.yahoo.com/ >