通过猪在hbase中增加列值命令

时间:2013-09-24 13:15:46

标签: hbase increment apache-pig

有没有办法可以用猪增加hbase表中的列值?
我试图在pig中编写一些会增加hbase表中列的值的内容,该值等同于此hbase shell命令:

hbase> incr ‘t1′, ‘r1′, ‘c1′

猪可以这样做吗?

1 个答案:

答案 0 :(得分:1)

您可以为此目的创建一个宏:

DEFINE incr(A, fld, num) RETURNS B {
    $B = foreach A generate k, ($fld + (long)$num) as (v:long);
}

A = load 'hbase://t1' using org.apache.pig.backend.hadoop.hbase.HBaseStorage(
 'f1:c1', '-caster=HBaseBinaryConverter -loadKey=true') as (k:chararray, v:long);

B = incr(A,v,3); --increment f1:c1 by 3

store B into 'hbase://t1' using org.apache.pig.backend.hadoop.hbase.HBaseStorage(
 'f1:c1', '-caster=HBaseBinaryConverter -loadKey=true');