java客户端操作Hbase

Hbase的java客户端 基础代码 pom.xml 连接hbase 对名称空间操作 对表操作 增删查改 Hbase的Utils工具类代码 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoo 阅读详情

java客户端操作Hbase

 

首先,配置好 hadoop+hbase 环境后,确保 hbase 正常启动。

1. 搭建开发环境

         1.1、运行 Eclipse,创建一个新的 Java工程“ HBaseHelloWorld”,右键项目根目录,选择 “ Properties”->“Java Build Path”->“Library”->“Add External JARs”,将 HBase解压后根目录下的 hbase-***.jar、 hbase-***-tests.jar和 lib子目录下所有 jar 包添加到本工程的 Classpath下,如图 1所示。

         1.2、按照步骤 1中的操作,将自己所连接的 HBase的配置文件 hbase-site.xml添加到本工程的 Classpath中,如下所示为配置文件的一个示例。

         <configuration>

                <property>

                      <name>hbase.cluster.distributed</name>

                      <value>true</value>

               </property>

               <property>

                     <name>hbase.rootdir</name>

                     <value>hdfs://hostname:9000/hbase</value>

               </property>

               <property>

                     <name>dfs.replication</name>

                     <value>1</value>

               </property>

          </configuration>

2.下面可以在 Eclipse环境下进行 HBase编程了。

具体操作 hbase代码如下:

import java.io.IOException;
import java.util.ArrayList;
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.ZooKeeperConnectionException;
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.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;

public class HBaseJavaAPI {
    
    /**
     * 创建表
     * @throws IOException
     */
    public void createTable(String tableName, String[] columns) throws IOException {
        Configuration conf = HBaseConfiguration.create(); 
        HBaseAdmin admin = new HBaseAdmin(conf);
        if (admin.tableExists(tableName)) {
            System.out.println("表已经存在!");
        } else {
            HTableDescriptor desc = new HTableDescriptor(tableName);
            for (String column : columns) {
                desc.addFamily(new HColumnDescriptor(column));
            }
            admin.createTable(desc);
            System.out.println("表创建成功!");
        }
    }
    
    /**
     * 插入一行记录
     * @param tablename
     *             表名
     * @param row
     *             行名称
     * @param columnFamily
     *             列族名
     * @param columns
     *             (列族名:column)组合成列名
     * @param values
     *             行与列确定的值
     */
    public void insertRecord(String tablename, String row, String columnFamily, String[] columns, String[] values) {
        try {
            Configuration conf = HBaseConfiguration.create(); 
            HTable table = new HTable(conf, tablename);
            Put put = new Put(Bytes.toBytes(row));
            for (int i = 0; i < columns.length; i++) {
                put.add(Bytes.toBytes(columnFamily),
                        Bytes.toBytes(String.valueOf(columns[i])),
                        Bytes.toBytes(values[i]));
                table.put(put);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    /**
     * 删除一行记录
     * @param tablename
     *             表名
     * @param rowkey
     *             行名
     * @throws IOException
     */
    public void deleteRow(String tablename, String rowkey) throws IOException {
        Configuration conf = HBaseConfiguration.create(); 
        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("删除行成功!");
    }
    
    /**
     * 查找一行记录
     * @param tablename
     *             表名
     * @param rowkey
     *             行名
     */
    public static void selectRow(String tablename, String rowKey)
            throws IOException {
        Configuration conf = HBaseConfiguration.create(); 
        HTable table = new HTable(conf, 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(new String(kv.getFamily()) + ":");
            System.out.print(new String(kv.getQualifier()) + "  ");
            System.out.print(kv.getTimestamp() + "  ");
            System.out.println(new String(kv.getValue()));
        }
    }
    
    /**
     * 查询表中所有行
     * @param tablename
     */
    public void scanAllRecord(String tablename) {
        try {
            Configuration conf = HBaseConfiguration.create(); 
            HTable table = new HTable(conf, 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()) + "  ");
                    System.out.print(new String(kv[i].getFamily()) + ":");
                    System.out.print(new String(kv[i].getQualifier()) + "  ");
                    System.out.print(kv[i].getTimestamp() + "  ");
                    System.out.println(new String(kv[i].getValue()));
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    /**
     * 删除表操作
     * @param tablename
     * @throws IOException
     */
    public void deleteTable(String tablename) throws IOException {
        try {
            Configuration conf = HBaseConfiguration.create(); 
            HBaseAdmin admin = new HBaseAdmin(conf);
            admin.disableTable(tablename);
            admin.deleteTable(tablename);
            System.out.println("表删除成功!");
        } catch (MasterNotRunningException e) {
            e.printStackTrace();
        } catch (ZooKeeperConnectionException e) {
            e.printStackTrace();
        }
    }

}

Hbase编程用到的jar包 里面包含了所有hbase用到的所有jar包,希望能够帮到正在学习hbase开发的小伙伴, 里面包含了所有hbase用到的所有jar包,希望能够帮到正在学习hbase开发的小伙伴, 里面包含了所有hbase用到的所有jar包,希望能够帮到正在学习hbase开发的小伙伴 立即下载

相关推荐

java连接hbase的jar包

java连接hbase的jar包,java连接hbase的jar包,java连接hbase的jar包,java连接hbase的jar包

JAVA 连接 Hbase1.2.3查询

首先说下环境, 在windowns 下安装了三台虚拟机, 网卡桥接的, 每台有独立的ip, 分别为: 10.68.128.215 master 10.68.128.212 slave1 10.68.128.211 slave2 hadoop 版本2.7.1 hbase 版本 1.2.3 zookeeper版本 3.4.9 系统已启动, 切已正常运行. windows 下的hosts文件已

system1024的专栏 5889

HBase使用的jar包

这是hadoop项目中,使用Hbase进行明细查询所需要的jar包

使用JAVA语言操作Hbase JAVA整合Hbase

http://blog.youkuaiyun.com/qq_31570685/article/details/51757351 hbase集群的搭建 步骤1:新创建一个Java Project  步骤2:导入JAR包  全部来源于官方文档(hbase-1.1.2-bin.tar.gz)解压后,xx\hbase-1.1.2\lib*.jar 步骤3:修改开发机

chuyouyinghe的专栏 5338

STM32F103C8T6与OV7670摄像头在TFT屏上的实时数字识别系统实现

本文详细介绍了基于STM32F103C8T6单片机和OV7670摄像头实现实时数字识别系统的全过程。系统通过图像采集、预处理、二值化和模板匹配算法,在TFT屏上实时显示识别结果,并针对资源受限的单片机环境提供了内存与性能优化策略,适用于智能家居、工业仪表读数等低成本嵌入式视觉应用场景。

open4的博客 279

深入浅出:.sh文件在Linux系统中的实战应用与技巧

本文深入浅出地介绍了.sh文件在Linux系统中的实战应用与技巧。从基础概念入手,详细讲解了Bash脚本的运行方法、权限管理,并通过编写自动化备份脚本等实例,展示了如何利用Shell脚本提升工作效率。文章还涵盖了脚本调试、错误处理以及函数、参数解析等进阶技巧,帮助读者从入门到精通,掌握这一强大的自动化工具。

weixin_29243279的博客 353

hbase(三)--使用java客户端操作hbase

hbase(三)–使用java客户端操作hbase 文章目录hbase(三)--使用java客户端操作hbase一、简介二、开发步骤2.1 添加maven依赖2.2 定义连接属性文件hbase-site-paper.xml2.3 hbase操作 一、简介 这里介绍使用hbase的java客户端进行操作。 二、开发步骤 2.1 添加maven依赖 <dependency> &lt...

panda-star的博客 706

Python经常遇到导入xlwings就出错,如何解决

Python经常在导入xlwings时遇到错误。有人建议尝试重装或升级xlwings,但这些操作后仍然无法解决导入错误问题。

felix_8的博客 1740

hbase中java客户端操作

获取客户端数据 package doit01; import Utils.HbaseUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase

LEOZHYD的博客 391

GBT 27930-2015/2023国标充电协议A类CAN报文ID说明

国标充电CAN的ID,仅供学习参考。

qqq080的博客 7820

移动支付APP(仿支付宝)

Toast.makeText(PayActivity.this, "支付失败:" + payResponse.getMsg(), Toast.LENGTH_SHORT).show();Toast.makeText(PayActivity.this, "支付失败:" + t.getMessage(), Toast.LENGTH_SHORT).show();Toast.makeText(PayActivity.this, "支付失败", Toast.LENGTH_SHORT).show();

寒寒豆豆软件公司的博客 136

大数据之hbase_hbase的java客户端基础操作

首先创建一个maven项目,然后导入以下依赖: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.comp

WuBoooo的博客 376

<PLC><汇川>汇川PLC基于EtherCat协议使用转矩模式控制SV630N伺服驱动电机

本系列是关于PLC相关的博文,包括PLC编程、PLC与上位机通讯、PLC与下位驱动、仪器仪表等通讯、PLC指令解析等相关内容。PLC品牌包括但不限于西门子、三菱等国外品牌,汇川、信捷等国内品牌。除了PLC为主要内容外,PLC相关元器件如触摸屏(HMI)、交换机等工控产品,如果有值得记录的内容,也会添加进来。

用沸腾的热血,支付我们的人生吧! 4165

HBASE-JAVA客户端入门操作

import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.client.*; import org.apache.hadoop.hbase.util.Bytes; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.io.IOExc

weixin_46373361的博客 220

图像质量评估和点云质量评估

本文介绍了图像质量评估和点云质量评估的基本概念和常用方法,并提供了相应的源代码示例。图像质量评估关注图像的视觉质量,常用的评估指标包括均方误差(MSE)、结构相似性指标(SSIM)和峰值信噪比(PSNR)。点云质量评估关注点云数据的准确性和完整性,常用的评估方法包括点云配准质量评估、稠密重建质量评估和离群点检测质量评估。在计算机视觉和计算机图形学领域中,图像质量评估和点云质量评估是两个重要的任务。图像质量评估旨在量化图像的视觉质量,而点云质量评估则关注于点云数据的准确性和完整性。

XsupDatabase的博客 993

YOLOv8改进,YOLOv8添加可变性卷积DCNv2

DCNv2对原始的DCNv1进行了改进,可变形卷积网络的卓越性能源于其适应对象几何变化的能力。通过对其自适应行为的检查,虽然对其神经特征的空间支持比常规的ConvNets更接近于对象结构,但这种支持可能远远超出感兴趣区域,导致特征受到不相关图像内容的影响。为了解决这个问题,我们提出了一种可变形卷积网的重新表述,通过提高建模能力和更强的训练,提高了其专注于相关图像区域的能力。通过更全面地集成网络中的可变形卷积,并引入扩展变形建模范围的调制机制,增强了建模能力。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 3607

Hbase的java客户端操作-hbase命令行客户端操作(twenty-seven day second)

hbase命令行客户端操作 建表: create 't_user_info','base_info','extra_info' 表名 列族名 列族名 插入数据 put 't_user_info','001','base_info:username','zhangsan' 查询数据方式一:scan 扫描 查询数据方式二:get ...

ZJX103RLF的博客 418

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java hbase 更新数据_2018-08-20期 Hbase客户端API操作( 数据更新)

package cn.itcast.bigdata.hbase;import java.io.IOException;import java.io.InterruptedIOException;import java.util.ArrayList;import java.util.Iterator;import org.apache.commons.collections.comparators....

weixin_30953203的博客 281

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java客户端操作HBase代码

Java客户端操作HBase代码原创 2016年06月17日 16:53:442566package com.cys.zdzn;import java.io.IOException;import java.util.List;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfigu...

大JAVA解决方案 306

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Hive之UDF、Java客户端操作、与Hbase交互

2.自定义函数UDF 1.创建一张表 create table t_student_udf(id int,name string,tel string) row format delimited fields terminated by ',' stored as textfile; 2.上传数据 load data local inpath '/home/hdfs/data_getarea' into table t_student_udf; 文件内容: 1,张三,13834112233 2,李四,1

angeliacmm的博客 1531

HBase之 java 客户端创建 namespace 和 table 操作(5)

1 Hbase的java客户端入门程序 /** * description : 使用java客户端操作 hbase * 1)zookeeper上记录着hbase集群的信息 * 2)获取hbase的连接对象 * 3)建表 建namespace 修改表结构.. 对数据的操作.. get put delete * 4) admin 管理者 建namespace 建表 表结构 删除表/名称空间 工具 合并切割移动 刷写 * 5) table 表对象 对数据操作 put dele

桂林算啦粉的博客 1167

java客户端连接操作Hbase示例代码

  前提是hbase已经可以正常使用了。   maven依赖: &lt;dependency&gt; &lt;groupId&gt;org.apache.hbase&lt;/groupId&gt; &lt;artifactId&gt;hbase-client&lt;/artifactId&gt; &lt;version&gt;1.2.0&lt;/versio...

267

Hbase的命令行客户端操作、Java客户端操作、过滤器

Hbase的命令行客户端操作(shell操作) 描述表:describe “t_user” 判断表是否存在:exists “t_user” 向表中添加数据:put “t_user”,”rk001”,”basic_info:name”,”huihui” put “t_user”,”rk001”,”family:father”,”bingbing” 更新记录...

amin_hui的博客 1125

HBase学习之路(二):Java客户端的CRUD操作详讲

内容简介一、概述二、操作前的准备三、put操作四、get操作五、delete操作六、总结 一、概述 HBase作为一个数据库最常见的交互方式是使用JavaAPI与其交互,HBase提供给客户端非常丰富的JavaAPI对数据库进行增删改查等操作。事实上,HBase的主要客户端接口是由org.apache.hadoop.hbase.client包中的HTable提供,我们可以通过这个类向HBase读...

萧邦主的城邦 839
上一篇: 写了一个简单的数据库连接池
下一篇: Java注释@interface的用法
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值