Hive 使用Sqoop摄取的表的配置单元元存储中的行计数为零

Hive 使用Sqoop摄取的表的配置单元元存储中的行计数为零,hive,sqoop,hive-metastore,Hive,Sqoop,Hive Metastore,对于从DB2或Oracle摄取到配置单元的表,配置单元元存储中的行数为零 。。。numRows属性的值为0 请注意:表中的计数正确,但问题仅在我们从metastore获取值时出现。请建议。运行分析命令: ANALYZE TABLE db_name.tablename COMPUTE STATISTICS [FOR COLUMNS] .谢谢。这似乎是可行的,但对于大分区表来说需要相当长的时间。如果一个表每天只使用Sqoop在hive中刷新,然后,我们是否需要每天为该特定表运行此命令,以便

对于从DB2或Oracle摄取到配置单元的表,配置单元元存储中的行数为零

。。。numRows属性的值为0

请注意:表中的计数正确,但问题仅在我们从metastore获取值时出现。请建议。

运行分析命令:

ANALYZE TABLE db_name.tablename COMPUTE STATISTICS 
  [FOR COLUMNS] 

.

谢谢。这似乎是可行的,但对于大分区表来说需要相当长的时间。如果一个表每天只使用Sqoop在hive中刷新,然后,我们是否需要每天为该特定表运行此命令,以便在配置单元元存储中获取更新的值,或者这是一次性活动,下次当sqoop向配置单元获取最新数据时,配置单元元存储中的值将自动更新。@Nitish只在sqoop运行后分析更新的分区,而不是整个表。在上一次sqoop运行期间未加载的分区将保留未更改的元数据,这样做没有更好的方法。上述解决方案工作正常,但对于每天使用Sqoop接收的非分区表,分析统计数据需要相当长的时间。这将导致作业的总摄取时间显著增加。@Nitish很遗憾,我不知道如何在导入期间使sqoop收集统计信息。对于配置单元,可以在插入期间自动收集统计信息。