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

标签 hbase increment apache-pig

有没有一种方法可以使用 pig 增加 hbase 表中的列值?
我正在尝试用 pig 写一些东西,它会增加 hbase 表中一列的值,这相当于这个 hbase shell 命令:

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

可以用 pig 来做吗?

最佳答案

您可以为此创建一个宏:

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

关于hbase - 通过 pig 在 hbase 中增加列值命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18982712/

相关文章:

java - Java 中的优先级

java - 在 pig 袋字符串中获取元组的最有效方法是什么?

apache-pig - 如何在 Apache Pig 中使用 PigStorage 存储压缩文件?

hadoop - 为HBase 0.90.6建议使用哪个Hadoop版本?

hadoop - Hbase - 如何获取表中的列名?

hadoop - HBase 表作为 MapReduce 输入?

PHP Mysql 在插入期间增加一列

java - 错误:无法从REMOTE HBASE数据库获取表列表?

mysql - 为sql中的每个唯一值插入增量

hadoop - 将Pig “GROUP BY”的结果存储到HDFS中