如果我使用hbase shell
和問題:如何讓Pig將行存儲在HBase中的字符串不是字節?
put 'test', 'rowkey1','cf:foo', 'bar'
scan 'test'
我會看到的結果作爲一個字符串,而不是字節。
如果我使用happybase
和問題:
import happybase
connection = happybase.Connection('<hostname>')
table = connection.table('test')
table.put('rowkey2', {'cf:foo': 'bar'})
for row in table.scan():
print row
我會看到的結果作爲一個字符串,而不是字節。
我有蜂巢,我跑了一個聚合數據,並通過存儲在HDFS:
INSERT OVERWRITE DIRECTORY 'aggregation_test'
SELECT device_id, device_name, sum(device_cost)
FROM devices
GROUP BY device_id, device_name
ORDER BY device_id, device_name
但是,如果我發出豬如下:
A = LOAD 'aggregation_test' USING PigStorage(',') as (device_id:chararray, device_name:chararray, device_sum:int);
STORE A INTO 'hbase://aggregation_test'
USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(
'cf:device_name, cf:device_sum');
掃描在hbase shell
和happybase
結果以字節爲單位,而不是字符串。
我甚至不能搜索一個字符串的行鍵。
如何使用Pig和HBaseStorage將數據從HDFS存儲到HBase中,因爲字符串不是字節?