package com.dis.test.hbase;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;
public class HbaseClientTest {
private static Configuration conf = HBaseConfiguration.create();
private static String[] cfs = new String[] { "f1", "f2" };
public static void main(String[] args) throws IOException {
HbaseClientTest test = new HbaseClientTest();
//test.createTable("test2", cfs);
//test.deleteTable("test2");
//test.writeRow("test2", new String[]{"f1", "f2"});
//test.selectRow("test2", "rows1");
//test.scaner("test2");
test.deleteRow("test2", "rows1");
}
public void createTable(String tablename, String[] cfs) throws IOException {
HBaseAdmin admin = new HBaseAdmin(conf);
if (admin.tableExists(tablename)) {
System.out.println("表已经存在");
return;
}
HTableDescriptor desc = new HTableDescriptor(tablename);
for (String f : cfs) {
desc.addFamily(new HColumnDescriptor(f));
}
admin.createTable(desc);
System.out.println("表创建成功");
}
/**
* 删除表操作
* @param tablename
* @throws IOException
*/
public void deleteTable(String tablename) throws IOException {
try {
HBaseAdmin admin = new HBaseAdmin(conf);
admin.disableTable(tablename);
admin.deleteTable(tablename);
System.out.println("表删除成功!");
} catch (MasterNotRunningException e) {
e.printStackTrace();
} catch (ZooKeeperConnectionException e) {
e.printStackTrace();
}
}
/**
* 插入一条数据
* @param tablename
* @param cfs
*/
public void writeRow(String tablename, String[] cfs) {
try {
HTable table = new HTable(conf, tablename);
Put put = new Put(Bytes.toBytes("rows1"));
for (int j = 0; j < cfs.length; j++) {
put.add(Bytes.toBytes(cfs[j]),Bytes.toBytes(String.valueOf(1)),Bytes.toBytes("value_1"));
table.put(put);
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 删除一行数据
* @param tablename
* @param rowkey
* @throws IOException
*/
public void deleteRow(String tablename, String rowkey) throws IOException {
HTable table = new HTable(conf, tablename);
List list = new ArrayList();
Delete d1 = new Delete(rowkey.getBytes());
list.add(d1);
table.delete(list);
System.out.println("删除行成功!");
}
/**
* 查找一行数据
* @param tablename
* @param rowKey
* @throws IOException
*/
public static void selectRow(String tablename, String rowKey)
throws IOException {
HTable table = new HTable(conf, tablename);
Get g = new Get(rowKey.getBytes());
Result rs = table.get(g);
for (KeyValue kv : rs.raw()) {
System.out.print(new String(kv.getRow()) + " ");
System.out.print(new String(kv.getFamily()) + ":");
System.out.print(new String(kv.getQualifier()) + " ");
System.out.print(kv.getTimestamp() + " ");
System.out.println(new String(kv.getValue()));
}
}
/**
* 查询表中所有行
* @param tablename
*/
public void scaner(String tablename) {
try {
HTable table = new HTable(conf, tablename);
Scan s = new Scan();
ResultScanner rs = table.getScanner(s);
for (Result r : rs) {
KeyValue[] kv = r.raw();
for (int i = 0; i < kv.length; i++) {
System.out.print(new String(kv[i].getRow()) + " ");
System.out.print(new String(kv[i].getFamily()) + ":");
System.out.print(new String(kv[i].getQualifier()) + " ");
System.out.print(kv[i].getTimestamp() + " ");
System.out.println(new String(kv[i].getValue()));
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
需要把hbase-site.xml文件复制到classpath下,依赖的jar如下,都可以在hbase的发布包中找到
<classpathentry kind="lib" path="lib/commons-lang-2.5.jar"/>
<classpathentry kind="lib" path="lib/hadoop-core-1.0.3.jar"/>
<classpathentry kind="lib" path="lib/hbase-0.94.2.jar"/>
<classpathentry kind="lib" path="lib/commons-logging-1.1.1.jar"/>
<classpathentry kind="lib" path="lib/log4j-1.2.16.jar"/>
<classpathentry kind="lib" path="lib/slf4j-api-1.5.11.jar"/>
<classpathentry kind="lib" path="lib/slf4j-jdk14-1.5.11.jar"/>
<classpathentry kind="lib" path="lib/commons-configuration-1.9.jar"/>
<classpathentry kind="lib" path="lib/zookeeper-3.4.3.jar"/>
<classpathentry kind="lib" path="lib/protobuf-java-2.4.0a.jar"/>
<!--StartFragment -->
分享到:
相关推荐
该资源为java客户端连接hbase集群,在windows客户端配置hadoop环境所需要用到的工具类,有需自取
hbase客户端下载,可以直接连接插入、查看 hbase客户端下载,可以直接连接插入、查看 hbase客户端下载,可以直接连接插入、查看
1、有多个工具可选择使用
Hbase 可视化客户端工具(非phoenix连接),支持Hbase1.x,配置方便,类似PL/SQL,是一个HBase数据库的客户端数据管理软件。
asynchbase(Asynchronous HBase)是完全异步,非阻塞的,线程安全的,高性能的 HBase 客户端。asynchbase 是 Java 库使用 HBase 的替代品,要求一个完全异步,非阻塞,线程安全,高性能的 HBase API。这个 HBase ...
HBase客户端数据管理软件 概要说明 类似PL/SQL,是一个HBase数据库的客户端数据管理软件。是免费开源的软件。 基于XJava,使用xml配置文件绘制可视化界面。 可视化界面操作 表 表的定义、编辑、删除; 数据 数据的...
HBase客户端说明启用方法在命令行中输入:hbase ip=xxx.xxx.xxx.xxx -window主界面数据库管理创建表删除表编辑(添加或删除)列族数
HBase原理及实例
hbase客户端相关操作封装成服务,采用http接口调用。内部采用命令模式 获取Hbase数据 API文档 访问方式http 入口: ? 参数名称 参数类型 是否必填 默认值 取值说明 serviceType String 否 1 取值:1或2,表示不同的...
hbase客户端查询工具dbeaver,dbeaver也可以同时查询多种数据库
HBase MapReduce完整实例.rar
简单的hbase客户端 简单的 HBase 客户端
Golang HBase客户端 这是的纯客户端。 当前状态:测试版。支持的版本HBase的> = 1.0安装go get github.com/tsuna/gohbase用法示例创建一个客户client := gohbase . NewClient ( "localhost" )插入一个单元格// ...
Eclipse工程 HBase MapReduce完整实例 可远程执行 包含HBase增删改查 执行Test可看到效果
nosql-实验三HBase管理工具和客户端
Hbase1.x可视化客户端工具,内有使用说明,亲测可用。
hbase可视化客户端 类似PL/SQL,是一个HBase数据库的客户端数据管理软件。 1: put支持中文 2: 支持文件形式的批量put命令执行 3: 支持扫描目录下所有文件的批量put命令执行 4: 支持put命令字符的执行 5: 支持文件...
HBASE的java版本的客户端,运行代码需要设定环境变量且打包成jar文件运行
适用于Java的Aliyun Tablestore HBase客户端 是阿里云主打的NoSQL大数据分布式数据库,目前已经扩展服务于众多阿里巴巴集团内部和外部应用,包括邮箱,钉钉,菜鸟,搜索,交易,推荐等。 表格存储的设计目标就是处理...
本文档举例测试了HBASE各种备份与恢复测试用例,包括表拷贝,快照,复制等