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/
>

Reply via email to