蜂巢表是空的?

时间:2018-03-06 08:15:11

标签: select hive tbl-properties

检查表格是否在Hive中有任何记录的最快方法是什么?

到目前为止,我遇到过这些方法:

  1. 做一个SELECT count(*) FROM <table_name>,我觉得这很慢。
  2. 执行show tblproperties <db.table_name>("numRows");,如果-1之前没有在ANALYZE TABLE运行,我会发现这些ANALYZE TABLE ..。因此,需要在SHOW TBLPROPERTIES ..
  3. 之前运行SELECT * FROM <table_name> limit 1
  4. 做一个var request = new CancelSalesOrderRequest(); request.OrderClose = new Entity("orderclose"); request.OrderClose["salesorderid"] = new EntityReference("salesorder", new Guid("your order's guid here")); request.OrderClose["subject"] = "Close Sales Order" + DateTime.Now; request.Status = new OptionSetValue(-1); service.Execute(request); 。我发现这是最有效的方式。
  5. 有更好的方法吗? (我只想检查Hive表是否至少有一条记录)

1 个答案:

答案 0 :(得分:0)

据我所知:

  • Hive表已分区:

    1)找到表格的位置

    desc formatted <tablename>
    

    2)在hdfs中计算文件大小

    hdfs dfs -du -h <location of table>
    
  • Hive未分区:

    1)show tblproperties <db.table_name>

    2)找到numRows