У меня есть много таблиц в Hive, и я подозреваю, что размер этих таблиц вызывает проблемы с пространством в кластере. Есть ли способ проверить размер таблиц Hive за один раз? Если да, то как? Мы можем использовать Tblproperties или tbldescription. Но это полезно для одной таблицы. утомительно запускать одну и ту же команду для каждой таблицы. Я ищу подход для запуска команды и получения всей необходимой информации. Вывод должен включать следующие поля: Имя базы данных: Имя таблицы: totalSize: numFiles: numPartitions: numRows: rawDataSize: P.S: предыдущий подход применим для одной таблицы.
Любая помощь, пожалуйста?
Можем ли мы проверить размер таблиц Hive? Если да, то как?
Ответы (1)
Насколько я знаю, нет единой команды для достижения результатов, которые вы ищете.
Вы можете написать собственный скрипт
- Получить список баз данных
hive -e "SHOW DATABASES" > db_list_file
- Перебрать список баз данных, чтобы получить все таблицы в соответствующих базах данных
hive -e "SHOW TABLES" > table_list_file
- Запустите
DESCRIBE EXTENDED ${db}.${tble}
для всех таблиц, проанализируйте вывод, чтобы получить путь к таблице. - Если все файлы в HDFS, вы можете получить размер
hdfs dfs -du -s <list of hdfs files>
Надеюсь это поможет
person
Naga
schedule
28.01.2020