【菜鸟系列】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数据库 亲测可用

从UC3842的FB脚到COMP脚:一次讲透反激电源两种光耦反馈接法的选择与实战

本文深入探讨了UC3842 PWM控制器在反激式开关电源设计中的两种光耦反馈接法:FB脚与COMP脚方案。通过分析信号极性差异、稳定性特点及动态响应性能,提供场景化选型指南和可靠性设计要点,帮助工程师优化反馈环路设计,提升系统稳定性与效率。特别针对TL431和PC817等关键元件在温度漂移、老化衰减等实际问题给出解决方案。

weixin_28717683的博客 712

LwIP TCP Client 解决长数据发送的困扰

问题描述 LWIP 的 TCP Client 发送数据可以调用 tcp_write() 函数,将数据储存在缓冲区里面,然后等待超时自动发送或者调用tcp_output()函数进行发送。 然而 tcp_write() 函数 需要发送的数据过长时,将无法发送,并返回 ERR_MEM。 tcp_write()函数解析 tcp_write()的函数代码很多,就不细看代码了, 先看tcp_write()的完整函数: err_t tcp_write(struct tcp_pcb *pcb, const void

tiantangmoke的博客 1万+

基于Hadoop的NBA篮球球员大数据分析与可视化系统大数据分析系统python的项目(源码+lw+部署文档+讲解等)

本系统以 Hadoop 为基础,致力于对 NBA 篮球球员的海量数据进行深入分析与可视化呈现。它能够收集来自多个数据源的丰富数据,包括球员比赛统计数据、身体素质数据、技术特点数据等。利用 Hadoop 的分布式存储和计算能力,对这些大规模数据进行高效处理。通过数据分析算法,挖掘球员的潜在价值和特点,如球员的得分能力趋势、篮板球效率变化、不同位置球员的技术差异等。同时,借助先进的可视化技术,将分析结果以直观的图表、图形等形式展示出来。教练和球队管理层可以通过可视化界面清晰地了解球员的综合表现和发展态势,从而制

QQ3359892174的博客 1315

Unity VR 零基础开发之 Pico4 MR

2、弹出弹窗后,点击Android选项,然后再点击Switch Platform按钮切换成安卓平台。3、切换完成后Android选项后面会显示unity图标。

十画的博客 5118

(目录)微气候模型ENVI-met模拟的基本使用教程

ENVI-met模拟操作系列(一) 介绍:

ysqzhatian的博客 2万+

企业微信消息推送API实战:5步搞定可信IP与域名配置(含Python代码示例)

本文详细解析了企业微信消息推送API实战中的关键配置步骤,特别是可信IP与可信域名的配置流程。通过5个清晰步骤,结合Python代码示例,指导开发者快速完成安全通信链路搭建,避免常见错误,确保消息推送服务稳定可靠。

qsc9012345的博客 998

SAP 业务技术平台(BTP) Workflow(工作流)功能介绍

这背后其实发生了很多事情:Workflow 应用里 Determine Equipment Service Task 得到执行,通过 HTTP POST,消费部署在 SAP BTP 上的 Business Rules Service,后者根据我们在 Start New Instance 里传入的 Sample Data,返回自动决定出的设备明细。关于这个 SAP BTP 开发工具的更多介绍,参考我的文章:SAP 新一代全栈开发工具:SAP Business Application Studio.

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 8756

【YOLOv12改进trick】高效多尺度卷积注意力EMCAD_Block模块引入YOLOv12,实现涨点和效率提升,含创新点Python代码

EMCAD引入YOLOv12模块,实现高效多尺度注意力模块引入到YOLOv12中的快速涨点及效率提升

向上生长的程序媛的博客 852

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

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

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: 【菜鸟系列】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、付费专栏及课程。

余额充值