Hbase 笔记(5) 客户端API 管理功能
来源:互联网 发布:windows应用商店下载 编辑:程序博客网 时间:2024/04/29 16:33
1、创建表
hbaseAdmin.createTable(htableDescriptor);
hbaseAdmin.createTable(htableDescriptor, splitKeys);
hbaseAdmin.createTable(htableDescriptor, startKey,endKey,numRegions);
hbaseAdmin.createTableAsync(htableDescriptor,splitKeys);
2、表是否存在:hbaseAdmin.tableExists(strTableName)
3、修改表结构
先禁用,再启用
HTableDescriptor tableDescriptor = hbaseAdmin.getTableDescriptor(Bytes.toBytes(strTableName)); tableDescriptor.addFamily(new HColumnDescriptor("cf3")); tableDescriptor.setMaxFileSize(1024*1024*1024L); hbaseAdmin.disableTable(strTableName); hbaseAdmin.modifyTable(strTableName, tableDescriptor); hbaseAdmin.enableTable(strTableName);
4、集群管理
hbaseAdmin.closeRegion(regionName, hostAnfPort); // 关闭 Region
hbaseAdmin.flush(strTableNameOrRegion); //Fulsh 表或Region
hbaseAdmin.compact(strTableNameOrRegion); // 合并 表或Region
hbaseAdmin.majorCompact(strTableNameOrRegion); //Major 合并表或Region
hbaseAdmin.split(strTableNameOrRegion , splitPoint); //分割表或Region
hbaseAdmin.aggign(region, force); // 上线Region
hbaseAdmin.unaggign(region , force); //下线 Region
hbaseAdmin.move(regionName , RegionServer); //移动 Region
hbaseAdmin.balancer() // 负载均衡
hbaseAdmin.balanceSwitch( boolean open) // 开启/关闭负载均衡
hbaseAdmin.shutdown()
hbaseAdmin.shopMaster()
hbaseAdmin.shopRegionServer()
一堆get方法。
6、表、列族的属性
创建表代码
HBaseAdmin hbaseAdmin = new HBaseAdmin(conf); HTableDescriptor htableDescriptor = new HTableDescriptor(TableName.valueOf(strTableName)); htableDescriptor.setMaxFileSize(1024 * 1024 * 1024L); htableDescriptor.setReadOnly(false); htableDescriptor.setMemStoreFlushSize(1024 * 1024L); htableDescriptor.setDeferredLogFlush(false); HColumnDescriptor cf1 = new HColumnDescriptor("cf1"); HColumnDescriptor cf2 = new HColumnDescriptor("cf2"); cf1.setMaxVersions(100); cf2.setMaxVersions(999); cf1.setBlocksize(64 * 1024); cf2.setBlocksize(64 * 1024); cf1.setCompressionType(Compression.Algorithm.SNAPPY); cf2.setCompressionType(Compression.Algorithm.SNAPPY); cf1.setCompactionCompressionType(Compression.Algorithm.SNAPPY); cf2.setCompactionCompressionType(Compression.Algorithm.SNAPPY); cf1.setBlockCacheEnabled(true); cf2.setBlockCacheEnabled(true); cf1.setTimeToLive(Integer.MAX_VALUE); cf2.setTimeToLive(Integer.MAX_VALUE); cf1.setBloomFilterType(BloomType.ROW); cf2.setBloomFilterType(BloomType.NONE); cf1.setScope(1); cf2.setScope(0); htableDescriptor.addFamily(cf1); htableDescriptor.addFamily(cf2); hbaseAdmin.createTable(htableDescriptor);
(1).表名
htableDescriptor.setName(TableName.valueOf("tableName"));
(2). 表的Region大小
实际上是Region的大小,默认256M,超过该值将分裂
htableDescriptor.setMaxFileSize(1024*1024*1024L);
(3).表的只读
htableDescriptor.setReadOnly(true);
(4). 表的memstore 刷写大小
写缓冲区,默认64M
htableDescriptor.setMemStoreFlushSize(1024*1024L);
(5).表的延时日志刷写
默认false
htableDescriptor.setDeferredLogFlush(false);
(6).列族的最大版本数
默认3,可设为1,不访问旧数据
cf1.setMaxVersions(1); cf2.setMaxVersions(999);(7).列族压缩
默认为NODE。CompressionType 是一般的压缩,CompactionCompressionType是合并压缩。
cf1.setCompressionType(Compression.Algorithm.SNAPPY); cf2.setCompressionType(Compression.Algorithm.SNAPPY); cf1.setCompactionCompressionType(Compression.Algorithm.SNAPPY); cf2.setCompactionCompressionType(Compression.Algorithm.SNAPPY);
(8). 列族的块大小
默认64K
cf1.setBlocksize(64*1024); cf2.setBlocksize(64*1024);
(9).列族的缓存块
HBase顺序地读取数据块到内存缓存中,减少磁盘I/O。
cf1.setBlockCacheEnabled(true); cf2.setBlockCacheEnabled(true);
(10). 列族的版本生存期TTL
默认Integer.MAX_VALUE
cf1.setTimeToLive(Integer.MAX_VALUE); cf2.setTimeToLive(Integer.MAX_VALUE);
(11).列族放置在内存中
适合于较小的列族,例如登陆的用户表,默认false。
cf1.setInMemory(false); cf2.setInMemory(false);
(12). 列族的Bloom 过滤器
能够减少特定访问模式下的查询时间,但是增加了内存和存储的负担。默认关闭
cf1.setBloomFilterType(BloomType.ROW); cf2.setBloomFilterType(BloomType.ROWCOL); //cf2.setBloomFilterType(BloomType.NONE);
(13).复制范围
0为本地, 1为全局
cf1.setScope(1); cf2.setScope(0);
- Hbase 笔记(5) 客户端API 管理功能
- 《HBase权威指南》读书笔记5:第五章 客户端API: 管理功能
- Hbase API管理功能1
- Hbase葱岭探秘--Hbase管理功能Api
- Hbase API管理功能3-集群管理
- Hbase API管理功能2-HBaseAdmin
- Hbase 笔记(3) 客户端API基础
- Hbase 笔记(4) 客户端API高级性能
- Hbase 基础客户端API
- HBase--客户端API(基础知识)
- HBase客户端API使用
- HBase客户端API使用
- hbase客户端api实例
- Hbase客户端操作api
- hbase客户端api--建表
- hbase客户端查询API
- Hbase API管理功能4-集群状态信息
- Hbase 学习笔记(一): 基础客户端API
- ios网络学习------4 UIWebView的加载本地数据的三种方式
- 利用navicat for oracle将数据库所有数据移动
- APP压力测试入门教程
- 去空格
- effective C++ 读书笔记 条款11
- Hbase 笔记(5) 客户端API 管理功能
- 有没有怎样将pdf格式转换成txt格式
- Testin云测试破7000万次:崩溃成90%手游应用质量难题
- 如何备份linux系统
- UVA - 10051 Tower of Cubes DAG最长路径
- 第04讲- Android项目目录结构分析
- Android 的消息机制
- oracle排序并分页sql语句
- CDH使用秘籍(一):Cloudera Manager和Managed Service的数据库