Можно ли найти размеры в ГБ таблиц улья с помощью Java/jdbc? Я не хочу зависеть от папки хранилища хранилища в HDFS (как описано в link), так как разные таблицы могут иметь разные местоположения.Размеры таблиц улья с использованием Java/JDBC
0
A
ответ
0
В настоящее время невозможно, но это можно сделать.
Чтобы получить размер файла, необходимо выполнить команды файловой системы (HDFS).
В случае баз данных RDMS, т.е. сервер sql имеет инкапсулированные команды файловой системы в представлениях SYS и функциях SYS (DMF и DMV).
Если кто-то напишет или разработает такой UDF, это будет возможно, но внутри UDF будет называть тот же комманд.
0
Если вы Упоминание «TotalSize» от «tblproperties», то можно с подобным подходом:
String driverName = "org.apache.hive.jdbc.HiveDriver";
String connectionURL = "jdbc:hive2://HOSTNAME:PORT/default";
try {
Class.forName(driverName);
Connection connection = DriverManager.getConnection(connectionURL, "", "");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.exit(1);
}
Statement stmt = connection.createStatement("show tblproperties TABLENAME");
ResultSet rs = stmt.executeQuery(stmt);
while(rs.next()){
//doWhatYouWant
}