HBase client总览

6 篇文章 0 订阅
2 篇文章 0 订阅


HBase Client总览

1. affects concurrent readers and writers of that same row ==> atomic on a per-row basis


2. RWCC : ReadWriteConsistencyControl

read without wait for writes

write wait for other writes


3. CRUD

Put (single/batch)  :

rowlock, writeToWAL, timeStamp, client-side write buffer, atomic compare-and-set

Get(single/batch) :

rowlock, timeRage, filter, cacheBlocks

Scan:

Caching , Batching 


4. Schema

Tables attributed Classes --> Hadoop Writalbe

Talbe Properities: name, column families, maximum file size, read-only, memstore flush size, deferred log flush 

Column families: name, maximum versions, compression, block size, block cache, time-to-live, in-memory, bloom filter, replication scope


HBase Client源码 

1. HConnection : HConnectionManager.HConnectionImplement

use by HTableInterface,  HMasterInterface, RootRegionTracker, MasterrAddressTrakder, ZookeeperWatcher 

pause, numberTrtries, maxRPCAttempts, rpcTimeout, configuration

cacheRegionLocations, cachedServer


2. HTableInterface : HTable

connection, tableName, configuration

operationTimeout, cleanPoolOnClose, cleanConnectionOnClose

writerBuffer, writeBufferSize, currentWriteBufferSize, DOPUT_WB_CHECK, scannerCaching, maxKeyValueSize


3. HConnectionManager

Map<HConnectionKey, HConnectionImplement> HBASE_INSTANSE;


4. HConnectionKey

properties :  map

userrname: String


5. ClientScanner


6. ScannerCallable extends ServerCallable


7. ServerCallable extends VersionedProtocol

connection, table, row, hRegionLocation

HRegionInterface server;  // java动态代理机制 入口

Result[] call()

       openScanner

       server.next(scannerid, caching)


8. Result

KeyValue [] kvs
NavigableMap<byte[], NavigableMap<byte[], NavigableMap<Long, byte[]>>> familyMap
 byte [] row
ImmutableBytesWritable bytes



RPC机制

1. 通信

rpc角色: client/server

通信信道:socket

接口/协议: 对象序列化

控制: 传输,并发, 会话

保障: 出错重试


2. 工作流程

客户端获取通信接口实例

客户端通过调用实例方法, 向服务端传输请求

服务端被调用, 进行处理并返回结果


3. 序列化

Hbase: org.apache.hadoop.hbase.io.HbaseObjectWritable

1) 类code映射表->CLASS_TO_CODE

2)类实例code映射表->CODE_TO_CLASS : 要传输的类(实现Writable), 原始类型, 其他(String, 数组)


Hadoop: org.apache.hadoop.io.WriteAble

1) write(DataOutput out)

2) readFile(DataInput in)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值