hadoop - Parquet谓词下推

标签 hadoop apache-spark parquet bigdata

parquet 的谓词下推是否意味着实际上只从磁盘加载所需的数据?

例如如果我创建一个 spark 数据框并且只选择 特定字段,那些字段会从磁盘中读取吗?

最佳答案

谓词下推处理将扫描哪些值而不是哪些列。 因此,如果您在 A 列上应用过滤器以仅返回值为 V 的记录,则谓词下推将使 parquet 成为可能包含值 V 的只读 block 。 Parquet 在多个级别保存最小/最大统计信息,它会将值 V 与那些最小/最大 header 进行比较,并且只扫描最小/最大值包含值 V 的 block 。 这是用于谓词下推。

parquet 的另一个特点是“投影下推”——它将数据存储在列中,因此当您的投影将查询限制在某些列时,只会返回那些列。不过,此功能并不是所谓的谓词下推。

关于hadoop - Parquet谓词下推,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35068278/

相关文章:

hadoop - 无法启动master和slave,日志中出现名为 "bogon"的奇怪东西

scala - 如何为 Option 类型构造函数创建编码器,例如选项[整数]?

apache-spark - 使用 Spark 和 DataFrames 的 Parquet 与 Cassandra

hadoop - Druid 批量索引 inputSpec 类型粒度,错误为 "no input paths specified in job"

hadoop - 错误 : E0902: Exception occured: [User: Root is not allowed to impersonate root

python - 按 Dataframe 中的位置替换数组中的元素 - Pyspark

hive - 写入 Hive 表时使用多个 Parquet 文件(增量)

hadoop - 在配置单元中删除表命令

hadoop - 在 Hadoop 上启用 Kerberos 时发出警告

c# - 如何链接两个希望您提供流的 C# API?