如果我使用hbase shell
and 问题:
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
我会将结果视为字符串,而不是字节。
我在 hive 中有数据,我通过以下方式运行聚合并存储在 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
但是,如果我在 Pig 中发出以下命令:
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 作为字符串而不是字节?