`

hbase java api

阅读更多
一、
配置
windows hosts
添加Linux映射

否则,运行时报错,unknowHostException

二、

	package com.study.demo;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
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.junit.Test;

public class HbaseDemo {

	@Test
	public void testDropTable() throws Exception {
		
		// 配置文件
		Configuration conf = new Configuration();
		conf.set("hbase.zookeeper.quorum", "linux01:2181,linux02:2181,linux03:2181");
		HBaseAdmin admin = new HBaseAdmin(conf);

		// 删除表,删除前需先禁用表,然后才会删除,否则,无效
		admin.disableTable("hbase_test".getBytes());
		admin.deleteTable("hbase_test".getBytes());
		
		admin.close();
	}
	
	/**
	 * 删除数据
	 * @throws Exception
	 */
	@Test
	public void testDeleteData() throws Exception{
		
		// 配置文件
		Configuration conf = new Configuration();
		conf.set("hbase.zookeeper.quorum", "linux01:2181,linux02:2181,linux03:2181");
		HTable table = new HTable(conf, "hbase_test".getBytes());

		// 指定删除数据的行健:rk1
		Delete delete = new Delete("rk1".getBytes());
		table.delete(delete);
		
		table.close();
	}
	
	/**
	 * 修改数据
	 * 与插入数据一样,只是列中的value变化了
	 * @throws Exception
	 */
	@Test
	public void testUpdateData() throws Exception{
		
		// 配置文件
		Configuration conf = new Configuration();
		conf.set("hbase.zookeeper.quorum", "linux01:2181,linux02:2181,linux03:2181");
		HTable table = new HTable(conf, "hbase_test".getBytes());
		
		// 插入一行数据:行健
		Put put = new Put("rk1".getBytes());
		// 添加列名称:根据列族名称,添加列名、列中值
		put.add("cf1".getBytes(), "cell".getBytes(), "cellValue".getBytes());
		table.put(put);
		
		// 关闭连接
		table.close();
	}
	
	
	/**
	 * 获取某列的数据
	 * @throws Exception
	 */
	@Test
	public void testGetCell() throws Exception{
		
		// 配置文件
		Configuration conf = new Configuration();
		conf.set("hbase.zookeeper.quorum", "linux01:2181,linux02:2181,linux03:2181");
		HTable table = new HTable(conf, "hbase_test".getBytes());
		
		// 获取行健rk1的数据
		Get get = new Get("rk1".getBytes());
		// 获取列族cf1中cell列中的数据
		get.addColumn("cf1".getBytes(), "cell".getBytes());
		// 数据存储为二进制格式,需要由byte[] --> string
		Result result = table.get(get);
		byte[] bytes = result.getValue("cf1".getBytes(), "cell".getBytes());
		System.out.println("列中数据为:"+new String(bytes));
		table.close();
	}
	
	
	/**
	 * 插入数据
	 * @throws Exception
	 */
	@Test
	public void testInsertData() throws Exception{
		
		// 配置文件
		Configuration conf = new Configuration();
		conf.set("hbase.zookeeper.quorum", "linux01:2181,linux02:2181,linux03:2181");
		HTable table = new HTable(conf, "hbase_test".getBytes());
		
		// 插入一行数据:行健
		Put put = new Put("rk1".getBytes());
		// 添加列名称:根据列族名称,添加列名、列中值
		put.add("cf1".getBytes(), "cell".getBytes(), "value".getBytes());
		table.put(put);
		
		// 关闭连接
		table.close();
		// 进入hbase :  hbase shell ; scan "hbase_test" ; 查看数据已插入表中
	}
	
	
	/**
	 * windows 上 hosts 文件中添加  linux01 linux02 linux03 的映射
	 * 否则,运行报错,unknownHostException linux02 
	 */
	@Test
	public void testCreate() throws Exception{
		// 配置文件
		Configuration c = new Configuration();
		// zookeeper 
		c.set("hbase.zookeeper.quorum", "linux01:2181,linux02:2181,linux03:2181");
		HBaseAdmin admin = new HBaseAdmin(c);
		
		// 表名称
		TableName name = TableName.valueOf("hbase_test".getBytes());
		HTableDescriptor table = new HTableDescriptor(name );
		// 列族
		HColumnDescriptor family = new HColumnDescriptor("cf1");
		table.addFamily(family);
		HColumnDescriptor family1 = new HColumnDescriptor("cf2");
		table.addFamily(family1);
		
		admin.createTable(table);
		// 关闭连接
		admin.close();
		// 启动 hbase shell 
		// list 命令查看
	}
}





分享到:
评论

相关推荐

    Hbase Java API

    HBase Java API HBase 是 Hadoop 的数据库,能够对大数据提供随机、实时读写访问。他是开源的,分布式的,多版本的,面向列的,存储模型。HBase 的整体结构主要包括 HBase Master、HRegion 服务器和 HRegion Server...

    HBase Java API类介绍

    ### HBase Java API类介绍 #### 一、概述 HBase是一个分布式的、面向列的开源数据库,基于Google的Bigtable论文实现。它适合于非结构化数据存储,并且能够实时处理PB级别的数据。HBase提供了Java API供开发者使用...

    hbase java api 访问 增加修改删除(一)

    在本文中,我们将深入探讨如何使用HBase的Java API进行数据的增加、修改和删除操作。HBase是一个基于Google Bigtable设计的开源分布式数据库,它属于Apache Hadoop生态系统的一部分,适用于处理大规模数据存储。通过...

    hbase java api 访问 查询、分页

    在HBase这个分布式列式数据库中,Java API是开发者常用的一种接口来操作HBase,包括创建表、插入数据、查询数据以及实现分页等操作。本文将深入探讨如何使用HBase Java API进行数据访问和分页查询。 首先,我们要...

    hbase java api 所需最精简 jar

    "hbase java api 所需最精简 jar"这个标题意味着我们将探讨的是为了在Java环境中最小化依赖,但仍能实现基本HBase操作所需的JAR文件。 首先,我们需要理解HBase Java API的核心组件。HBase的Java客户端API提供了一...

    11-HBase Java API编程实践1

    HBase Java API 编程实践 在本实践中,我们将使用 Eclipse 编写 Java 程序,来对 HBase 数据库进行增删改查等操作。首先,我们需要启动 Hadoop 和 HBase,然后新建一个 Java 项目并导入 HBase 的 jar 包。接着,...

    HBase Java API操作数据库示例代码-HBaseDemo.rar

    HBase Java API操作数据库示例代码-HBaseDemo.rar HBase Java API操作数据库示例代码-HBaseDemo.rar HBase Java API操作数据库示例代码-HBaseDemo.rar

    HBase JavaAPI开发

    使用JavaAPI实现HBase的ddl(创建表、删除表、修改表(添加列族等))、dml(添加数据、删除数据)、dql(查询数据(get、scan))等操作 除此之外还包含一些其他操作:命名空间的应用、快照的应用等 对应(《HBase...

    Hbase Java API详解.pdf

    在HBase Java API使用方面,HBaseConfiguration对象是每个HBase客户端都需要使用的,它代表了HBase的配置信息。可以通过默认构造函数来创建HBaseConfiguration对象,它会尝试从类路径中的hbase-default.xml和hbase-...

    Hadoop+HBase+Java API

    标题 "Hadoop+HBase+Java API" 涉及到三个主要的开源技术:Hadoop、HBase以及Java API,这些都是大数据处理和存储领域的关键组件。以下是对这些技术及其结合使用的详细介绍: **Hadoop** 是一个分布式计算框架,由...

    Hadoop平台技术 5.4.2 HBase Java API应用-教学课件

    Hadoop平台技术 5.4.2 HBase Java API应用-教学课件

    hbase资料api

    HBase数据查询API HBase是一种分布式的、面向列的NoSQL数据库,主要应用于存储大量的半结构化数据。HBase提供了多种查询方式,包括单条查询和批量查询。 单条查询 单条查询是通过rowkey在table中查询某一行的数据...

    使用Java API连接虚拟机HBase并进行数据库操作,Java源代码

    在本文中,我们将深入探讨如何使用Java API连接到运行在虚拟机上的HBase数据库,并进行相关的数据操作。HBase是一个分布式的、版本化的、基于列族的NoSQL数据库,它构建于Hadoop之上,适用于处理大规模的数据存储和...

    hbase常用JAVA API

    在Java中,我们可以使用HBase的Java API来与HBase交互,进行数据的读写操作。下面将详细介绍HBase Java API的核心概念和常用方法。 1. **连接HBase** 要连接到HBase,你需要创建一个`Configuration`对象,然后通过...

    Hbase的JavaAPI

    在Java环境中,HBase提供了丰富的Java API供开发者进行数据操作,包括创建表、删除表、更新表以及查询表等基本功能。下面我们将深入探讨HBase的Java API及其在实际应用中的使用。 1. **HBase连接** 在Java中使用...

    HBase Java API编程实例

    本节通过一个具体的编程实例来学习如何使用 HBase Java API 解决实际问题。在本实例中,首先创建一个学生成绩表 scores,用来存储学生各门课程的考试成绩,然后向 scores 添加数据。 表 scores 的概念视图如图 1 所...

    Java SpringBoot 连接 Hbase Demo

    Java SpringBoot 连接 Hbase Demo 创建表 插入数据 列族 列 查询:全表、数据过滤 删除数据 删除表 Hbase 集群搭建:https://blog.csdn.net/weixin_42176639/article/details/131796472

    ella-hbase-0.96.2:根据ella hbase-0.94修改,取消部分jmx数据获取方式,使用标准hbase java api进行数据获取

    本文将深入探讨ella-hbase-0.96.2版本,它是基于ella hbase-0.94进行改进的,主要特点是取消了对JMX(Java Management Extensions)数据获取的依赖,转而采用标准的HBase Java API进行数据访问。 首先,我们来理解...

    javaApi_sparkhiveAPI_hbaseAPI.zip

    本压缩包"javaApi_sparkhiveAPI_hbaseAPI.zip"包含了2019年8月至10月期间针对这些技术的Java版API实现,以及与Spark相关的Hive和HBase API。以下是关于这些技术的详细知识: 1. **Java API for Hive**: - **Hive*...

    Hbase调用JavaAPI实现批量导入操作

    这篇博客“Hbase调用Java API实现批量导入操作”聚焦于如何利用Java编程语言高效地向HBase中批量导入数据。在这个过程中,我们将探讨以下几个关键知识点: 1. **HBase架构**: HBase是基于列族的存储模型,数据被...

Global site tag (gtag.js) - Google Analytics