我想问您是否有可能在不降低性能的情况下使用saveAsTable()获得我插入到配置单元表中的DataFrame计数?
老实说,我想报告日志计数,或者最好是在插入之前和插入之后获得计数,因为这将是Splunk Dashboard中真正有用的信息,但我不想添加配置单元查询,这可能会对性能造成很大影响,因为我有100多个转换。
提前感谢您的帮助!
发布于 2020-08-05 05:23:11
set hive.stats.autogather=false;-对于新创建的表和/或分区(通过INSERT OVERWRITE命令填充),默认情况下会自动计算统计信息。用户必须显式地将布尔变量hive.stats.autogather设置为false,以便不会自动计算统计数据并将其存储到配置单元MetaStore中。
表级统计,
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-ExistingTables%E2%80%93ANALYZE
https://stackoverflow.com/questions/63254206
复制相似问题