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

Posted

技术标签:

【中文标题】通过pig在hbase中增加列值命令【英文标题】:increment column value command in hbase via pig 【发布时间】:2013-09-24 13:15:45 【问题描述】:

有没有一种方法可以用 pig 增加 hbase 表中的列值? 我正在尝试在 pig 中编写一些会增加 hbase 表中列的值的内容,该值相当于此 hbase shell 命令:

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');

【讨论】:

以上是关于通过pig在hbase中增加列值命令的主要内容,如果未能解决你的问题,请参考以下文章

使用 pig 将二进制文件存储到 hbase

在 postgresql 中增加列值

如何增加 HBase 表中的区域数

如何使用 Pig 和 HBaseStorage 存储到 HBase

使用 Pig 将 csv 导入 HBase

表上每 N 条记录增加列值