我正在使用 PIG 处理 HBase 表中的行。 HBase 表中的值存储为字节数组。
我不知道我是否必须编写一个将字节数组转换为各种类型的 UDF,或者 pig 是否会自动执行此操作。
我有以下脚本:
raw = LOAD 'hbase://TABLE' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('CF:I') AS (product_id:bytearray);
ids = FOREACH raw GENERATE (int)product_id;
dump ids;
我得到一个括号 '()'
的列表。
根据docs ,它应该工作。我检查了 hbase shell 中的值它们都是 value=\x00\x00\x00\x02
我怎样才能让它工作?
最佳答案
需要添加以下选项才能转换...
LOAD 'hbase://TABLE' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('CF:I','-caster HBaseBinaryConverter') AS (product_id:bytearray);
多亏了这个post .
关于hadoop - PIG - HBASE - 类型转换值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18728013/