我想问您,是否有可能在不降低性能的情况下使用saveastable()获得我插入到配置单元表中的Dataframe计数?老实说,我想报告日志计数或最好是得到计数前插入后插入,因为这将是真正有用的信息在splunk Jmeter 板,但我不想添加配置单元查询,这可能会损害性能相当明显,因为我有超过100个转换。提前感谢您的帮助!
cotxawn71#
set hive.stats.autogather=false; -对于新创建的表和/或分区(通过insert overwrite命令填充),默认情况下会自动计算统计信息。用户必须显式地将布尔变量hive.stats.autogather设置为false,这样统计信息就不会自动计算并存储到hive metastore中。表级统计,
set hive.stats.autogather=false;
spark.sql("ANALYZE TABLE tableName COMPUTE STATISTICS").show()
结果是
parameters:{totalSize=0, numRows=0, rawDataSize=0...```
表分区级统计:
spark.sql("ANALYZE TABLE Table1 PARTITION(ds, hr) COMPUTE STATISTICS").show()
注意:当用户发出该命令时,他可以指定分区规格,也可以不指定分区规格。如果用户没有指定任何分区规格,则会收集表以及所有分区(如果有的话)的统计信息。表列级统计:
spark.sql("ANALYZE TABLE Table1 PARTITION(ds, hr) COMPUTE STATISTICS FOR COLUMNS").show()
您可以从以下网站获得更多详细信息:https://cwiki.apache.org/confluence/display/hive/statsdev#statsdev-现有表%e2%80%934
1条答案
按热度按时间cotxawn71#
set hive.stats.autogather=false;
-对于新创建的表和/或分区(通过insert overwrite命令填充),默认情况下会自动计算统计信息。用户必须显式地将布尔变量hive.stats.autogather设置为false,这样统计信息就不会自动计算并存储到hive metastore中。表级统计,
结果是
表分区级统计:
注意:当用户发出该命令时,他可以指定分区规格,也可以不指定分区规格。如果用户没有指定任何分区规格,则会收集表以及所有分区(如果有的话)的统计信息。
表列级统计:
您可以从以下网站获得更多详细信息:https://cwiki.apache.org/confluence/display/hive/statsdev#statsdev-现有表%e2%80%934