如何在没有查询的情况下估算HIVE中的表格大小?
问题描述:
我想计算表格大小,而不需要在HIVE中查询。如何在没有查询的情况下估算HIVE中的表格大小?
我该如何在HIVE中做到这一点? (我没有任何权限,而在数据库中选择,所以我不能用表演性质等)
(例如)
数据行:100
-
COLUMNNAME(类型):用户名(字符串),userNumber(INT),用户代码(BIGINT),userAge(INT)
- 的userName的最大长度:36
我计算了这样的表大小。
-
我觉得这样的字符串是8个字节,int是4字节,BIGINT是8个字节 (我不认为有关记录头大小和列标题大小)
- 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
答
如果你有蜂巢或HDFS用不上这是不是真的有可能。
Hive可能使用不同的压缩机制,也可能影响HDFS上原始数据的大小。如果它以纯文本形式存储,您可能会使用它,但我不会说这是做到这一点的最佳方式。
+0
谢谢你回答这个问题。 – Bethlee
谢谢你回答这个问题。但我没有任何关于HIVE的访问许可。所以我必须估计我的表格大小而不用查询。 – Bethlee
你需要访问HDFS –
我真的想获得许可,但我不能。 – Bethlee