Hbase 学习笔记


基础及基本概念

1.大数据定义:量级(TB以上),速度(毫秒级),种类(结构或者非结构,流式数据)
2.Hadoop适合离线批量计算
3.Hbase 类似google的 bigTable
4.Hbase 特性
a)容量大: 百亿行,百万列
b)面向列:列存放
c)稀疏性:为null的列不存储
d)扩展性:基于HDFS ,易扩展
e)高可靠:集群防丢失,HDFS副本高可靠,Zookeeper保证高可靠和高可用。
f)高性能:rowkey,region
5.Hbase安装
a)依赖jdk
b)依赖zookeeper
c)依赖hadoop
d)需配置hosts
e)需配置DNS
f)分布式模式和单机模式
g)需修改最大打开文件数(linux系统)
6.Hbase关键词:
a)rowkey,rowkey不宜过长,避免热点,保证 唯一
b)列族优化,列族不宜过多
c)单元格(行键,列族,列,时间戳)
d)行级别的原子性
7.Hbase 操作:
a)get,put,scan,delelte
b)Scan 使用startRow和endRow截取分页
8.rowkey定义:
a)字典序
b)散列,翻转,取模后MD5并去前几位
c)要短
9.列族一个,避免flush影响性能
10.Hbase 的javaApi
a)HTable 增,删,改,查表数据
b)HbaseAdmin 建表,删除表
c)HTablePool HBase的线程池
11.Hbase 命令
a)Hbase shell
b)Satus
c)Version
d)Create
e)Get
f)Disable
g)Enable
h)Exists
i)Drop
j)List
k)Count
12.Thrift 访问Hbase,rest访问Hbase
13.Hbase 实现MapReduce API ,Hive生成mapReduce
实战
1.hive整合Hbase
a)注意版本一致性问题
b)离线生成mapReduce作业,百万行有分钟级的延迟
c)不可Java编程
d)不能更新
2.Phoenix
a)SQL中间层,具有jdbc驱动,可编程
b)简单查询毫秒级,百万行秒级
c)相对hive快
3.Hive
a)内部表
b)外部表
c)本地表
d)非本地表
实战系统设计零碎原则
1.列族设计:将读写频率相差较大的列族分开为两个列族



高级特性

1.过滤器
a)在RegisonServer 端直接过滤,并不是在客户端过滤
2.比较器
a)RegexStringComparator
b)SubstringComparator
c)BinaryPrefixComparator
d)BinaryComparator
e)NullComparator
3.列值过滤器
a)SingleColumnValueFilter
b)SingleColumnValueExcludeFilter
4.键值元数据顾虑器
a)FamilyFilter
b)QualifierFilter
c)ColumnPrefixFilter
d)MutiplerColumnPrefixFilter
e)ColumnRangeFilter
f)DependentColumnFilter
5.行键过滤器
a)RowFilter
b)RandomRowFilter
6.功能过滤器
a)pageFilter
b)firstkeyOnlyFilter
c)keyOnlyFilter
d)inclusiveStopFilter
e)columnPaginationFilter
7.计数器
a)可以完成快速计数,在服务端完成
b)单列计数器
c)多列计数器
8.协处理器 将部分任务放置于服务端,提供扫描效率
9.观察者(OBserver)相当于关系数据库的trigger
10.终端Endpoint 相当于关系数据库中的存储过程
11.

猜你喜欢

转载自xiangkuifu-163-com.iteye.com/blog/2378601