有没有办法用pig在hbase表中增加列值?我正在尝试在pig中编写一些东西,它将使hbase表中的一列的值递增,该列的值等效于这个hbase shell命令:
hbase> incr ‘t1′, ‘r1′, ‘c1′
有可能用Pig做这个吗?
knpiaxh11#
您可以为此创建宏:
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 3store B into 'hbase://t1' using org.apache.pig.backend.hadoop.hbase.HBaseStorage( 'f1:c1', '-caster=HBaseBinaryConverter -loadKey=true');
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');
1条答案
按热度按时间knpiaxh11#
您可以为此创建宏: