获取Hive插入的作业统计信息

时间:2014-08-06 12:25:17

标签: hadoop hive thrift

使用Hive 0.10和Cloudera CHD4.x时,通过读取命令输出总是可以看到在特定表中插入了多少行。该行看起来像:

Loaded 1234 rows into tablename

虽然不理想(没有查询管理器的编程接口),但它是插入数据量的合理指示。但是在带有Cloudera CDH 5.1的Hive 0.13中,该行没有出现在命令输出中。我也无法弄清楚如何从查询管理器获取导入计数。

如何找出给定查询在给定表中插入了多少行?我想知道访问Hadoop计数器是否可以这样做,但我找不到有关Hive如何使用它们的任何信息。 Thrift界面中似乎没有任何内容可以访问这些统计信息。

基本上我不想对我的源数据发出SELECT COUNT(*),只是为了找出处理了多少行。

1 个答案:

答案 0 :(得分:0)

我正试图自己解决这个问题。据推测,工作计数器被重构为HIVE-4518的一部分。这似乎是功能上的回归,因为获取和显示行计数的代码仍然存在,但它永远不会打印,因为没有计数器可以从中获取数字。

一个选项是启用hive.stats.autogather,它将返回统计信息,但根据您的查询,它可能有也可能没有行数。

编辑:提交描述错误的票据HIVE-9023