Spark如何存储拼花桌?



我有一个事实表,这是10Tb (Parquet),其中包含100+列。当我从事实表中创建了另一个表,其中只有10列,大小为2TB时,

  1. 我期待的大小应该在一些gb,因为我存储只是几个(10)列?
  2. 我的问题是,当我们有更多的列,拼花格式存储在更有效的方式?

Parquet是基于列的存储。假设我有一个包含字段userId,姓名,地址,州,电话号码的表。在非拼花存储中如果我执行select * where state = "TN"它将遍历表中的每个记录(即每行的所有列)并输出与我的where条件匹配的记录。然而,在拼花格式所有的列都存储在一起,所以我不需要通过所有其他列。相同的选择查询将直接转到列'state'并输出匹配where条件的记录。拼木地板有利于更快地检索(更快地获得结果)。不管总共有多少列

Parquet使用快速压缩。由于所有的列都存储在一起,这使得压缩非常有效。

相关内容

  • 没有找到相关文章

最新更新