【菜鸟系列】hbase(java)接口--基于hbase1.1.2

Hbase-1.1.2完全分布式安装教程 Hbase-1.1.2完全分布式安装教程安装环境说明: 现有三台服务器,已经搭建了一个hadoop集群,master:master1,slaves:pc2,pc3。1、去官网下载Hbase的安装包,http://apache.claz.org/hbase/stable/ tar -zxvf hbase-1.1.2-bin.tar.gz 将下载的hbase安装包解压2、配置hbase2 阅读详情

更多hbase简介:请查看hbase入门系列
传送门:https://blog.youkuaiyun.com/java_soldier/article/details/80708346
最近集群升级,开启kerberos认证,所有的应用都要改造,所以复习了下hbase的接口操作,代码见下方

先讲解下主要的接口类

HBaseConfiguration

org.apache.hadoop.hbase.HBaseConfiguration
Adds HBase configuration files to a Configuration

我们一般通过来获取configuration ,然后在set一些参数,比如zk的地址,端口,是否启用kerberos认证等

Configuration configuration = HBaseConfiguration.create();
configuration.set("hbase.zookeeper.quorum","bd36,bd37,bd38,bd66,bd67");
configuration.set("hbase.zookeeper.property.clientPort","2181");
configuration.set("zookeeper.znode.parent", "/hbase-unsecure");

Connection

org.apache.hadoop.hbase.client.Connection
A cluster connection encapsulating lower level individual connections to actual servers and a connection to zookeeper. Connections are instantiated through the ConnectionFactory class. The lifecycle of the connection is managed by the caller, who has to close() the connection to release the resources.
The connection object contains logic to find the master, locate regions out on the cluster, keeps a cache of locations and then knows how to re-calibrate after they move. The individual connections to servers, meta cache, zookeeper connection, etc are all shared by the Table and Admin instances obtained from this connection.
Connection creation is a heavy-weight operation. Connection implementations are thread-safe, so that the client can create a connection once, and share it with different threads. Table and Admin instances, on the other hand, are light-weight and are not thread-safe. Typically, a single connection per client application is instantiated and every thread will obtain its own Table instance. Caching or pooling of Table and Admin is not recommended.

官网给的太复杂,总结起来一句话:用来获取和hbase的连接,这里同样采用了工厂模式ConnectionFactory

connection = ConnectionFactory.createConnection(configuration);

Admin

org.apache.hadoop.hbase.client.Admin
Admin can be used to create, drop, list, enable and disable and otherwise modify tables, as well as perform other administrative operations.
Since:0.99.0

这个类主要用来创建表,删除表,启用禁用表等操作的接口类,hbase之前有个过期的方法叫HBaseAdmin,推荐用最新的,我们该如何获取Admin类呢?

Admin admin = connection.getAdmin();

TableName

org.apache.hadoop.hbase.TableName

这个类就是描述表名称的接口类,也就是把我们的字符串(表名)转换为hbase认识的样子

TableName tname = TableName.valueOf(tablename);

HTableDescriptor

org.apache.hadoop.hbase.HTableDescriptor
HTableDescriptor contains the details about an HBase table such as the descriptors of all the column families, is the table a catalog table, hbase:meta , if the table is read only, the maximum size of the memstore, when the region split should occur, coprocessors associated with it etc…
但是这个要过期了
Deprecated.
As of release 2.0.0, this will be removed in HBase 3.0.0. Use TableDescriptorBuilder to build HTableDescriptor.

这个是表描述信息的接口类

HTableDescriptor tDescriptor = new HTableDescriptor(tname);

HColumnDescriptor

org.apache.hadoop.hbase.HColumnDescriptor
An HColumnDescriptor contains information about a column family such as the number of versions, compression settings, etc. It is used as input when creating a table or adding a column.

这个是列簇的描述信息类,比如版本,压缩方式,添加一个列的时候会使用

HColumnDescriptor famliy = new HColumnDescriptor(cf);

Put

org.apache.hadoop.hbase.client.Put
Used to perform Put operations for a single row.
To perform a Put, instantiate a Put object with the row to insert to, and for each column to be inserted, execute add or add if setting the timestamp.

添加数据的时候,可以选择批量添加,还是单条添加,如果是批量添加需要创建一个List,将Put对象放入

Table table = connection.getTable(tableName);
List<Put> batPut = new ArrayList<Put>();
Put put = new Put(Bytes.toBytes("rowkey_"+i));  //插入的rowkey
put.addColumn(Bytes.toBytes("i"), Bytes.toBytes("username"), Bytes.toBytes("un_"+i)); //列簇,列,值
batPut.add(put)
table.put(batPut)

Get

【图书推荐】《分布式数据库HBase案例教程》 本书定位是HBase从入门到应用的简明教程,特色是以实战案例为主,内容系统全面,讲解深入浅出,操作步骤清晰明了。本书配套示例源码、PPT课件、开发环境、教学视频、习题及答案以及其他丰富的教学资源。本书共分为8章,内容包括NoSQL数据库、HBase体系架构、HBase的接口、MapReduce与HBase、HBase表设计、HBase和Hive、HBase深入剖析、论坛日志分析实战。陈建平,福州德明科技有限公司,大数据专家讲师。2006年从事大数据相关的工作,2010年开始从事大数据培训工作。 阅读详情

相关推荐

菜鸟先飞之Hadoop 秘籍(三)Zookeeper 、Hive、Hbase、Docker、MySQL

一、安装准备 hadoop-2.6.0-cdh5.14.2.tar.gz hadoop-native-64-2.6.0.tar hbase-1.2.0-cdh5.14.2.tar.gz hive-1.1.0-cdh5.14.2.tar.gz MySQL-client-5.6.46-1.el7.x86_64.rpm MySQL-server-5.6.46-1.el7.x86_64.rpm zookeeper-3.4.6.tar.gz jdk-8u221-linux-x64.tar.gz m.

望、本归心的博客 754

Kafka数据写入Hbase (含设计模式简单使用)

设计模式详解可以看菜鸟教程:https://www.runoob.com/design-pattern/singleton-pattern.html 我们将kafka的数据写进HBase中,都是在一个main方法中的,这显然是个小白做法,下面我们用设计模式实现,降低依赖,降低耦合,增加代码的可重用性。 pom依赖: <dependency> <groupId>org.apache.kafka</groupId> <artifactId&gt

小财迷嘻嘻的博客 1314

菜鸟先飞之初识Hive、安装教程及常见问题

一、初识Hive 1、什么是Hive? Hive是基于Haddop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表并提供SQL查询功能,可以将SQL语句转换 MapReduce任务运行。 Hive提供了一系列的工具,可以给用来数据提取转换加载(ETL)是一种存储、查询和分析存储在Hadoop中的大规模数据的机制 2、Hive发展历史及版本 2007年8月 – 始于Facebook 2013年5月 – 0.11 Stinger Phase 1 ORC HiveServer2 20.

望、本归心的博客 1662

Redis实现feed流,2022年Java社招面试题

前言 再过一周,马上将迎来新的一年,希望大家在2021年“牛气冲天,牛年大吉”,一起迎接春暖花开之时。 金三银四马上就到了,很多粉丝朋友私信希望我出一篇面试专题或者分享面试相关的笔记来学习,小编还是相当宠粉的,这不今天就给大家安排上了?(都是干货,错过就是亏。) 下面的面试笔记都是精心整理好免费分享给大家的,希望新朋友和老朋友不要吝啬你的赞和转发。 消息必达性要求高 比如发送了一条朋友圈后,结果部分朋友看到了,部分朋友没看到,如果偏偏女朋友没看到,那么可能会产生很严重的感情矛盾,后果很严重。 [](

m0_69378598的博客 430

五年经验的大数据大牛写下的基础心得!

现如今大数据行业如雨后春笋一般,苗头已起一发不可收拾。国内 IT 、通讯、行业招聘中,有 10% 都是和大数据相关,且比例还在上升。巨大的人才缺口直接导致各企业纷纷以高薪聘请大数据人才 据最新发布的《大数据人才报告》显示,目前全国的大数据人才仅 46 万,未来 3 - 5 年内,大数据人才的缺口将高达 150 万,而在 BAT 企业招聘的职位里,60% 以上都在招大数据人才。 ...

juan189的博客 1097

SpringBoot整合MyCat实现读写分离,Java架构师成长路线

01 前言 辛苦奋斗两个月,秋招终于圆满收官,拿到了头条、字节、菜鸟、腾讯、网易的offer,这要多亏了意外得到的这份资料文档,这么多面试全都靠它了,哈哈~~有好东西还是要分享出来给大家,一起学习呀 Java核心进阶宝典:JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,

m0_56604931的博客 231

CM&CDH傻瓜安装教程(完美)

虽然我是菜鸟,但是这个安装是自己电脑搭建的,按照步骤下去,一定不会报错。--------有帮助就粉下吧!!! 下载地址 http://archive.cloudera.com/cm5/    CM http://archive.cloudera.com/cdh5/parcels/5.10.0.41/    CDH     官网链接 https://www.cloude

god_zhi_big的博客 6327

【狂神说】Redis

​ Redis等关系型数据库作缓存去缓存使用频率高的数据,减轻Mysql等关系型数据库的压力

weixin_46703850的博客 5426

Spark大数据技术(Scala)小白教程(一)——大数据技术概述以及环境配置_spark scala教程

Apache Spark 是一个基于内存计算的大数据处理框架,提供了高性能和灵活性,支持多种数据处理模式。Spark 提供了丰富的 API,包括 Spark Core、Spark SQL、Spark Streaming、MLlib(机器学习库)和 GraphX(图计算库),使得用户可以方便地进行数据处理、数据分析和机器学习等任务。

2401_84185106的博客 1110

【mangoDB新手教程】沙雕肥宅教你搞定mangoDB(一)

前言 本文旨在帮助mangoDB的小白初建认识。重点在于介绍mango是什么、它能做什么、有什么优势,这样在使用时哪怕不会操作,对整体的认识也能帮助自己进行有效的查证。所以具体操作和细节还得查看官方文档,或本文参考资料: MongoDB教程 | 菜鸟教程 1. 概述 MongoDB 是一个可多机集群的分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方...

m0_37860933的博客 3370

04 核心知识点和资料推荐

一、前言 前面章节介绍了 Java 校招中常见的一些问题,其中非常重要的一条就是不能在校招早期清楚地知道复习的重点。导致很多同学复习的很早,不知重点,浪费了很多时间;复习晚的同学更是准备的一塌糊涂。 本节内容重点针对这个问题进行讲解。本节给出 Java 校招中常问的知识模块,推荐我个人认为帮助比较大的图书、专栏和视频等。 希望对不能够对校招知涉及模块有完整认识,不清楚重点学习哪些内容的同学有帮助。 不过值得警醒的是,以前也曾有学弟秋招开始前半年就向我请教 Java 校招该看哪些书,我也推荐过最关键的几本,

悟鸣的技术博客 1447

大数据领域Hadoop入门指南:从零基础到精通

在大数据时代,Hadoop是当之无愧的“基石级框架”——它解决了传统系统无法处理的“海量数据存储”与“分布式计算”问题,支撑了淘宝双11交易数据处理、抖音用户行为分析等千万级规模的业务场景。组件众多(HDFS、MapReduce、YARN),概念抽象(“分布式存储”“分而治之”);环境配置复杂(集群搭建需要SSH免密、JDK兼容);实战案例零散,难以将理论与业务结合。本文将从“零”开始先搞懂“为什么需要Hadoop”“核心组件的作用”;再手把手教你搭建伪分布式集群与完全分布式集群;

Java大师兄的博客 708

hbase-1.1.2-bin.tar.gz

hadoop hbase数据库 亲测可用 hadoop hbase数据库 亲测可用

跨厂商网络设备的RADIUS认证:Windows NPS的兼容性与最佳实践

本文详细探讨了Windows NPS在多厂商网络环境中的RADIUS认证实践,特别针对华为、华三、思科等主流设备的兼容性问题提供解决方案。从基础配置到高级优化,涵盖VSA属性映射、认证协议选择及安全加固措施,帮助企业实现统一身份认证并提升网络安全性。

weixin_29213827的博客 424

如何使用Ray和PyTorch训练模型

用户编写训练函数 → 定义单机训练逻辑。通过扩缩容配置 → 指定需要多少资源(Worker 数量、CPU/GPU)。训练器整合训练函数和配置 → 自动将训练函数分发到多个 Worker 上并行执行。Worker 运行训练函数 → 在分布式环境中完成模型训练。通过这种模式,Ray Train 实现了对分布式训练的抽象,用户只需关注单机训练逻辑,无需手动管理分布式通信和资源分配。

m0_62464865的博客 1922

RTX 50系显卡(5080/5090D)CUDA 12.8环境下的vLLM部署避坑与实战指南

本文为RTX 5080/5090D显卡用户提供了在CUDA 12.8环境下部署vLLM的完整实战指南。文章详细介绍了从驱动安装、CUDA 12.8环境配置、PyTorch Nightly版本精准匹配,到vLLM源码编译及常见报错排查的全过程,帮助开发者高效利用新一代硬件进行大模型推理。

gray5的博客 671

RDD2022 数据格式转换与清洗

Rdd2022数据集,是关于道路损伤的数据集,与rdd2020相比增加了两万多张图片但是由于格式不能被yolo直接使用且其中有大量的图片没有符合要求的标注,特写此文章记录数据清洗与格式化的过程。

蓝胖子的博客 9964

用Java实现森林冰火人游戏

g.drawString("游戏结束", CELL_SIZE * COLS / 2 - 100, CELL_SIZE * ROWS / 2);g.drawString("难度级别: " + difficultyLevel, 10, CELL_SIZE * ROWS + 60);g.drawString("生命值: " + playerHealth, 10, CELL_SIZE * ROWS + 20);setTitle("森林冰火人");

2401_82778412的博客 1734

Python开发MCP Client

全部例子只是MCP Client访问MCP Server的过程,那么这样其实就失去了MCP协议的创建的初衷,和大模型集成后才能发挥MCP最大的作用。

Criss@陈磊 2973

【DRAM存储器三十五】LPDDR4介绍--主要技术特性之VREF training,为什么要做VREF training?

详述DDR4、LPDDR4需要做vref training的原因和训练过程

highman110的博客 2922

微信小程序 - 最新实现项目适老化设计全流程及源码,老年模式大字版与常规版页面样式切换,老年人大字模式字体与布局更换关怀版解决方案(新老项目均适用的方案,全局页面统一修改文本字号/DOM排版元素等)

微信小程序,vue2,vue3,老年大字版设计,小程序开发如何实现适老化方案,放大字体字号及改变页面的布局,小程序关怀模式实现思路及代码,统一将布局都改了,全局修改字体大小适配老年人看不清问题,小程序怎么接入老年模式并根据模式改变页面的UI设计,实现全局修改字体大小适老化/关怀版改造,最新详细示例代码全流程,字体放大/缩小,老项目怎么适配老年人模式方案,小程序适老化设计指南,当切换成老年模式时页面所有排版都会发生变化,小程序vue开发,新手详细教程,老年模式字体设置思路和UI布局的设计,开发者可以通过wx.

🏆 前端领域优质创作者 7311

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: 【菜鸟系列】spark常用算子总结(java)--union,intersection,coalesce,repartition,cartesian,distinct
下一篇: hbase快速入门文章传送门
Java_Soldier
博客等级 码龄10年 27粉丝 82原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值