我是HBase的新手,从表中逐行检索结果的最佳方法是什么?我想阅读表格中的全部数据。我的表有两个列族,比如col1和col2。
答案 0 :(得分:0)
从Hbase shell,您可以使用扫描命令列出表格中的数据,或获取以检索记录。参考here
答案 1 :(得分:0)
我认为这就是你需要的:通过HBase shell和Java API:http://cook.coredump.me/post/19672191046/hbase-client-example
但是你应该理解hbase shell'scan'非常慢(它没有被缓存)。但它仅用于调试目的。
另一个有用的信息部分在这里:http://hbase.apache.org/book/perf.reading.html 本章适用于从HBase阅读,但有点难以理解,因为它假定了一定程度的熟悉程度并包含更高级的建议。我从一开始就向你推荐本指南。
答案 2 :(得分:0)
使用Hbase的扫描api,您可以指定起始行和结束行,并可以从表中检索数据。
以下是一个例子:
http://eternaltechnology.blogspot.in/2013/05/hbase-scanner-example-scanning.html
答案 3 :(得分:0)
我一直在找这样的东西!
地图功能
public void map(ImmutableBytesWritable row, Result value, Context context) throws InterruptedException, IOException {
String x1 = new String(value.getValue(Bytes.toBytes("ColumnFamily"), Bytes.toBytes("X1")));
String x2 = new String(value.getValue(Bytes.toBytes("ColumnFamily"), Bytes.toBytes("X2")));
}
驱动程序文件:
Configuration config2 = new Configuration();
Job job2 = new Job(config1, "kmeans2");
//Configuration for job2
job2.setJarByClass(Converge.class);
job2.setMapperClass(Converge.Map.class);
job2.setReducerClass(Converge.Reduce.class);
job2.setInputFormatClass(TableInputFormat.class);
job2.setOutputFormatClass(NullOutputFormat.class);
job2.setOutputKeyClass(Text.class);
job2.setOutputValueClass(Text.class);
job2.getConfiguration().set(TableInputFormat.INPUT_TABLE, "tablename");