hbase的pig加载值作为变量

3zwtqj6y  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(359)

在pig中,我们可以定义变量并在多个地方使用它。

%declare variable_name 'value'

在我的示例中,我有hbase表。我只有一行一列。该单元格的值是动态表的名称。所以我想读取该值,并且需要在其他查询中使用该值。我已经写信了。

table_name = LOAD 'hbase://sample'
                USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('table_name:passive','-limit 1')
                AS (table_name:chararray);

如何将这个table\u name值用作char\u数组变量值,并在多个plca中使用它?

6pp0gazn

6pp0gazn1#

在pig脚本中,左边不能有标量变量。左侧别名只能是元组的迭代器。为了获取参数,我编写了一个shell脚本,从hbase表中获取参数,并作为参数传递给shell脚本。在shell脚本中,使用管道来提取值。

argument=$(echo "hbase query to get value" | hbase shell | grep value | grep -o "value=.*" | cut -f2- -d'=')

然后将其作为参数传递给pig脚本。

pig  -param argument1=$argument -f sample.pig

相关问题