检查表是否在Hive中有任何记录的最快方法是什么?
到目前为止,我遇到过这些方法:
SELECT count(*) FROM <table_name>
,我觉得这很慢。show tblproperties <db.table_name>("numRows");
,我发现这些给-1
如果ANALYZE TABLE
之前没有在桌子上运行。因此需要ANALYZE TABLE ..
在SHOW TBLPROPERTIES ..
之前运行SELECT * FROM <table_name> limit 1
。我发现这是最有效的方式。有没有更好的方法来做到这一点? (我只想检查Hive表是否至少有一条记录)
据我所知,这是:
desc formatted <tablename>
2)在hdfs中计算文件大小
hdfs dfs -du -h <location of table>
show tblproperties <db.table_name>
2)找到numRows