`

HBase-各种API操作

 
阅读更多
初始化
		Configuration HBASE_CONFIG = new Configuration();
		HBASE_CONFIG.set("hbase.zookeeper.quorum", "IP");
		HBASE_CONFIG.set("hbase.zookeeper.property.clientPort", "端口");
		cfg = new HBaseConfiguration(HBASE_CONFIG);
		cfg.set("hbase.master", "master ip:60000");




创建表
	public void createTable(String tablename) throws IOException {
		HBaseAdmin admin = new HBaseAdmin(cfg);
		if (admin.tableExists(tablename)) {
			System.out.println("Exists!!!");
		} else {
			HTableDescriptor tableDesc = new HTableDescriptor(tablename);
			tableDesc.addFamily(new HColumnDescriptor("name"));
			admin.createTable(tableDesc);
			System.out.println("create table ok .");
		}
	}



查询表的所有数据
	public void getAll(String tablename) throws IOException {
		HTable table = new HTable(cfg, 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()) + "\t");
				System.out.print("column=" + new String(kv[i].getFamily())+ ":");
				System.out.print(new String(kv[i].getQualifier()) + ", ");
				System.out.print("timestamp=" + kv[i].getTimestamp() + ", ");
				System.out.println("value=" + new String(kv[i].getValue()));
			}
		}
	}



查询一条数据
	public void get(String tablename, String rowKey) throws IOException {
		HTable table = new HTable(cfg, 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("column=" + new String(kv.getFamily()) + ":");
			System.out.print(new String(kv.getQualifier()) + ", ");
			System.out.print("timestamp=" + kv.getTimestamp() + ", ");
			System.out.println("value=" + new String(kv.getValue()));
		}
	}



更新数据
	public void update(String tablename,String rowKey,String value) throws IOException {
		HTable table = new HTable(cfg, tablename);
		Put put = new Put(Bytes.toBytes(rowKey));
		put.add(Bytes.toBytes("name"), Bytes.toBytes("column"),Bytes.toBytes(value));
		table.put(put);
	}



删除一条数据(也可以删除多条)
	public void delete(String tablename, String rowKey) throws IOException {
		HTable table = new HTable(cfg, tablename);
		List<Delete> list = new ArrayList<Delete>();
		Delete d1 = new Delete(rowKey.getBytes());
		list.add(d1);
		table.delete(list);
	}




查询多条
	public void multiGet(String tablename,String[] keys) throws IOException {
		HTable table = new HTable(cfg, tablename);
		List<Get> list = new ArrayList<Get>();
		for(String k:keys) {
			Get g = new Get(k.getBytes());
			list.add(g);
		}
		Result[] rs = table.get(list);
        }



删除表
	public void removeTable(String tablename) throws IOException {
		HBaseAdmin admin = new HBaseAdmin(cfg);
		admin.disableTable(tablename);
		admin.deleteTable(tablename);
	}



增加过滤器
	public void filter(String tablename, String key,int count) throws IOException {
		HTable table = new HTable(cfg, tablename);
		Scan s = new Scan();
		List<Filter> list = new ArrayList<Filter>();
		list.add(new PrefixFilter(key.getBytes()));
		list.add(new PageFilter(count));
		FilterList filter = new FilterList(list);
		s.setFilter(filter);
		ResultScanner rs = table.getScanner(s);
         }

分享到:
评论

相关推荐

    phoenix-hbase-2.4-5.1.2

    Phoenix作为HBase的SQL层,使得开发者无需学习复杂的HBase API,就能利用SQL语句进行数据操作。Phoenix将SQL语句转化为HBase的操作,支持索引、视图、触发器等特性。在5.1.2版本中,Phoenix优化了查询性能,提升了...

    phoenix-hbase-2.2-5.1.2-bin.tar.gz

    Phoenix是建立在HBase之上的SQL查询引擎,它为HBase提供了高性能的JDBC驱动,使得开发人员可以通过SQL接口来操作HBase,而无需掌握复杂的HBase API。Phoenix通过解析SQL语句,将其转换为HBase的扫描和过滤操作,从而...

    hbase-2.4.11-src.tar.gz

    `hbase-client`包含了与HBase交互的API,`hbase-server`则包含了服务器端组件,如RegionServer和Master,而`hbase-common`则包含通用的类和接口。 2. **设计理念**: HBase采用行式存储,将数据按行键(RowKey)...

    hbase的hbase-1.2.0-cdh5.14.2.tar.gz资源包

    5. **客户端连接**:HBase提供了命令行接口(HBase Shell)和Java API,可以用来交互式操作HBase或在应用程序中集成。 ### HBase的数据模型和操作 1. **创建表**:使用`create`命令创建表,指定列族。 2. **插入...

    hbase-1.1.2-bin.tar.gz

    在使用HBase时,你可以通过命令行接口(HBase Shell)进行交互式操作,或者使用Java API编写应用程序。HBase支持多种数据访问模式,包括随机读写、范围扫描和反向索引,这使得它非常适合实时大数据分析和处理场景。 ...

    hbase-2.0.5-bin.tar.gz

    9. **API和Shell**:HBase提供Java API以及命令行工具(HBase Shell),方便用户进行数据操作和管理。 10. **扩展性**:HBase可以轻松地添加更多的服务器来扩展存储和处理能力,以应对不断增长的数据需求。 在解压...

    hbase-client_lib.rar

    客户端库是连接到HBase集群并执行各种操作(如创建表、插入数据、查询数据等)的接口,因此,确保这些依赖库的完整性是成功操作HBase的前提。 描述中提到,这是针对HBase-1.3.1版本的客户端依赖包,意味着这些jar包...

    hbase-1.2.6-bin.tar.gz

    5. 使用命令行工具或者客户端API与HBase交互。 **使用场景**: HBase通常用于实时数据分析,如Web日志分析、用户行为追踪、物联网(IoT)数据存储、搜索引擎索引等场景,尤其适合那些对读写性能要求高、数据量庞大的...

    hbase-2.0.2-bin.tar

    12. **Table和Region管理**: 用户可以通过HBase shell或Java API创建、修改和删除表,调整Region大小,监控Region分布等。 要使用这个"**hbase-2.0.2-bin.tar**"文件,你需要首先解压,然后配置HBase的环境变量,...

    hbase-1.4.10-bin.tar.gz

    在这个场景中,我们关注的是"Hbase-1.4.10-bin.tar.gz",这是HBase 1.4.10版本的二进制发行包,适用于Linux操作系统。 首先,安装HBase前,确保你的Linux系统已经安装了Java开发环境(JDK),因为HBase依赖于Java...

    最新版linux hbase-2.3.3-bin.tar.gz

    HBase 2.3.3还包括对性能优化、稳定性增强、新的API支持等方面的改进。例如,RegionSplitPolicy优化了区域分裂策略,以提高负载均衡;而Cell级别的ACL增强了数据安全性。 总结来说,Linux上的HBase 2.3.3是一个强大...

    apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz

    Apache Phoenix是构建在HBase之上的关系型数据库层,作为内嵌的客户端JDBC驱动用以对...直接使用HBase的API,结合协处理器(coprocessor)和自定义的过滤器的话,小范围的查询在毫秒级响应,千万数据的话响应速度为秒级

    hbase-1.1.5-bin.tar

    10. **读写操作**:HBase提供了多种API,如Java API、Thrift、REST,供应用程序进行数据读写。读操作通常是实时的,写操作通过WAL(Write-Ahead Log)保证原子性和持久性。 11. **数据分区与负载均衡**:Region是...

    apache-phoenix-4.14.0-HBase-1.2-src.tar.gz

    Phoenix将SQL查询转换为HBase的原生操作,使得开发者能够使用SQL语法与HBase进行交互,而无需深入理解HBase的Java API。4.14.0是Phoenix的一个稳定版本,针对HBase 1.2版本进行了优化。 在"apache-phoenix-4.14.0-...

    最新版linux hbase-2.3.3-client-bin.tar.gz

    首先,HBase 2.3.3客户端提供了丰富的API,支持Java、Python、C++等多种编程语言,使得开发者可以方便地在各种应用中集成HBase功能。在Linux环境下,通常使用Java API进行开发,因为其具有完善的文档支持和强大的...

    hbase-0.94.16-security.tar.gz

    使用HBase开发应用程序,可以通过Java API或者HBase Shell,也可以使用如HBase Thrift或REST接口与非Java语言交互。此外,HBase与Hadoop其他组件如Hive、Pig等集成良好,可以在大数据分析流程中发挥重要作用。 总之...

    apache-phoenix-4.8.1-HBase-1.2-bin.tar.gz

    1. **高性能SQL查询**:Phoenix将SQL查询转换为HBase的多行扫描和过滤操作,显著提高了查询效率。 2. **索引管理**:Phoenix支持创建和维护B-Tree索引,以优化查询性能。 3. **JDBC接口**:提供标准的JDBC驱动,使得...

    hbase-1.0.1.1-bin.tar.gz

    - **创建表**:使用HBase shell或Java API创建表,定义列族。 - **增删改查**:通过Put、Get、Delete、Scan操作进行数据的插入、读取、删除和扫描。 - **Region管理**:Region的自动分裂和手动调整以优化数据分布...

Global site tag (gtag.js) - Google Analytics