我正在使用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?
暂无答案!
目前还没有任何答案,快来回答吧!