2013-09-24 2 views
3

Есть ли способ увеличить значение столбца в таблице hbase с помощью свиньи?
Я пытаюсь написать в свинью-то, что будет увеличивать значение столбца в таблице Hbase, что эквивалентно этой команде HBase оболочки:команда увеличения значения столбца в hbase через свиньи

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

ли возможно сделать это с свиньей?

ответ

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'); 
Смежные вопросы