HBase提供了Java API对其进行管理,包括对表的管理、数据的操作等。 HBaseAdmin —— 对表的创建、删除、显示以及修改等。 HTable —— 通过HTable的实例来访问表并进行数据的操作。
package test; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; 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.TableName; import org.apache.hadoop.hbase.ZooKeeperConnectionException; import org.apache.hadoop.hbase.client.Delete; 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.filter.CompareFilter.CompareOp; import org.apache.hadoop.hbase.filter.Filter; import org.apache.hadoop.hbase.filter.FilterList; import org.apache.hadoop.hbase.filter.SingleColumnValueFilter; import org.apache.hadoop.hbase.util.Bytes; public class OperateTable { public static Configuration conf; static{ conf = HBaseConfiguration.create(); conf.set("hbase.zookeeper.quorum","master"); conf.set("hbase.zookeeper.property.clientPort","2181"); } public static void main(String[] args) throws Exception { // createTable("hanyiting"); // insertData("hanyiting"); // queryAll("hanyiting"); // queryByCondition("hanyiting"); // listAllTables(); listTableFamily("test"); } public static void createTable(String tableName){ System.out.println("start create table ......"); try { HBaseAdmin admin = new HBaseAdmin(conf); if(admin.tableExists(tableName)){ admin.disableTable(tableName); admin.deleteTable(tableName); System.out.println(tableName + " is exist,delete ......"); } HTableDescriptor desc = new HTableDescriptor(tableName); desc.addFamily(new HColumnDescriptor("column1")); desc.addFamily(new HColumnDescriptor("column2")); desc.addFamily(new HColumnDescriptor("column3")); admin.createTable(desc); admin.close(); } catch (Exception e) { e.printStackTrace(); } System.out.println("end create table ......"); } public static void insertData(String tableName){ System.out.println("start insert data ......"); HTable table; try { table = new HTable(conf,tableName); Put put = new Put("112233bbcc".getBytes()); put.add("column1".getBytes(),null,"aaa".getBytes()); put.add("column2".getBytes(),null,"bbb".getBytes()); put.add("column3".getBytes(),null,"ccc".getBytes()); table.put(put); } catch (Exception e) { e.printStackTrace(); } } public static void dropTable(String tableName){ HBaseAdmin admin; try { admin = new HBaseAdmin(conf); admin.disableTable(tableName); admin.deleteTable(tableName); } catch (MasterNotRunningException e) { e.printStackTrace(); } catch (ZooKeeperConnectionException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void deleteRow(String tableName,String rowkey){ try{ 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("删除行成功!"); }catch(Exception e){ e.printStackTrace(); } } public static void queryAll(String tableName){ try { HTable table = new HTable(conf, tableName); ResultScanner rs = table.getScanner(new Scan()); for(Result r : rs){ System.out.println("获得到rowkey:"+new String(r.getRow())); for(KeyValue keyvalue : r.raw()){ System.out.println("列族:"+new String(keyvalue.getFamily())+"列:"+new String(keyvalue.getKey() + "====值:"+new String(keyvalue.getValue()))); } } } catch (IOException e) { e.printStackTrace(); } } public static void queryByCondition(String tableName){ try{ HTable table = new HTable(conf, tableName); List<Filter> filters = new ArrayList<Filter>(); Filter filter = new SingleColumnValueFilter(Bytes.toBytes("column1"), null, CompareOp.EQUAL, Bytes.toBytes("aaa")); filters.add(filter); FilterList filterList = new FilterList(filters); Scan scan = new Scan(); scan.setFilter(filterList); ResultScanner rs = table.getScanner(scan); for(Result r : rs){ System.out.println("获得到rowkey:"+new String(r.getRow())); for(KeyValue keyvalue : r.raw()){ System.out.println("列族:"+new String(keyvalue.getFamily())+"列:"+new String(keyvalue.getKey() + "====值:"+new String(keyvalue.getValue()))); } } rs.close(); }catch(Exception e){ e.printStackTrace(); } } public static void listAllTables(){ HBaseAdmin admin; try { admin = new HBaseAdmin(conf); TableName[] listTableNames = admin.listTableNames(); //表名 System.out.println(listTableNames.toString()); HTableDescriptor[] listTables = admin.listTables(); //整个表的结构 System.out.println(listTables.toString()); } catch (MasterNotRunningException e) { e.printStackTrace(); } catch (ZooKeeperConnectionException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void listTableFamily(String tableName){ try { HTable table = new HTable(conf, tableName); HTableDescriptor tableDescriptor = table.getTableDescriptor(); Collection<HColumnDescriptor> families = tableDescriptor.getFamilies(); for(HColumnDescriptor cdesc : families){ System.out.println(cdesc.getNameAsString()); } System.out.println(tableDescriptor); } catch (IOException e) { e.printStackTrace(); } } }
相关推荐
Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
java操作Hbase之从Hbase中读取数据写入hdfs中源码,附带全部所需jar包,欢迎下载学习。
java操作Hbase之实现表的创建删除,源代码,面向不使用maven的初学者,因此附带全部所需jar包。
java操作Hbase之比较过滤器RowFilter的使用源码,附带所需全部jar包,欢迎下载学习。
java操作Hbase之Hbase专用过滤器PageFilter的使用源代码,附带全部所需源代码,欢迎下载学习。
HBase基本操作 增删改查 java代码 要使用须导入对应的jar包
Java 操作HBase的封装,使用注解的方式将实体类与HBase完成ORM映射,注解有HBaseTable HBaseColumn Rowkey
java操作hbase,增删查改 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangjingao/article/details/104390560 例子功能说明 不说废话,直接开始,撸代码。hbase的介绍查看其他博...
在集群中创建java项目调用api来操作hbase,主要涉及对hbase的创建表格,删除表格,插入数据,删除数据,查询一条数据,查询所有数据等操作。 具体流程如下: 1.创建项目 2.获取jar包到项目的lib目录下(这边试用的事...
本代码是java链接hbase数据库并对hbase进行增删改查操作的实例代码,包括批量操作
java代码使用thrift2操作hbase示例,thrift2连接hbase添加数据,单条查找,删除数据,根据扫描器查找,修改数据等测试实例
本代码是java链接并操作hbase的实例代码,原本供同事参考所用,引用的jar包并没有经过详细分析,可能有冗余。
Hbase笔记 —— 利用JavaAPI的方式操作Hbase数据库(往hbase的表中批量插入数据)
spring 集成 Hbase所需jar包
Hbase JAVA编程开发实验报告以及代码,1 按照“Hbase应用开发实验1.pdf”中给出的说明,完成相关相关实验及JAVA程序的编写、调试和运行,提交JAVA源程序(AccessObject.java, HBaseTester.java, User.java)及运行...
主要介绍了使用Java对Hbase进行操作总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
java调用hbase数据库,完成对hbase常用api的封装和对hbase数据库的增删改查等操作,经测试绝对可用。
掌握Hbase shell操作。 1.2实验要求: 用Hbase shell操作创建一个student表,其结构如下表所示 Row Key address score province city street Java Hadoop Math zhangsan guangdong guangzhou yinglonglu 85 80 90 ...
java 利用 sping-data-hadoop HbaseTemplate 操作hbase find get execute 等方法 可以直接运行
本文档举例测试了HBASE各种备份与恢复测试用例,包括表拷贝,快照,复制等