如何在没有查询的情况下估计HIVE中的表格大小?

时间:2017-02-15 08:38:38

标签: database hadoop hive

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

我怎样才能在HIVE中这样做? (如果没有在数据库中选择,我没有任何权限,所以我不能使用show properties等)

(例如)

  • dataRows:100

  • columnName(Type):userName(string),userNumber(int),userCode(bigint),userAge(int)

    • userName的最大长度:36

我像这样计算了表格大小。

  • 我认为该字符串是8bytes,int是4bytes,bigint是8bytes (我没有考虑记录标题大小和列标题大小)

    • 100 *((8 * 36)+ 4 + 8 + 4)
    • totalSize:30,400字节
你能给我一些建议吗?

2 个答案:

答案 0 :(得分:2)

ResourceNotFoundException

(可选-h)

E.g。

@Test(expected = ResourceNotFoundException.class)
hdfs dfs -du -s {table locatoin}

答案 1 :(得分:1)

如果您无法访问Hive或HDFS,则无法实现。

Hive可能正在使用不同的压缩机制,这也会影响HDFS上原始数据的大小。如果它以纯文本形式存储,你可能会使用它,但我不认为这是最好的方法。