今天看说学习了下通过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; } }
相关推荐
Hbase笔记 —— 利用JavaAPI的方式操作Hbase数据库(往hbase的表中批量插入数据)
java调用hbase数据库,完成对hbase常用api的封装和对hbase数据库的增删改查等操作,经测试绝对可用。
java操作Hbase之实现表的创建删除,源代码,面向不使用maven的初学者,因此附带全部所需jar包。
假设有一个不知道是干什么表:) 表里需要存入人员和其相对应的部门信息 HBaseAdmin admin = new HBaseAdmin(configuration); List<Put> putuser = new ArrayList();
Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
hbase java api 访问 增加修改删除(一) 详情请看:http://blog.csdn.net/wild46cat/article/details/53306621
java-hbase-1.2.X开发包,
使用JavaAPI实现HBase的ddl(创建表、删除表、修改表(添加列族等))、dml(添加数据、删除数据)、dql(查询数据(get、scan))等操作 除此之外还包含一些其他操作:命名空间的应用、快照的应用等 对应(《HBase...
在集群中java通过调用API操作HBase0.98 本文的内容是在集群中创建java项目调用api来操作hbase,主要涉及对hbase的创建表格,删除表格,
大数据原理与应用 第四章 分布式数据库HBase 对hadoop中安装hbase及创建表,Java API的调用(数据修改)
java操作Hbase之从Hbase中读取数据写入hdfs中源码,附带全部所需jar包,欢迎下载学习。
在集群中创建java项目调用api来操作hbase,主要涉及对hbase的创建表格,删除表格,插入数据,删除数据,查询一条数据,查询所有数据等操作。 具体流程如下: 1.创建项目 2.获取jar包到项目的lib目录下(这边试用的事...
2019-8____2019-10工作期间的java版hiveApi,hbaseApi和spark版本的hiveApi,hbaseApi
Hbase调用JavaAPI实现批量导入操作.docx
Java SpringBoot 连接 Hbase Demo 创建表 插入数据 列族 列 查询:全表、数据过滤 删除数据 删除表 Hbase 集群搭建:https://blog.csdn.net/weixin_42176639/article/details/131796472
HBase-APi操作demo
Hbase JAVA编程开发实验报告以及代码,1 按照“Hbase应用开发实验1.pdf”中给出的说明,完成相关相关实验及JAVA程序的编写、调试和运行,提交JAVA源程序(AccessObject.java, HBaseTester.java, User.java)及运行...
HBase Java API类介绍
本代码是java链接hbase数据库并对hbase进行增删改查操作的实例代码,包括批量操作
HBASE