我想在不查询HIVE的情况下计算表大小。

我如何在HIVE中做到这一点?
(我没有在数据库中选择的任何权限,所以我不能使用show属性等)

(例如)

  • dataRows:100
  • columnName(Type):userName(字符串),userNumber(int),userCode(bigint),userAge(int)
  • userName的最大长度:36

  • 我这样计算表的大小。
  • 我以为该字符串是8bytes,int是4bytes,bigint是8bytes
    (我没有考虑记录头大小和列头大小)
  • 100 *(((8 * 36)+ 4 + 8 + 4)
  • totalSize:30,400字节

  • 你能给我一些建议吗?

    最佳答案

    hdfs dfs -du -s {table locatoin}
    

    (可选-h)

    例如。
    hdfs dfs -du -s /user/hive/warehouse/mytable
    110265307244  /user/hive/warehouse/mytable
    
    hdfs dfs -du -s -h /user/hive/warehouse/mytable
    102.7 G  /user/hive/warehouse/mytable
    

    关于database - 如何在不查询的情况下估计HIVE中的表大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42244343/

    10-16 16:17