sparksql-dataframereader加载方法

fbcarpbf  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(237)

我想用 DataFrameReader.load("table name") 加载 hive 表记录并返回为 DataFrame .
但是我不想加载整个记录,我只想获取具有特定日期的记录(这是配置单元表中的一个字段)。
如果我在返回的Dataframe中添加where条件,它会先加载整个表吗 filter 记录是基于日期的吗?
因为配置单元表是巨大的,并且它是基于日期字段进行分区的。
基本上我想实现 select * from table where date='date' 使用load方法而不加载整个表。

goqiplq2

goqiplq21#

spark的最新版本支持一种称为“ predicate 下推”的特性。它做的正是您想要的:尽可能地将sql子句推送到源代码中。我不确定 predicate 下推现在是否适用于配置单元数据源(它适用于parquet、jdbc和其他一些源)。另请参阅spark predicate 下推是否与jdbc一起工作?

相关问题