Map到配置单元上的hbase表,如何获得实际的表大小

8ljdwjyq  于 2021-06-07  发布在  Hbase
关注(0)|答案(0)|浏览(227)

我正在使用hive中的hbase表
例如:

CREATE EXTERNAL TABLE `ddid_link_msisdn`(
  `msisdn` string COMMENT 'from deserializer', 
  `ddid` string COMMENT 'from deserializer')
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.hbase.HBaseSerDe' 
STORED BY 
  'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ( 
  'hbase.columns.mapping'=':key,fc:ddid', 
  'serialization.format'='1')
TBLPROPERTIES (
  'hbase.table.name'='unifieddata:ddid_link_msisdn_ddid', 
  'transient_lastDdlTime'='1535099920')

一切正常,但。。。当我执行 analyse table ddid_link_msisdn compute static 然后使用 describe extended ddid_link_msisdn 我得到:

... a lot of info ...etc etc...

{

 totalSize=35566884, 
 numRows=427422, 
 rawDataSize=35139462, 

 COLUMN_STATS_ACCURATE=true, numFiles=1, transient_lastDdlTime=1591783620}

... other info ...

numrows正好是行数,毫不奇怪,totalsize或rawdatasize大约是35mbytes,但是如果我查看hdfs,我会看到:

root@mid1-db138hd-12 [10:42am]  ~> hdfs dfs -du -h /hbase/data/unifieddata
   337      1011     /hbase/data/unifieddata/ddid_hub
   265.7 M  797.2 M  /hbase/data/unifieddata/ddid_link_cat_ddid
>> 45.2 M   135.5 M  /hbase/data/unifieddata/ddid_link_msisdn_ddid <---

真正的尺寸是45米。
有没有好心人可以向我解释这额外的28%,如果它存在,如何得到正确的表大小从Hive?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题