HBase(1.0.2) API数据模型
| java类 | HBase数据模型 |
| HBaseAdmin | 数据库(DataBase) |
| HBaseConfiguration | |
| HTable | 表(Table) |
| HTableDescriptor | 列族(Column Family) |
| Put | 列修饰符(Column Qualifier) |
| Get | |
| Scanner |
| 返回值 | 函数 | 描述 |
| void | addResource(Path file) | 通过给定的路径所指的文件来添加资源 |
| void | clear() | 清空所有已设置的属性 |
| string | get(String name) | 获取属性名对应的值 |
| String | getBoolean(String name, boolean defaultValue) | 获取为boolean类型的属性值,如果其属性值类型部位boolean,则返回默认属性值 |
| void | set(String name, String value) | 通过属性名来设置值 |
| void | setBoolean(String name, boolean value) | 设置boolean类型的属性值 |
- HBaseConfiguration hconfig = new HBaseConfiguration();
- hconfig.set("hbase.zookeeper.property.clientPort","2181");
复制代码
| 返回值 | 函数 | 描述 |
| void | addColumn(String tableName, HColumnDescriptor column) | 向一个已经存在的表添加咧 |
| checkHBaseAvailable(HBaseConfiguration conf) | 静态函数,查看HBase是否处于运行状态 | |
| createTable(HTableDescriptor desc) | 创建一个表,同步操作 | |
| deleteTable(byte[] tableName) | 删除一个已经存在的表 | |
| enableTable(byte[] tableName) | 使表处于有效状态 | |
| disableTable(byte[] tableName) | 使表处于无效状态 | |
| HTableDescriptor[] | listTables() | 列出所有用户控件表项 |
| void | modifyTable(byte[] tableName, HTableDescriptor htd) | 修改表的模式,是异步的操作,可能需要花费一定的时间 |
| boolean | tableExists(String tableName) | 检查表是否存在 |
- HBaseAdmin admin = new HBaseAdmin(config);
- admin.disableTable("tablename")
复制代码
| 返回值 | 函数 | 描述 |
| void | addFamily(HColumnDescriptor) | 添加一个列族 |
| HColumnDescriptor | removeFamily(byte[] column) | 移除一个列族 |
| byte[] | getName() | 获取表的名字 |
| byte[] | getValue(byte[] key) | 获取属性的值 |
| void | setValue(String key, String value) | 设置属性的值 |
- HTableDescriptor htd = new HTableDescriptor(table);
- htd.addFamily(new HcolumnDescriptor("family"));
复制代码
| 返回值 | 函数 | 描述 |
| byte[] | getName() | 获取列族的名字 |
| byte[] | getValue(byte[] key) | 获取对应的属性的值 |
| void | setValue(String key, String value) | 设置对应属性的值 |
- HTableDescriptor htd = new HTableDescriptor(tablename);
- HColumnDescriptor col = new HColumnDescriptor("content:");
- htd.addFamily(col);
复制代码
| 返回值 | 函数 | 描述 |
| void | checkAdnPut(byte[] row, byte[] family, byte[] qualifier, byte[] value, Put put | 自动的检查row/family/qualifier是否与给定的值匹配 |
| void | close() | 释放所有的资源或挂起内部缓冲区中的更新 |
| Boolean | exists(Get get) | 检查Get实例所指定的值是否存在于HTable的列中 |
| Result | get(Get get) | 获取指定行的某些单元格所对应的值 |
| byte[][] | getEndKeys() | 获取当前一打开的表每个区域的结束键值 |
| ResultScanner | getScanner(byte[] family) | 获取当前给定列族的scanner实例 |
| HTableDescriptor | getTableDescriptor() | 获取当前表的HTableDescriptor实例 |
| byte[] | getTableName() | 获取表名 |
| static boolean | isTableEnabled(HBaseConfiguration conf, String tableName) | 检查表是否有效 |
| void | put(Put put) | 向表中添加值 |
- HTable table = new HTable(conf, Bytes.toBytes(tablename));
- ResultScanner scanner = table.getScanner(family);
复制代码
| 返回值 | 函数 | 描述 |
| Put | add(byte[] family, byte[] qualifier, byte[] value) | 将指定的列和对应的值添加到Put实例中 |
| Put | add(byte[] family, byte[] qualifier, long ts, byte[] value) | 将指定的列和对应的值及时间戳添加到Put实例中 |
| byte[] | getRow() | 获取Put实例的行 |
| RowLock | getRowLock() | 获取Put实例的行锁 |
| long | getTimeStamp() | 获取Put实例的时间戳 |
| boolean | isEmpty() | 检查familyMap是否为空 |
| Put | setTimeStamp(long timeStamp) | 设置Put实例的时间戳 |
- HTable table = new HTable(conf,Bytes.toBytes(tablename));
- Put p = new Put(brow);//为指定行创建一个Put操作
- p.add(family,qualifier,value);
- table.put(p);
复制代码
| 返回值 | 函数 | 描述 |
| Get | addColumn(byte[] family, byte[] qualifier) | 获取指定列族和列修饰符对应的列 |
| Get | addFamily(byte[] family) | 通过指定的列族获取其对应列的所有列 |
| Get | setTimeRange(long minStamp,long maxStamp) | 获取指定取件的列的版本号 |
| Get | setFilter(Filter filter) | 当执行Get操作时设置服务器端的过滤器 |
- HTable table = new HTable(conf, Bytes.toBytes(tablename));
- Get g = new Get(Bytes.toBytes(row));
复制代码
| 返回值 | 函数 | 描述 |
| boolean | containsColumn(byte[] family, byte[] qualifier) | 检查指定的列是否存在 |
| NavigableMap<byte[],byte[]> | getFamilyMap(byte[] family) | 获取对应列族所包含的修饰符与值的键值对 |
| byte[] | getValue(byte[] family, byte[] qualifier) | 获取对应列的最新值 |
| 返回值 | 函数 | 描述 |
| void | close() | 关闭scanner并释放分配给它的资源 |
| Result | next() | 获取下一行的值 |
HBase(1.0.2) API数据模型的更多相关文章
- Spark 下操作 HBase(1.0.0 新 API)
hbase1.0.0版本提供了一些让人激动的功能,并且,在不牺牲稳定性的前提下,引入了新的API.虽然 1.0.0 兼容旧版本的 API,不过还是应该尽早地来熟悉下新版API.并且了解下如何与当下正红 ...
- Hbase关于Java常用API举例
1. HBase相关对Admin操作的的API封装在HBaseAdmin中,封装了HBase常用操作的API 使用方法: pom.xml <!-- https://mvnrepository.c ...
- 伪分布式hbase从0.94.11版本升级stable的1.4.9版本
Hbase从0.94.11升级到stable的1.4.9版本: 升级思路: hadoop1.1.2 hbase 0.94.11 ↓ had ...
- 八年技术加持,性能提升10倍,阿里云HBase 2.0首发商用
摘要: 早在2010年开始,阿里巴巴集团开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储,HBase在几代阿里专家的不懈努力下,已经表现得运行更稳定.性能更高效 ...
- ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现
from:https://damienbod.com/2015/12/13/asp-net-5-mvc-6-api-documentation-using-swagger/ 代码生成工具: https ...
- Zepto,Zepto API 中文版,Zepto 中文手册,Zepto API,Zepto API 中文版,Zepto 中文手册,Zepto API 1.0, Zepto API 1.0 中文版,Zepto 1.0 中文手册,Zepto 1.0 API-translate by yaotaiyang
Zepto,Zepto API 中文版,Zepto 中文手册,Zepto API,Zepto API 中文版,Zepto 中文手册,Zepto API 1.0, Zepto API 1.0 中文版,Z ...
- 从头编写 asp.net core 2.0 web api 基础框架 (1)
工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相 ...
- 从头编写 asp.net core 2.0 web api 基础框架 (3)
第一部分:http://www.cnblogs.com/cgzl/p/7637250.html 第二部分:http://www.cnblogs.com/cgzl/p/7640077.html 之前我介 ...
- 【转载】从头编写 asp.net core 2.0 web api 基础框架 (3)
Github源码地址:https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratc ...
随机推荐
- Redis 入门 3.1 热身
3.1 热身 1. 获得符合规则的键名列表 KEYS pattern pattern 支持 glob 风格通配符格式 语言 字符组 ? 匹配一个字符 * 匹配任意个(包括0个)字符 [] 匹配括号间的 ...
- 重叠IO 模型
1. 重叠模型的优点 2. 重叠模型的基本原理 3. 关于重叠模型的基础知识 4. 重叠模型的实现步骤 5. 多客户端情况的注意事项 一.重叠模型的优点 1.可以运行在支持Winsock2的所有W ...
- Day04:继承的意义(下)
对象转型 向上造型 什么是向上造型? 子类对象赋给父类引用. 父类引用指向子类对象. 子类转成父类 默认进行(父类引用指向子类对象). 为什么需要向上造型? 子类对象可以放入父类类型的数组中. 父类数 ...
- BZOJ3129方程(SDOI2013)
https://blog.csdn.net/Maxwei_wzj/article/details/80152116 对变量有上界限制及下界限制.对于下界,可以从总数中减去即可,对于上界,容斥定理.
- 运行RGB-DSLAM的一些报错及处理方法
part 4 报错‘create’ is not a menber of 'CV::FeatureDetector::create(detector.c_str()); 查看opencv版本 修改Cm ...
- es5实现数组去重
var a = [1, 2, 4, 4, 3, 3, 1, 5, 3] console.log(a.filter((item, index, arr) => { return arr.index ...
- python 并发编程 多线程 GIL与多线程
GIL与多线程 有了GIL的存在,同一时刻同一进程中只有一个线程被执行 多进程可以利用多核,但是开销大,而python的多线程开销小,但却无法利用多核优势 1.cpu到底是用来做计算的,还是用来做I/ ...
- Git 的这个神技,学会爽歪歪~
现在大多数公司都有 GIT 来管理代码版本控制了,既然用到 GIT,相信大家都接触过 Github.Gitlab.Gitee 这些远程仓库,或者是公司内部自行搭建的 GIT 仓库. 当用到 SSH 方 ...
- leetcode 980. Unique Paths III
On a 2-dimensional grid, there are 4 types of squares: 1 represents the starting square. There is e ...
- 转载MySQL面试题
1.MySQL的复制原理以及流程 (1).复制基本原理流程 主:binlog线程--记录下所有改变了数据库数据的语句,放进master上的binlog中: 从:io线程--在使用start slave ...