HBase总结(十一)hbase Java 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");
复制代码
普通情况下,HBaseConfiguration会使用构造函数进行初始化,然后在使用其它方法。
| 返回值 | 函数 | 描写叙述 |
| 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操作时设置server端的过滤器 |
- HTable table = new HTable(conf, Bytes.toBytes(tablename));
- Get g = new Get(Bytes.toBytes(row));
复制代码
HBase总结(十一)hbase Java API 介绍及使用演示样例的更多相关文章
- Java连接redis的使用演示样例
Java连接redis的使用演示样例 Redis是开源的key-value存储工具,redis通经常使用来存储结构化的数据,由于redis的key能够包括String.hash.listset和sor ...
- java文件夹相关操作 演示样例代码
java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...
- 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门演示样例
一. 工作区域具体解释 1. Scence视图 (场景设计面板) scence视图简单介绍 : 展示创建的游戏对象, 能够对全部的游戏对象进行 移动, 操作 和 放置; -- 演示样例 : 创建一个球 ...
- Java 嵌套类和内部类演示样例<二>
嵌套类(nested class)是一个在还有一个类或接口内部声明的类. 嵌套类分为两种:静态内部类(static inner class)和非静态嵌套类(non-static nested clas ...
- Java 嵌套类和内部类演示样例<三>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-s ...
- java 泛型深入之Set有用工具 各种集合泛型深入使用演示样例,匿名内部类、内部类应用于泛型探讨
java 泛型深入之Set有用工具 各种集合泛型深入使用演示样例,匿名内部类.内部类应用于泛型探讨 //Sets.java package org.rui.generics.set; import j ...
- java 又一次抛出异常 相关处理结果演示样例代码
java 又一次抛出异常 相关处理结果演示样例代码 package org.rui.ExceptionTest; /** * 又一次抛出异常 * 在某些情况下,我们想又一次掷出刚才产生过的违例,特别是 ...
- ArcSDE SDK For Java二次开发介绍、演示样例
在一个工作中,遇到了须要java后台来查询ArcGIS 中用到的Oracle数据库空间数据,因为对ArcGIS空间数据首次接触,仅仅知道Oracle能够使用ST_GEOMETRY字段存储,例如以下图 ...
- 通过Canvas及File API缩放并上传图片完整演示样例
创建一个只管的用户界面,并同意你控制图片的大小.上传到server端的数据,并不须要处理enctype为 multi-part/form-data 的情况.只一个简单的POST表单处理程序就能够了. ...
随机推荐
- ViewPager (下)-- 利用 Fragment 实现美丽的 页面切换
之前用的ViewPager适用于简单的广告切换,但实现页面间的切换最好是用官方推荐的Fragment来处理. 本人力争做到最简单.最有用,是想以后用到的时候能够方便的拿过来复制就能够了. 效果图: w ...
- PHPki
PHPki PHPki是一个基于开放源码Web的应用程序,用来管理遵守HIPAA的多代理"公钥基础结构".它可以用于创建X.509数字证书,并主要为支持S/MIME的电子邮件客户端 ...
- SqlMapConfig.xml全局配置文件解析(mybatis)
原文 http://www.cnblogs.com/selene/p/4607004.html 一:SqlMapConfig.xml配置文件的内容和配置顺序如下 properties(属性) set ...
- 让单选input框,不在被选中,添加disabled即可。输入框input的一些技巧
1.让单选input框,不在被选中,添加disabled即可 2.input的file文件对象的清空,只需要input.val("");就可以了.
- JS/CSS 全屏幕导航 – 从上到下动画
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...
- 详解javascript的深拷贝与浅拷贝
1. 认识深拷贝和浅拷贝 javascript中一般有按值传递和按引用传递两种复制,按值传递的是基本数据类型(Number,String,Boolean,Null,Undefined),一般存放于内存 ...
- iOS 中使用 XIB 自定义cell的两种方法以及编译出现常见 的错误 (xcode6.0之后)
一. 注册cell 1.创建自定义cell并勾选 xib :(勾选xib就会自动生成与cell文件关联的xib) 2.在 tableViewController里注册自定义Cell (或者遵守tabl ...
- input选中 和 select点击下拉选择获取选中选项的值
1.input选中$('#checkBox').find('input').each(function(i){ if($(this).prop('checked')){//获取是否选中 并判断 $(t ...
- 第一个hello word 驱动载入失败--------
今天尝试自己载入第一个驱动模块,依据惯例hello word 然后失败了,如今说明我的操作过程.请个位看看. 首先我的内核版本号: 模块代码与MAKEFILE #include<linux/in ...
- Datasets for MachineLearning
Public datasets for machine learning http://homepages.inf.ed.ac.uk/rbf/IAPR/researchers/MLPAGES/mld ...