我正在使用HBase 0.98 . 在 hbase-site.xml 中,我没有为区域设置拆分策略或最大文件大小 . 使用默认值: MAX_FILESIZE 属性为10GiB( 10737418240 ), SPLIT_POLICYIncreasingToUpperBoundRegionSplitPolicy .

写表时,这一切都有意义 . 我没有任何配置就写了原始表 . 我刚创建它:

创建'raw','c1'

转储完成后,区域是:

310 /user/hadoop/hbase-datastore/data/default/raw/.tabledesc 0 /user/hadoop/hbase-datastore/data/default/raw/.tmp 3.4 G / user / hadoop / hbase-datastore / data /默认/ raw / 0af75fec94d251fcb576059caad679d3 505.5 M / user / hadoop / hbase-datastore / data / default / raw / 2713fccb2da4d0fcadc9c57bb23dc388 505.5 M / user / hadoop / hbase-datastore / data / default / raw / 4b413063bc1f31d475129ce5abd730d2 115.4 M / user / hadoop / hbase- datastore / data / default / raw / b7ee08d6d7540b2b1bdf98c67c00cd77 973.5 M / user / hadoop / hbase-datastore / data / default / raw / bfcd8222b95814893516c358e8d97a1f

之后,我决定将整个表转储到其他表中,以便绕过8个地区 .

我用这个命令通过hbase shell创建了一个表:

创建'8reg',{METHOD =>'table_att',CONFIGURATION => {MAX_FILESIZE =>'738197504','SPLIT_POLICY'=>'org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy'}},{NAME => 'C1'}

所以 MAX_FILESIZE 属性用704MiB覆盖, SPLIT_POLICYConstantSizeRegionSplitPolicy 覆盖 . 但是,在编写新表时,行为类似 . 我没有得到任何类似于我的预期 . 有些地区超过了 MAX_FILESIZE . 似乎HBase再次使用默认配置(10GiB和IncreaseToUpperBoundRegionSplitPolicy):

393 /user/hadoop/hbase-datastore/data/default/8reg/.tabledesc 0 /user/hadoop/hbase-datastore/data/default/8reg/.tmp 692.2 M / user / hadoop / hbase-datastore / data / default / 8reg / 4bf7246cc65dfa63f2f8d9773f49fb56 3.7 G / user / hadoop / hbase-datastore / data / default / 8reg / 67ed89ae43a31a78284514c925109826 1023.4 M / user / hadoop / hbase-datastore / data / default / 8reg / 904224f3a5c5f427f5fe22665fb16a29 68.0 M / user / hadoop / hbase-数据存储/数据/默认/ 8reg / d2c36e9e9a35665add3b13265d80ae09

原始表的描述是:

描述启用'raw',{TABLE_ATTRIBUTES => {MAX_FILESIZE =>'true 10737418240'},{NAME =>'c1',DATA_BLOCK_ENCOD ING =>'NONE',BLOOMFILTER =>'ROW',REPLICATI ON_SCOPE =>'0 ',VERSIONS =>'1',COMPRESSION =>'NONE',MIN_VERSIONS =>'0',TTL =>'FOREVE R',KEEP_DELETED_CELLS =>'false',BLOCKSIZE =>'65536',IN_MEMORY =>'false ',BLOCKCACHE =>'true'} 1行(1.6670秒)

配置表的描述是:

描述已启用'8reg',{CONFIGURATION => {'SPLIT_POLICY'=>'true org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy','MAX_FILESIZE'=>'7381 97504'}},{NAME =>'c1 ',DATA_BLOCK_ENCODING =>'NONE',BLOOMFILTER =>'ROW',REPLICATION_SC OPE =>'0',VERSIONS =>'1',COMPRESSION =>'N ONE',MIN_VERSIONS =>'0',TTL =>' FOR FORVER',K EEP_DELETED_CELLS =>'false',BLOCKSIZE => '65 536',IN_MEMORY =>'false',BLOCKCACHE =>'true'} 1行(s)in 1.6890秒

非常感谢 .