2014-01-15 103 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