在cloudera chd4.x中使用hive0.10时,通过读取命令输出,总是可以看到有多少行被插入到一个特定的表中。这条线看起来像:
Loaded 1234 rows into tablename
虽然不理想(没有查询管理器的编程接口),但它合理地指示了插入的数据量。但是,在具有cloudera cdh 5.1的hive0.13中,该行不会出现在命令输出中。我也不知道如何从查询管理器中获取导入计数。
如何找出给定查询在给定表中插入了多少行?我想知道访问hadoop计数器是否可以做到这一点,但是我找不到任何关于hive如何使用它们的信息。在thrift界面中似乎没有任何东西允许访问这些统计数据。
基本上,我不想对源数据发出select count(*),只是为了找出处理了多少行。
1条答案
按热度按时间t98cgbkg1#
我现在正在自己想办法。大概作业计数器是作为hive-4518的一部分进行重构的。这看起来像是功能上的回归,因为获取和显示行计数的代码仍然存在,但它从不打印,因为没有计数器可以从中获取数字。
一个选择是打开
hive.stats.autogather
它将返回统计信息,但根据您的查询,它可能有行数,也可能没有行数。编辑:提交了描述错误的hive-9023罚单。