I found the error in my code, thanks.

On 10/06/14 12:07, gortiz wrote:
I think we are in different points :).

The problem is when the comparation of the keys when I use Hex.decode

I emit keyValues on this way and works, but it spends double of memory to store keys.

rowKey = Bytes.toBytes(DigestUtils.*shaHex*(pOutput.getRow()));
KeyValue kv =
new KeyValue(Bytes.toBytes(pOutput.getRow()), family, null, ts, type, null);

If I use for rowKey:
    rowKey = DigestUtils.*sha*(pOutput.getRow());
it doesn't work, I don't know why, since it's an byte array. But, I coded some Junit test and it never deletes the keys.




On 09/06/14 13:43, Ted Yu wrote:
Decode rowkey has timestamp.
KeyValue has timestamp field.

Do these two timestamps carry the same value ?

Cheers

On Jun 9, 2014, at 2:02 AM, Guillermo Ortiz <[email protected]> wrote:

Hi,

I'm generating key with SHA1, as it's a hex representation after generating the keys, I use Hex.decode to save memory since I could store them in half
space.

I have a MapReduce process which deletes some of these keys, the problem
it's that it's that when I try to delete them, but I don't get it. If I
don't do the parse to Hex, it works.

So, For example, I put the keys in SHA like
b343664e210e7a7abff3625a005e65e2b0d4616 works, but if I parse this key with
Hex.decode to *\xB3CfN!\x0Ezz\xBF\xF3bZ\x00^e\xE2\xB0\ *column=l:dd,
timestamp=1384317115000 .... it doesn't.

I have been checked the code a lot but I think it's right, plus, if I
comments the decode to Hex it works.

Any clue about it? is there any problem with I am trying to??




--
*Guillermo Ortiz*
/Big Data Developer/

Telf.: +34 917 680 490
Fax: +34 913 833 301
C/ Manuel Tovar, 49-53 - 28034 Madrid - Spain

_http://www.bidoop.es_

Reply via email to