以下字段:'totalSize' 和 'rawDataSize' 在配置单元的 DESCRIBE EXTENDED 查询输出中意味着什么?

What does the following fields: 'totalSize' and 'rawDataSize' mean in DESCRIBE EXTENDED query output in hive?

如果在任何配置单元上运行 DESCRIBE EXTENDED 命令table,结果会在输出末尾附近显示 totalSize 和 rawDataSize 值。

这些字段是什么意思?

例如:

hive > DESCRIBE EXTENDED <TableName>

Output Results:

Table(tableName:TablenameXXXXX, dbName:XXxXXX,
..........       .......................
numRows=116429472, totalSize=3835205544, rawDataSize=35040221600})

rawDataSize 是原始数据集的大小,totalSize 是它占用的存储量。适用于ORC文件格式,因为它压缩后的数据totalSize会小于rawDataSize。

数据的大小由两个统计数据描述:

  • totalSize — 磁盘上数据的大约大小
  • rawDataSize — 内存中数据的近似大小

MapReduce 上的 Hive 使用 totalSize。当两者都可用时,Hive on Spark 使用 rawDataSize。由于压缩和序列化,对于同一数据集,totalSize 和 rawDataSize 之间可能会出现较大差异。

字段的含义是:

  • totalSize - 磁盘上存储 table 数据的物理文件的总大小(以字节为单位)。
  • rawDataSize - 是每个数据类型大小的总和 table 中的列数乘以行数。这也是 用作查询优化器的估计(例如,确定一个 table 足够小,可以执行 mapjoin 而不是简单的 join)。