以遍历的形式读取HBase数据库,
package com.bdms.hbase.app;import java.io.IOException;
@Service("hbaseAppService")
public class HbaseAppServiceImpl implements HbaseAppService {
//@Autowired
//private HbaseAppService hbaseappservice;
//@Autowired
//private Hbaseconfig hc ;
private ConfigEntry entry = Hbaseconfig.getConfigEntry();
public List<Map<String,String>> getAlldata(HTable hTable,Map<String, List<String>> columns,int num) throws IOException {
List<Map<String,String>> res = new ArrayList<Map<String,String>>();
Map<String,String> row = null;
Scan scan=new Scan();
Set<String> keySet = columns.keySet();
scan.setCaching(1000);
for(String fn : keySet){
for(String cf : columns.get(fn)){
scan.addColumn(fn.getBytes(), cf.getBytes());
}
}
final ResultScanner scanner=hTable.getScanner(scan);
int i=0;
for(Result result1 : scanner){
if(num > 0 )
{
if(i==num) break;
i++;
}
row = new HashMap<String, String>();
for(String fn : keySet){
for(String cf : columns.get(fn)){
row.put(cf,new String(result1.getValue(fn.getBytes(), cf.getBytes())) );
}
}
res.add(row);
}
return res;
}
}
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。