我有一个包含50个表的hive数据库记录;
我想检查是否有任何表格为空。
数据库名称是employee。
我不想手动执行此操作,即分别对每个表执行select *查询。
任何人都可以解释
答案 0 :(得分:1)
Hive不会跟踪表中存在的记录数。仅在查询执行期间,才读取和处理属于特定表的文件。因此,没有其他方法可以在不查询每个表的情况下知道每个表中存在的记录数。
或者,您可以在HDFS中的数据库目录上运行disk usage命令
hdfs dfs -du -s -h <hive.warehouse.dir>/employee/*
0B 的表格文件夹显然是空的。
这是可能的,因为Hive将表文件存储在创建表时给定的HDFS LOCATION
中,或者存储在hive.warehouse.dir
中hive-site.xml
属性中提到的路径中。默认值为/user/hive/warehouse
。
如果表是managed
表,则对于数据库employee
,所有表格都是<hive.warehouse.dir>/employee/
。记录将存储在$scope.copyProj = angular.copy($scope.project);
下。