`
beat_it_
  • 浏览: 64300 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java调用HBase api创建表,插入数据

阅读更多

今天看说学习了下通过java 调用HBase api 实习表的创建和数据插入的操作,贴下代码:

package com.lyq.study.api;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;

import com.lyq.study.util.HBaseConfigUtils;

public class HBase_API {

	public static void main(String[] args) throws MasterNotRunningException, ZooKeeperConnectionException, IOException {
		String tableName = "hbasetest";
		String familyName = "info";
		Configuration conf = HBaseConfigUtils.getHBaseConfig(1);
		//创建表		
		HBaseAdmin admin = new HBaseAdmin(conf);
		HTableDescriptor tableDesc = new HTableDescriptor(tableName);
		tableDesc.addFamily(new HColumnDescriptor(familyName));
		admin.createTable(tableDesc);
		
		//插入表数据
		HTable table = new HTable(conf, tableName);
		//单条插入
		//row1为rowkey
		Put putRow1 = new Put("row1".getBytes());
		putRow1.add(familyName.getBytes(), "name".getBytes(), "zhangsan".getBytes());
		putRow1.add(familyName.getBytes(), "age".getBytes(), "24".getBytes());
		putRow1.add(familyName.getBytes(), "city".getBytes(), "chengde".getBytes());
		putRow1.add(familyName.getBytes(), "sex".getBytes(), "male".getBytes());
		table.put(putRow1);
		
		//多条插入
		List<Put> list = new ArrayList<Put>();
		Put p = null;
		p = new Put("rowkey1".getBytes());
		p.add(familyName.getBytes(), "name".getBytes(), "wangwu".getBytes());
		p.add(familyName.getBytes(), "sex".getBytes(), "male".getBytes());
		p.add(familyName.getBytes(), "city".getBytes(), "beijing".getBytes());
		p.add(familyName.getBytes(), "age".getBytes(), "25".getBytes());
		list.add(p);
		p = new Put("rowkey2".getBytes());
		p.add(familyName.getBytes(), "name".getBytes(), "zhangliu".getBytes());
		p.add(familyName.getBytes(), "sex".getBytes(), "male".getBytes());
		p.add(familyName.getBytes(), "city".getBytes(), "handan".getBytes());
		p.add(familyName.getBytes(), "age".getBytes(), "28".getBytes());
		list.add(p);
		p = new Put("rowkey3".getBytes());
		p.add(familyName.getBytes(), "name".getBytes(), "liqing".getBytes());
		p.add(familyName.getBytes(), "sex".getBytes(), "female".getBytes());
		p.add(familyName.getBytes(), "city".getBytes(), "guangzhou".getBytes());
		p.add(familyName.getBytes(), "age".getBytes(), "18".getBytes());
		list.add(p);
		table.put(list); 
	}
}

 

创建表之接调用了HBaseAdmin对象的create(HTableDescriptor desc)方法,

插入数据分别掉用了HTable对象的put(Put put)方法,和put(List<Put> list)方法:

其中put(Put put)方法实习了数据的单条插入,

put(List<Put> list)方法实现了数据的多条批量插入。

Configuration conf = HBaseConfigUtils.getHBaseConfig(1);

这句代码中的HBaseConfigUtils.getHBaseConfig(int flag)方法代码如下:

package com.lyq.study.util;

import org.apache.hadoop.conf.Configuration;

 
public class HBaseConfigUtils {
	/**
	 * 获取HBaseConfiguration
	 * @param flag	
	 * 			集群标识:0,单机;1集群
	 * @return
	 */
	public static Configuration getHBaseConfig(int flag){
		Configuration conf = new Configuration();
		if(flag > 0){
			//集群
			conf.set("fs.defaultFS", "hdfs://master129:9000/");
			conf.set("mapreduce.framework.name", "local");
			conf.set("mapred.job.tracker", "master129:9001");
			conf.set("hbase.zookeeper.quorum", "master129,slave130,slave131,slave132");
		}else{
			//单机
			conf.set("fs.defaultFS", "hdfs://ubuntu:9000/");
			conf.set("mapreduce.framework.name", "local");
			conf.set("mapred.job.tracker", "ubuntu:9001");
			conf.set("hbase.zookeeper.quorum", "ubuntu");
		}
		
		return conf;
	}
	
}

 

 

1
0
分享到:
评论

相关推荐

    java操作Hbase之实现表的创建删除源码

    本教程将详细介绍如何使用Java API来创建和删除HBase表,并针对不使用Maven的初学者提供必要的jar包支持。 首先,你需要在项目中引入HBase的客户端库。由于这里没有使用Maven,你需要手动下载并添加以下jar包到项目...

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

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

    java-hbase开发包

    1. **HBase客户端API**:这是Java-HBase开发包的核心,提供了一组Java接口和类,用于连接到HBase集群,创建表,插入、查询和更新数据。例如,`HTableInterface` 和 `HBaseAdmin` 接口,以及 `Put`、`Get` 和 `Scan` ...

    hbase java api 访问 查询、分页

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

    封装hbase以便java调用

    这个文件是Maven项目的配置文件,其中包含了项目依赖的库,如HBase客户端库和其他相关库,例如Hadoop的依赖,这些库是Java调用HBase所必需的。 6. **src目录**: 这个目录通常包含项目的源代码,包括封装HBase的...

    java api 访问hbase demo(Maven)

    在Java API中访问HBase是大数据处理中常见的一项任务,HBase作为一个分布式、列式存储的NoSQL数据库,常用于海量数据的实时读写。在这个Java API访问HBase的Maven项目中,我们将探讨如何配置项目,引入依赖,以及...

    在集群中java 通过调用API操作HBase 0.98

    首先,为了在Java中调用HBase的API,我们需要添加HBase的依赖库到项目中。对于HBase 0.98,你需要在`pom.xml`或构建脚本中包含相应的Maven依赖: ```xml &lt;groupId&gt;org.apache.hbase &lt;artifactId&gt;hbase-client ...

    Hbase的JavaAPI

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

    大数据实验Hbase安装部署和使用javaapi调用.pdf

    对于编程实现,可以通过Java API来执行相同的操作,这要求对HBase的Java客户端库有深入了解,包括连接HBase集群、创建表、写入和读取数据等方法。 对于实验要求,除了列出所有表的信息,还需要实现其他功能,如创建...

    Java通过api 操作hbase 0.98

    在集群中创建java项目调用api来操作hbase,主要涉及对hbase的创建表格,删除表格,插入数据,删除数据,查询一条数据,查询所有数据等操作。 具体流程如下: 1.创建项目 2.获取jar包到项目的lib目录下(这边试用的事...

    如何使用Java API操作Hbase(基于0.96新的api)

    创建`HTable`实例来操作表,并使用`Put`对象插入数据: ```java HTable table = new HTable(config, "MyTable"); byte[] rowKey = Bytes.toBytes("row1"); Put put = new Put(rowKey); put.add(Bytes.toBytes(...

    java代码使用thrift2操作hbase示例

    3. **获取表**:使用`Admin`接口来管理HBase表,如创建、删除和获取表。`Table`对象是操作数据的主要接口,通过`connection.getTable(TableName)`获取。 4. **添加数据**:HBase的数据以行键(Row Key)的形式存储...

    hbase访问方式之javaapi共3页.pdf.zip

    HBase提供了丰富的Java API,允许开发者创建、删除表,插入、查询和更新数据,以及管理表分区等。主要类包括HBaseAdmin、HTable、Put、Get、Scan等。 三、配置HBase连接 在使用Java API前,需要在代码中配置HBase的...

    hbase的java客户端api操作示例代码.zip

    在Java环境中,HBase提供了丰富的客户端API,使得开发者能够方便地进行数据的增删查改操作。本示例代码主要涵盖了以下几个核心知识点: 1. **HBase连接与配置** 在Java中操作HBase,首先需要创建一个`...

    采用Spring Boot+Hbase+kafka搭建,封装了通过JavaBean的方式操作Hbase

    2. Hbase客户端:封装Hbase的操作,如创建表、插入数据、查询数据等,通过JavaBean提供友好API。 3. Kafka生产者和消费者:编写Kafka生产者发送数据到主题,消费者从主题接收数据并处理。 4. 数据模型:定义JavaBean...

    hbase- java开发连接工具类

    1. **HBase客户端API**:Java开发者可以通过这个API创建表、插入数据、查询数据以及管理HBase集群。它提供了如`Admin`接口用于管理表和区域,`Table`接口用于操作表,以及`Put`、`Get`、`Delete`和`Scan`对象用于...

    实验三:熟悉常用的HBase操作

    继续深入,HBase的操作还包括创建表、插入数据、更新数据和删除数据等。在Shell中,创建表如`create 'table_name', 'column_family'`,插入数据则使用`put`命令,更新可通过`put`命令覆盖原有数据,删除数据可以是...

    HbaseJavaWeb实例

    这些API包括连接HBase集群、创建表、插入行、扫描表、删除数据等方法。在这个项目中,开发人员可能会使用`Table`、`Put`、`Get`、`Delete`和`Scan`等类来实现数据的增删改查功能。 6. **HTTP协议**: 在Web应用中,...

    hbase用于查询客户端工具

    HBase Shell提供了创建表、删除表、插入数据、查询数据等基本操作,同时也支持复杂的条件查询和扫描。通过Shell,你可以直接执行HBase的API调用,进行调试和测试。 2. **HBase REST Gateway**:REST...

    HbaseTemplate 操作hbase

    总之,Spring Data Hadoop的HbaseTemplate为Java开发者提供了一种简洁且强大的方式来操作HBase,通过其丰富的API可以轻松实现各种HBase操作。在实际项目中,结合Spring的依赖注入和配置管理,能够有效地提升代码的可...

Global site tag (gtag.js) - Google Analytics