Spark SQL-具有where条件的DataFrameReader加载方法



我正在尝试使用DataFrameReader.load("table name")加载hive表记录并返回为DataFrame

但我不想加载整个记录,我只想获取具有特定日期的记录(这是配置单元表中的字段之一)。

如果我在返回的DataFrame中添加where条件,它会先加载整个表,然后根据日期filter记录吗?

因为配置单元表很大,而且是根据日期字段进行分区的。

基本上,我想在不加载整个表的情况下使用加载方法来实现select * from table where date='date'

Spark的最新版本支持名为"谓词下推"的功能。它完全按照您的意愿:在可能的情况下,将SQL子句where推送到源代码中。我不确定谓词下推现在是否适用于Hive数据源(它适用于parquet、JDBC和其他一些源)。另请参阅spark谓词下推是否适用于JDBC?

相关内容

  • 没有找到相关文章

最新更新