apache spark统计数据集合

mtb9vblg  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(360)

关于apachespark中表上的统计数据收集,我有以下问题
收集的所有数据都存储在哪里?。在元商店里?
在spark和配置单元共享元存储的系统中,配置单元应用程序在配置单元表上收集的统计信息是否可供spark优化器使用?。类似地,spark在配置单元表上收集的统计信息是否也将提供给配置单元优化器?
是否可以强制spark收集内存中加载的Dataframe上的统计信息,或者收集从Dataframe创建的临时表上的统计信息?

d7v8vwbk

d7v8vwbk1#

它存储在hive元存储中。特别是作为表属性。像orc和parquet这样的格式也有每个文件和每个块的统计信息,读者可以使用。但是,优化器不使用它。
spark和hive使用不同的参数名来存储统计信息。所以不幸的是,他们不能使用其他引擎收集的统计数据。
具体来说,在spark中收集统计信息后,表属性具有:

TBLPROPERTIES (
  'numFiles'='1', 
  'numRows'='-1', 
  'rawDataSize'='-1', 
  'spark.sql.statistics.numRows'='111111', 
  'spark.sql.statistics.totalSize'='11111', 
  'totalSize'='111111',

在配置单元中收集统计信息后,表属性具有:

TBLPROPERTIES ( 
  'numFiles'='1', 
  'numRows'='1111111', 
  'rawDataSize'='1111111',

相关问题