关于hbase拆分和合并文件问题(江湖救急)

沉沦 沉沦 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

关于hbase文件的拆分和合并

问题 1.
设置memstore为5MB
hbase.hregion.preclose.fulsh.size = 5MB

设置最大拆分为6MB
hbase.hregion.max.filesize = 6MB


问:因为在每个familycolumns里,每次memstore满了之后会刷新到磁盘上.
因为memstore=5MB,最大拆分阈值是=6M.
那么我可以认为hbase永远不会对数据进行拆分,除非单个语句一次性进来一个大于6M的数据.hbase只有强行写一个大于6M的文件才可能去拆分? (我理解的对吗?)

#######################################################################

问题 2.
设置memstore为5MB
hbase.hregion.preclose.fulsh.size = 5MB

设置最大拆分为6MB
hbase.hregion.max.filesize = 6MB

问:如果memstore=5MB,最大拆分阈值是=6M,
那么每个文件都会拆分成2.5M ?

#########################################################################

问题 3.
设置memstore为5MB
hbase.hregion.preclose.fulsh.size = 5MB

设置最大拆分为5MB
hbase.hregion.max.filesize = 5MB

region 合并处理的文件数
hbase.hstore.compaction.max.size = 10

region 合并文件最小值
hbase.hstore.compaction.min.size = 2M


问:如果设置memstore为5MB,设置最大拆分为5MB,合并文件最小值为2M,合并文件数是10
那么当每个文件拆分成2.5M之后,然后又要合并.10个2.5M = 25M.
那么合并的数据又大于最大拆分数(5M以上),然后又对这25M拆分? 无限循环?

#################################################################

问题 4.
设置memstore为5MB
hbase.hregion.preclose.fulsh.size = 5MB

设置最大拆分为5MB
hbase.hregion.max.filesize = 5MB

region 合并处理的文件数
hbase.hstore.compaction.max.size = 10

region 合并文件最小值
hbase.hstore.compaction.min.size = 3M


问:如果设置memstore为5MB,设置最大拆分为5MB,合并文件最小值为3M,合并文件数是10
那么当每个文件拆分成2.5M之后,然而合并文件最小值为3M.那么数据将永远不会合并.

###########################################################

问题 5.
设置memstore为5MB
hbase.hregion.preclose.fulsh.size = 5MB

设置最大拆分为5MB
hbase.hregion.max.filesize = 5MB

region 合并处理的文件数
hbase.hstore.compaction.max.size = 10

region 合并文件最小值
hbase.hstore.compaction.min.size = 2M


问:如果设置memstore为5MB,设置最大拆分为5MB,合并文件最小值为2M,合并文件数是10
那么当每个文件拆分成2.5M之后,然而合并文件最小值为1M.那么它将会合并 10 * 2.5M = 25M
这时,这个新文件(25M)是大于最小合并字节的1M.
那么下次合并,这个25M的文件还会参与合并操作吗?

#####################################################

问题 6.
大家都是如何设置这几个值的.能否给一个参考
...全文
评论
收藏 已收藏
分享
返回顶部
沉沦
Hadoop生态社区 20,842 成员 4,695 内容