Hbase Java客户端示例

时间:2023-01-25 08:30:41

1.Hbase获取连接:

public class HbaseConnection {

private static Configuration config;
private static HConnection hconn;

private static final Logger LOGGER = LoggerFactory
.getLogger(HbaseConnection.class);

public static synchronized Configuration getConfiguration() {
if (config == null) {
try {
config = HBaseConfiguration.create();
config.set("hbase.zookeeper.property.clientPort",
Constants.HBASE_PORT);
config.set("hbase.zookeeper.quorum", Constants.HBASE_IPADDRESS);
// config.set("hbase.master", Constants.HBASE_MASTER);
config.set("hbase.client.retries.number", "1");
} catch (Exception e) {
e.printStackTrace();
LOGGER.error("init HBaseConfiguration error ... "
+ e.getMessage());
}
}
return config;
}

public static synchronized HConnection getHConnection() {
if (hconn == null) {
try {
hconn = HConnectionManager.createConnection(getConfiguration());
} catch (IOException e) {
e.printStackTrace();
LOGGER.error("init HConnection error ... " + e.getMessage());
}
}
return hconn;
}

}


2.示例:

        HTableInterface table = null;
try {
table = HbaseConnection.getHConnection().getTable(Constants.TABLE_CONVERSATION);
table.setWriteBufferSize(Constants.HBASE_AUTO_COMMIT);//设置缓冲区,达到大小后提交
table.setAutoFlush(false, false);//关闭自动提交
} catch (IOException e) {
Utils.printStackTrace(e);
}
...

Put put = new Put(Bytes.toBytes(rowkey));
put.add(family, Bytes.toBytes(key),Bytes.toBytes(value));
...

try {
table.put(put);
} catch (IOException e) {
Utils.printStackTrace(e);
}

		try {
table.flushCommits();
} catch (IOException e) {
Utils.printStackTrace(e);
} finally {
try {
table.close();
} catch (IOException e) {
Utils.printStackTrace(e);
}
}