HBase in Action前三章笔记
近期接触HBase,看了HBase In Action的英文版。開始认为还行,做了些笔记。可是兴许看下去,越来越感觉到实战这本书比較偏使用上的细节,对于HBase的具体设计涉及得很少。把前三章的一些笔记帖一下。后面几章内容不打算整理了。并非说书内容不好。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGVsaWNr/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
list
create 'pelick', 'cf'
put 'pelick', 'first', 'cf:msg', 'wefewfwf'
put 'pelick', 'sec', 'cf:num', 12234
get 'pelick', 'first' 默认返回version最新的数据。实际上put的时候会有带新的版本
scan 'pelick'
describe 'pelick'
HTableInterface usersTable = new HTable("users"); Configuration myConf = HBaseConfiguration.create();
HTableInterface usersTable = new HTable(myConf, "users"); HTablePool pool = new HTablePool();
HTableInterface usersTable = pool.getTable("users");
... // work with the table
usersTable.close();
Put p = new Put(Bytes.toBytes(" TheRealMT"));
p.add(Bytes.toBytes("info"),
Bytes.toBytes("name"),
Bytes.toBytes("Mark Twain"));
Put p = new Put();
p.setWriteToWAL(false);
Get g = new Get(Bytes.toBytes("TheRealMT"));
g.addColumn(
Bytes.toBytes("info"),
Bytes.toBytes("password"));
Result r = usersTable.get(g);
block是读的最小单位。
Delete d = new Delete(Bytes.toBytes("TheRealMT"));
d.deleteColumns(
Bytes.toBytes("info"),
Bytes.toBytes("email"));
usersTable.delete(d);
合并比較吃IO的。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGVsaWNr/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
对同一个列,能够写多次,每次会带版本号,是个long值,默认依赖时间戳。所以机器的时间应该要设置为同步。默认保留三份版本号,假设多了,会把之前的旧版本号替掉。
Map<RowKey, Map<ColumnFamily, Map<ColumnQualifier,Map<Version, Data>>>>
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGVsaWNr/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
long ret = usersTable.incrementColumnValue(
Bytes.toBytes("TheRealMT"),
Bytes.toBytes("info"),
Bytes.toBytes("tweet_count"),
1L);
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGVsaWNr/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
然后向某RS2问,得到目标RS在哪里。最后向目标RS问。数据的详细位置。
RegionServer是具备可用性的,一台挂了。还有一个能够取代它工作(数据在HDFS上保证。信息能够从master获取)。
要达到高可用。还能够做一些防御性部署,比方考虑多master的机架分布。
全文完 :)
最新文章
- python学习之day1-基础知识
- 虚拟机群安装多个hadoop集群时遇到的问题
- thinkphp 模板里a标签 href 带参数的 使用U函数方法
- 【Jenkins】jenkins简单搭建并执行任务
- nyoj CO-PRIME 莫比乌斯反演
- c#读写共享内存操作函数封装
- WPF DataGrid_SelectChanged获取单元内容
- Linux -- 统计文件的行数
- 使用Dapper进行参数化查询
- java网络编程(6)——实现一个服务器把小写转大写
- FPGA学习笔记(四)——Verilog基本语法
- Ubuntu18 输入法fcitx安装
- Kindergarten CodeForces - 484D (贪心,好题)
- 商品和订单中使用MQ
- pchar,pwidechar,pansichar作为返回参数时内存访问错误
- 转。。原理同样支持 delphi
- 列表中不限制宽度,hover时,字体font-weight:bold,防止抖动
- HEOI2015小L的白日梦
- python bs4 + requests4 简单爬虫
- Spring boot 集成ckeditor
热门文章
- WEB架构师成长之路 一
- WebSQL的基本使用过程
- Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) D. Little Artem and Dance 模拟
- Codeforces Beta Round #9 (Div. 2 Only) B. Running Student 水题
- 快速开发一个自己的微信小程序
- Tasker 正则表达式测试器
- sqlserver获取所有表和表字段
- WPF ClickOnce应用程序IIS部署发布攻略
- Linux/UNIX线程(2)
- jdbc如何锁定某一条数据或者表,不让别人操作?