hadoop - PIG - HBASE - 类型转换值

标签 hadoop casting hbase apache-pig

我正在使用 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/

相关文章:

java - 更改mapreduce的默认定界符

c++ - 基类指针赋值给派生类的底层机制是什么

c# - 如何在C#中将Linq Select Enumerable转换为首选类型?

python - 可以将 numpy 数组添加到 python 集中吗?

mysql - 使用flume将数据从mySQL复制到Hbase : how?

hadoop - 在应用程序执行时更改dfs.block.size

hadoop - 在使用 ./spark-ec2 部署的集群上更改 JDK

hadoop - pig + hbase + hadoop2 集成

Hadoop Pig Max - 输出不正确

hadoop - 全分布式配置hadoop/hbase