HBaseClient
来源:互联网 发布:手机麻将作弊软件 编辑:程序博客网 时间:2024/05/29 08:29
import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.*;import org.apache.hadoop.hbase.client.*;import org.apache.hadoop.hbase.util.Bytes;import java.io.IOException;import java.util.HashMap;import java.util.List;import java.util.Map;public class HBaseClient { static protected Configuration conf; protected HBaseAdmin admin; protected HTable hTable; protected List<String> columnFamilies; static { conf = HBaseConfiguration.create(); conf.set("hbase.zookeeper.quorum", "gs-server-v-129,gs-server-v-128,gs-server-v-127"); conf.set("hbase.zookeeper.property.clientProt", "2181"); } public void init() throws MasterNotRunningException, ZooKeeperConnectionException { admin = new HBaseAdmin(conf); } public void createTable(String tableName,List<String> columnFamilies) throws IOException { this.columnFamilies = columnFamilies; if(!admin.tableExists(tableName)){ HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName.getBytes()); for(String columnFamily : this.columnFamilies){ hTableDescriptor.addFamily(new HColumnDescriptor(columnFamily)); } admin.createTable(hTableDescriptor); hTable = new HTable(conf,tableName); } } public void connectTable(String tableName) throws IOException { init(); hTable = new HTable(conf,tableName); } public void deleteTable(String tableName) throws IOException { if(admin.tableExists(tableName)){ admin.disableTable(tableName); admin.deleteTable(tableName); } } public void addColumnFamilies(List<String> columnFamilies){ this.columnFamilies.addAll(columnFamilies); } public void addColumnFamily(String columnFamily){ this.columnFamilies.add(columnFamily); } public void insert(String rowKey,String columnFamily,String column,String value ) throws IOException { Put put = new Put(Bytes.toBytes(rowKey)); put.add(Bytes.toBytes(columnFamily),Bytes.toBytes(column),Bytes.toBytes(value)); hTable.put(put); } public Map<byte[],byte[]> getScanner(String family) throws IOException { Map<byte[],byte[]> map = new HashMap<byte[],byte[]>(); for(Result row:hTable.getScanner(family.getBytes())){ for(Map.Entry<byte[],byte[]> entry : row.getFamilyMap(family.getBytes()).entrySet()){ map.put(entry.getKey(),entry.getValue()); } } return map; } public String get(String family,String column) throws IOException { for(Result row:hTable.getScanner(family.getBytes())){ for(Map.Entry<byte[],byte[]> entry : row.getFamilyMap(family.getBytes()).entrySet()){ if(column.equals(new String(entry.getKey()))){ return new String(entry.getValue()); } } } return null; }}
0 0
- HBaseClient
- HBaseclient
- HBaseClient源码分析
- HBaseClient源码分析
- 知识点-HBaseClient(Java)
- Htrace on Hadoop, Hbase and HbaseClient
- HDU-3844-Mining Your Own Business
- ORA-04030: 在尝试分配 8389132 字节 (pga heap,redo read buffer) 时进程内存不足
- flex4 自定义分页组件
- SimpleDateFormat24小时制时间显示
- 如何通过百度百科来宣传企业网站
- HBaseClient
- 5.3.3 审核(audit)规则
- Ubuntu 13.10 安装 ia32-lib
- c笔记——行程长度编码
- 解决粒子特效被NGUI遮挡的问题。
- Ubuntu 创建.txt文本文件
- Android基于Socket无线遥控(2)--模拟触摸按键篇
- plsql developer导入导出表
- Spring--quartz中cronExpression配置说明以及cronExpression表达式解释