2014-01-15 59 views
0

我试图从文本文件中加入来自hbase的数据,但失败。Hadoop Pig加入来自Hbase的数据

这是我使用的数据。

  1. C:(XXX1,06820,7) (XXX2,07442,9)
  2. G1:(XXX1,53) (XXX2,54)
  3. G2:(XXX1,53) (XXX1,53)

G1从文本文件加载,G2从HBase加载。

  • G1:{SN:字节组,国家:chararray}
  • G2:{SN:字节组,国家:chararray}
  • J1 =由SN
  • J2加入由SN C,G1 =加入C通过sn,G2通过sn。

当转储J1我可以得到结果,但对于J2我什么都没有,这里是日志。

Successfully read records from: "/opt/inputdata/ips1" 
Successfully read records from: "hbase://geoinfo1" 

Output(s): 
Successfully stored records in: "file:/tmp/temp410352744/tmp-403556508" -- EMPTY FILE 

Successfully read 616 records (11473 bytes) from: "/opt/inputdata/ips1" 
Successfully read 1354204 records from: "hbase://geoinfo" 

Output(s): 
Successfully stored 0 records in: "hdfs://master:9000/user/hadoop/jjj" --- EMPTY FILE 

我的解决方案有什么问题吗?如果我想从hbase加载数据并加入文本文件中的数据,我应该怎么做?

在此先感谢。

回答

0

我假设你已经加载数据到HBase的,然后使用下面的猪脚本上咕噜shell提示符

猪脚本存储与HBaseStorage:

G1 = LOAD“的HBase:// geoinfo1'USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('column_family_name:*','-loadKey true -gt 10000')AS(sn:chararray,country:chararray);

+0

我得到了原因。我错过了类型信息。将AS(sn,country:chararray)更改为AS(sn:chararray,country:chararray)后;它工作,谢谢。 – Allen