Можем ли мы проверить размер таблиц Hive? Если так, то как? - PullRequest
0 голосов
/ 28 января 2020

У меня много таблиц в Hive , и подозрительный размер этих таблиц вызывает проблемы с пространством в кластере. Есть ли способ проверить размер таблиц Hive за один раз? Если так, то как? Мы можем использовать свойства Tbl или описание. Но это полезно для одного стола. утомительно запускать одну и ту же команду для каждой таблицы. Я ищу подход для запуска команды и получения всей необходимой информации. Вывод должен включать следующие поля: Имя базы данных: Имя таблицы: totalSize: numFiles: numPartitions: numRows: rawDataSize: PS: предыдущий подход применим для одной таблицы.
Любая помощь, пожалуйста?

1 Ответ

0 голосов
/ 28 января 2020

Насколько я знаю, нет единой команды для достижения желаемых результатов.

Вы можете написать собственный скрипт

  1. Получить список баз данных hive -e "SHOW DATABASES" > db_list_file
  2. Итерация по списку БД для получения всех таблиц в соответствующих базах данных hive -e "SHOW TABLES" > table_list_file
  3. Выполнение DESCRIBE EXTENDED ${db}.${tble} для всех таблиц, анализ выходных данных для получения пути к таблице
  4. Если все файлы в HDFS, вы можете получить размер hdfs dfs -du -s <list of hdfs files>

Надеюсь, это поможет

...