2017-02-15 15 views
2

Я хочу рассчитать размер таблицы без запроса в HIVE.Как оценить размер таблицы в HIVE без запроса?

Как я могу это сделать в HIVE? (у меня нет каких-либо разрешений, не выбирая в базе данных, так что я не могу использовать показать свойства и т.д.)

(к примеру)

  • DataRows: 100

  • ColumnName (Тип): Имя пользователя (строка), userNumber (INT), USERCODE (BIGINT), userAge (INT)

    • максимальная длина имени пользователя: 36

Я рассчитал размер таблицы, как это.

  • Я думал, как эта строка является 8bytes, ИНТ 4 байта, BIGINT является 8bytes (я не считал о размере записи заголовка и размер заголовка столбца)

    • 100 * ((8 * 36) + 4 + 8 + 4)
    • TotalSize: 30400 байт

вы дали бы мне несколько советов?

ответ

2
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 
+0

Благодарим за вопрос. Но у меня нет доступа к разрешению проблемы ВИЧ. Поэтому я должен оценить размер таблицы без запроса. – Bethlee

+1

Вам нужен доступ к HDFS –

+0

Я действительно хочу получить разрешение, но не могу. – Bethlee

1

Это на самом деле не возможно, если у вас нет доступа к улью или HDFS.

В улье могут использоваться различные механизмы сжатия, которые также могут влиять на размер необработанных данных на HDFS. Если он хранится в текстовом виде, вы можете использовать это, но я бы не сказал, что это лучший способ сделать это.

+0

Спасибо, что ответили на вопрос. – Bethlee