(转载)hbase轻量级中间件simplehbase v0.1简介

simplehbase尝试简化基于hbase的java应用开发。 

Simplehbase主要提供以下功能: 
1 POJO和hbase的映射。 
2 提供client,简化hbase的数据操作。 
3 提供强语义的插入和更新操作。 
  Insert操作:只有原数据不存在时,才put成功。 
  Update操作:只有原数据存在时,才put成功。 

simplehbase的代码,测试(示例)代码,文档见附件。 


看一个简单的例子: 

1 通过注解标示要保存在hbase中的POJO。该POJO对应hbase的Key-Value中的Value。 

Java代码  收藏代码
  1. @HBaseTable(defaultFamily = MyRecordConstants.ColumnFamilyName, defaultConvertor = DefaultColumnConvertor.class)  
  2. public class MyRecord {  
  3.     @HBaseColumn(qualifier = "id")  
  4.     private int id;  
  5.     @HBaseColumn(qualifier = "name")  
  6.     private String name;  
  7.     @HBaseColumn(qualifier = "date")  
  8.     private Date date;  
  9.     @HBaseVersion  
  10.     @HBaseColumn(qualifier = "version")  
  11.     private long version;  
  12. }  




2 定义RowKey,该类型对应hbase的key-value中的key。 

Java代码  收藏代码
  1. public class MyRecordRowKey implements RowKey {  
  2.   
  3.     private String row;  
  4.   
  5.     public MyRecordRowKey(String row) {  
  6.         this.row = row;  
  7.     }  
  8.   
  9.     @Override  
  10.     public byte[] toBytes() {  
  11.         return Bytes.toBytes(row);  
  12.     }  
  13.   
  14.     @Override  
  15.     public String getTableName() {  
  16.         return MyRecordConstants.TableName;  
  17.     }  
  18. }  





3 使用simplehbase的client和hbase进行交互。 

保存数据到hbase。 

Java代码  收藏代码
  1. MyRecord myRecord = new MyRecord();  
  2. myRecord.setId(0);  
  3. myRecord.setName("allen1");  
  4. myRecord.setDate(new Date());  
  5. myRecord.setVersion(0L);  
  6. MyRecordRowKey myRecordRowKey = new MyRecordRowKey("key_allen1");  
  7. simpleHbaseClient.putObject(myRecordRowKey, myRecord);  




删除数据 

Java代码  收藏代码
  1. MyRecordRowKey myRecordRowKey = new MyRecordRowKey("key_allen1");  
  2. simpleHbaseClient.deleteObject(myRecordRowKey);  





按照key查找数据 

Java代码  收藏代码
  1. MyRecord myRecord2 =  simpleHbaseClient.findObject(myRecordRowKey,  
  2.                 MyRecord.class);  





按照startKey和endKey查找列表 

Java代码  收藏代码
  1. MyRecordRowKey startRowKey = new MyRecordRowKey("key_allen1");  
  2. MyRecordRowKey endRowKey = new MyRecordRowKey("key_allen8");  
  3. List<MyRecord> list = simpleHbaseClient.findObjectList(startRowKey,  
  4.         endRowKey, MyRecord.class);  
ThinkAdmin后台Getshell 通过文件包含或者图片马的方式Getshell。修改其可允许的文件类型,php不允许,可添加。系统管理->系统参数配置->本地服务器存储。 阅读详情

相关推荐

断点回归(regression discontinuity design)学习笔记

本篇博文主要是对断点回归的一些学习和总结~ 学习材料如下: 1 断点回归设计RDD分类与操作案例 2 RDD断点回归, Stata程序百科全书式的宝典 3 断点回归设计的前沿研究现状, RDD 4 让“跳跃”更有意义:断点回归设计(RDD) 5 Stata: 断点回归 (RDD) 教程 6 怎么用通俗的语言解释断点回归?它与DID的区别是什么 7 Watering Down Environmental Regulation in China,Guojun He, Shaoda Wang, Bing Zhan

Claire_chen_jia的博客 9万+

Phoenix实现用SQL查询HBase

博客已转移,请借一步说话,http://www.daniubiji.cn/archives/111 HBase,一个NoSQL数据库,可存储大量非关系型数据。 HBase,可以用HBase shell进行操作,也可以用HBase Java api进行操作。HBase虽然是一个数据库,但是它的查询语句,很不太好用。要是能像使用Mysql等关系型数据库一样用sql语句操作HBase,那...

weixin_30337157的博客 593

CVAEGAN实现锂离子电池EIS数据增强:基于健康状态的阻抗谱生成

本文提出了一种基于CVAEGAN的锂离子电池EIS数据增强方法。该方法结合了变分自编码器和生成对抗网络的优点,能够根据指定的健康状态(SoH)生成高质量的EIS阻抗谱数据。文章详细介绍了数据预处理流程、模型架构设计(包括编码器、解码器和判别器),并提供了完整的PyTorch实现代码。通过条件生成的方式,该方法可以有效解决电池健康评估中标注数据不足的问题,为基于数据驱动的电池诊断提供更丰富的训练样本。实验结果表明,生成的EIS数据具有良好的真实性和多样性,可用于增强电池健康状态评估模型的性能。

huanghm88的专栏 499

Class org.apache.hadoop.hive.hbase.HBaseSplit not found

在hive-site.xml加上 &lt;property&gt; &lt;name&gt;hive.aux.jars.path&lt;/name&gt; &lt;value&gt;file:///opt/modules/hive/hive-0.9.0/lib/hive-hbase-handler-0.9.0.jar,file:///opt/modules/hive/hive-0...

weixir123的博客 728

秋招突击——笔试整理——8/25——拼多多笔试整理

继续加油! 转变思维,有简单到复杂,由直观到抽象,这种贪心模拟的题目一直是这样的!

Blackoutdragon的博客 2402

交换机端口模式详解:Access、Hybrid、Trunk

交换机是网络中至关重要的组件之一,用于连接各种设备并启用数据的高效流动。为了更好地管理和控制网络流量,交换机提供了不同的端口模式,其中包括Access、Hybrid和Trunk。本文将深入探讨这三种端口模式,详细解释它们的配置、特性和应用场景,以帮助网络管理员更好地理解和优化网络架构。

网络技术联盟站 4016

HBase一次慢查询请求的问题排查与解决过程

1. 发现问题 项目中有一张HBase表,每天凌晨以后会集中批量导入一批数据,导入数据量很大,在千万到亿的量级,然后白天为用户提供查询服务。某天突然发现, 该表按照各个region(共计256个)分别仅顺序scan少数几条数据时,部分region的查询请求的响应时间很慢,长达10秒甚至几十秒不等。 2. 排查问题 首先,通过查看HBase的region server监控界面,看到这张表的每...

weixir123的博客 722

Transformer实战(39)——多模态生成式Transformer

能够理解多种类型输入的模型被称为多模态模型。多模态学习是人工智能 (Artificial Intelligence, AI) 领域的重要研究方向之一,长期受到众多研究人员的关注。本节将介绍使用多模态模型的生成式 AI,包括文本到图像 (text-to-image) 和文本到音乐 (text-to-music) 的生成模型。将介绍 Stable Diffusion 及其工作原理,同时也将介绍 MusicGen 和 AudioGen 模型。

盼小辉丶的博客 2465

hbase问题总结【转】

转载地址: http://www.cnblogs.com/shenguanpu/archive/2012/06/12/2546309.html 1 java.io.IOException: java.io.IOException: java.lang.IllegalArgumentException: offset (0) + length (8) exceed the capacity ...

weixir123的博客 647

【PINN物理信息网络】基于PINN物理信息网络求解泊松方程(python)

【PINN物理信息网络】基于PINN物理信息网络求解泊松方程(python)

k8291121的博客 2813

【论文复现】Applied Intelligence 2025:Auto-PU正例无标签学习的自动化实现与GPT-5.4辅助编程实战

正例-无标签学习(Positive-Unlabelled Learning, PU Learning)是机器学习领域处理"只有正例标签,负例完全未知"场景的重要技术。本文基于2025年发表于Applied Intelligence的最新研究成果,详细阐述如何从零复现Auto-PU框架(包含GA-Auto-PU、BO-Auto-PU、EBO-Auto-PU三种优化器)。

nmdbbzcl的博客 1390

HBase存储

在HBase中创建的一张表可以分布在多个Hregion,也就说一张表可以被拆分成多块,每一块称我们呼为一个Hregion。每个Hregion会保 存一个表里面某段连续的数据,用户创建的那个大表中的每个Hregion块是由Hregion服务器提供维护,访问Hregion块是要通过 Hregion服务器,而一个Hregion块对应一个Hregion服务器,一张完整的表可以保存在多个Hregion ...

weixir123的博客 444

【Matlab】如何使用Simulink进行电池建模和SOC预估

“通过Simulink电池建模进行SOC预估,其实挺容易!” 1 声明 本文只描述一般性电池建模方法,文中出现的电池相关数据来自一些论文或者外文文献,对数据的真实性不做任何保证。 本文参考了不少国内高校的硕士论文和外文文献,所以本篇文章只作为学术性交流,未经...

wanff1204的博客 2万+

hadoop1.2.1+zookeeper-3.4.5+hbase-0.94.1集群安装

一,环境: 1,主机规划: 集群中包括3个节点:hadoop01为Master,其余为Salve,节点之间局域网连接,可以相互ping通。 机器名称 IP地址 hadoop01 192.168.1.31 hadoop02 192.168.1.32 hadoop03 192.168.1.33 ...

weixir123的博客 321

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

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

(转载)hbase轻量级中间件simplehbase v0.2简介

https://github.com/zhang-xzhi/simplehbase/ https://github.com/zhang-xzhi/simplehbase/wiki simplehbase简介 simplehbase是java和hbase之间的轻量级中间件。 主要包含以下功能。     数据类型映射:java类型和hbase的bytes之间的数据转换。     简单操作封装:封装...

weixir123的博客 232

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

hadoop 节点时间同步

时间同步:在每台服务器的 /etc/crontab 中加入一行:0 5 * * * root ntpdate ntp.ubuntu.com &amp;&amp; hwclock -w

weixir123的博客 212

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

HBase .META. Region启动不成功

启动region server的时候报如下错误:   2013-09-09 11:23:05,863 DEBUG org.apache.hadoop.hbase.regionserver.HRegionServer: NotServingRegionException; Region is not online: -ROOT-,,02013-09-09 11:23:08,874 DEBUG ...

weixir123的博客 204

Hbase二级索引

HBase在0.92之后引入了coprocessors,提供了一系列的钩子,让我们能够轻易实现访问控制和二级索引的特性。下面简单介绍下两种coprocessors,第一种是Observers,它实际类似于触发器,第二种是Endpoint,它类似与存储过程。由于这里只用到了Observers,所以只介绍Observers,想要更详细的介绍请查阅(https://blogs.apache.org/...

weixir123的博客 183

(转)用mapreduce来操作hbase的两点优化

用MR来对hbase的表数据进行分布式计算。有两点配置可以优化操作,提升性能。它们分别是: (1)scan.setCacheBlocks(false);    然后调用下面这句来初始化map任务    TableMapReduceUtil.initTableMapperJob 这个配置项是干什么的呢?   本次mr任务scan的所有数据不放在缓存中,一方面节省了交换缓存的操作消耗,可以提升...

weixir123的博客 173

提升HBase写性能

本文主要介绍软件层面的性能调优。故,在此之前,请检查硬件状况。硬盘推荐SSD,一般SATA即可。网络千兆以上。可以安装Ganglia等工具,检查各节点的各硬件的运作状态:CPU,Memo,网络等等。   一、调整参数 入门级的调优可以从调整参数开始。投入小,回报快。   1. Write Buffer Size 快速配置 Java代码   HTable htabl...

weixir123的博客 160

hbase 移植数据

1.把数据表test从hbase下拷出(hadoop dfs -get /hbase/test ./) 可借助hadoop fs -ls /hbase 查看 2.文件放到新集群的系统上。 3.文件拷入新的hadoop集群hbase下(hadoop dfs -put test /hbase/test) 4.到hbase shell下list,可以看到test表已经存在,但是你scan的时候...

weixir123的博客 159

常用hbase shell 命令

create Table  create 'mytable', {NAME =&gt; 'colfam1', VERSIONS =&gt; 1, TTL =&gt; 2592000, BLOCKCACHE =&gt; true}, {NAME =&gt; 'colfam2'}    truncate mytable   == disable / drop table   Alte...

weixir123的博客 157

hbase二级索引Observer

使用必须是线性安全: package coprocessor; import java.io.IOException; import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.client.HTableInterface; import org.apache.ha...

weixir123的博客 143

企业如何同时管理用电安全、电能质量和节能降碳?从异常溯源看施耐德电气EEO的协同管理价值

通过整合电力运行信息,并结合EEO资产健康模块、EEO电能质量模块与EEO能碳管理模块,企业可以围绕设备、回路和负荷建立更连续的分析流程,使不同专业人员能够基于相互关联的数据开展判断。企业需要进一步核对异常出现的时间、涉及的配电回路、生产负荷变化以及设备运行状态,才能判断问题来自正常的生产调整、设备运行异常,还是需要采取措施的电能质量问题。从关键回路的异常排查入手,逐步完善设备数据、专业分析和治理验证流程,企业可以让用电安全、电能质量与节能降碳从分散的管理任务,转变为相互关联的日常运营工作。

科技,技术,行业类博主 166

Flink 学习日志 03:自定义一个SourceFunction,完成对Redis中数据的读取

本文介绍了在Flink中自定义SourceFunction读取Redis数据的完整流程:通过Jedis客户端连接WSL2中的Redis服务,编写RedisSource实现循环读取所有Key-value并逐条输出,结合Thread.sleep()实现每秒一条的流式效果。关键步骤包括环境准备、添加Jedis依赖、配置IDEA运行时加载provided依赖,并注意生产环境中应避免使用阻塞的keys *,改用scan命令。最终实现动态读取、实时打印,验证了Flink与Redis的数据集成能力。

木木的学习笔记 431

京东 Apache Doris 湖仓查询优化实践:从多引擎统一到百万级查询

京东基于 Apache Doris 构建统一湖仓查询引擎,支撑日均百万级查询与 PB 级数据扫描。深入解析 Presto、StarRocks 迁移、分区裁剪、Split 调度、向量化执行及 AI Agent 混合负载优化实践。

SelectDB 415
上一篇: (转载)hbase轻量级中间件simplehbase v0.2简介
下一篇: (转载)hbase的基本操作
weixir123
博客等级 码龄16年 1粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值