
HBase
筑梦之人
这个作者很懒,什么都没留下…
展开
-
HBase读数据优化点
1. 调整scan缓存优化原理:在解释这个问题之前,首先需要解释什么是scan缓存,通常来讲一次scan会返回大量数据,因此客户端发起一次scan请求,实际并不会一次就将所有数据加载到本地,而是分成多次RPC请求进行加载,这样设计一方面是因为大量数据请求可能会导致网络带宽严重消耗进而影响其他业务,另一方面也有可能因为数据量太大导致本地客户端发生OOM。在这样的设计体系下用户会首先加载一部分数据到本地,然后遍历处理,再加载下一部分数据到本地处理,如此往复,直至所有数据都加载完成。数据加载到本地就存放在sca原创 2020-06-23 16:21:05 · 367 阅读 · 0 评论 -
hbase写数据优化点
1 是否需要写WAL,WAL是否需要同步写入优化原理:数据写入流程可以理解为一次顺序写WAL(HLog)加上一次写缓存(MemStore),通常情况下写缓存延迟很低,因此提升写性能就只能从WAL入手。WAL机制一方面是为了确保数据即使写入缓存丢失也可以恢复,另一方面是为了集群之间异步复制。默认WAL机制开启且使用同步机制写入WAL。首先考虑业务是否需要写WAL,通常情况下大多数业务都会开启WAL机制(默认),但是对于部分业务可能并不特别关心异常情况下部分数据的丢失,而更关心数据写入吞吐量,比如某些推荐业务原创 2020-06-23 13:03:41 · 267 阅读 · 0 评论 -
HBase表设计及优化点
1 在创建表的时候指定分区默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按照region分区情况,在集群内做数据的负载均衡。实现方式是使用admin对象的切分策略byte[] startKey = ...; // your lowest keybyte[]原创 2020-06-23 10:40:34 · 483 阅读 · 0 评论 -
HBase Shell 命令私藏
启动服务./bin/start-hbase.sh停止服务./bin/stop-hbase.sh进入命令行./bin/hbase shell创建表create 'student', 'cf'查看表的描述信息describe 'student'插入数据put 'student', 'row1', 'cf:sno', 's0001'put 'student', 'row1', 'cf:sname', 'zhangsan'put 'studnet', 'r.原创 2020-06-22 10:58:54 · 149 阅读 · 0 评论 -
HBase Minor Compaction和Major Compaction
背景HBase在将数据落盘到HDFS上之后,为了解决小文件并提高数据访问效率,定义了两种方式来合并HFile文件。1. Minor Compaction控制Minor Compaction的几个参数及说明:参数名默认值描述信息hbase.hstore.compaction.min3表示至少要有三个文件满足minor合并要求时才会启动minor合并hbase.hstore.compaction.mix10表示一次minor合并最多选择10个store file进行合原创 2020-06-22 10:28:45 · 1269 阅读 · 0 评论