在hbase中,我已配置 hbase.hregion.max.filesize 为10gb。如果单行超过10gb大小,则该行将不会划分为2个区域,因为hbase拆分是基于行键完成的例如,如果我有一行有1000列,每列的大小在25mb到40MB之间。因此有可能超过定义的区域大小。如果是这种情况,那么在单独使用rowkey或使用row key和column限定符读取数据时,它将如何影响性能?
hbase.hregion.max.filesize
c9x0cxw01#
首先,hbase不适合在一行中存储10gb的大数据(这完全是假设的)。我希望您没有在一行中保存10gb(正在考虑保存)这将对性能产生不利影响。您可以考虑其他方法,比如在分区结构的hdfs中存储这么多数据。一般来说,这些是针对mapreduce hbase作业等一般适用的批处理客户机的提示
Scan scan = new Scan(); scan.setCaching(500); //1 is the default in Scan, which will be bad for MapReduce jobs scan.setCacheBlocks(false); // don't set to true for MR jobs
可以看看性能
1条答案
按热度按时间c9x0cxw01#
首先,hbase不适合在一行中存储10gb的大数据(这完全是假设的)。
我希望您没有在一行中保存10gb(正在考虑保存)
这将对性能产生不利影响。您可以考虑其他方法,比如在分区结构的hdfs中存储这么多数据。
一般来说,这些是针对mapreduce hbase作业等一般适用的批处理客户机的提示
可以看看性能