You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala下使用Spark BigQuery连接器查询时如何配置多谓词过滤

Spark BigQuery连接器多分区查询方案

实现方式

Spark BigQuery连接器的filter参数支持传入完整的SQL过滤表达式,你可以直接在同一个配置项里拼接多个日期谓词,连接器会自动将过滤条件下推到BigQuery服务端执行分区裁剪,只会扫描符合条件的分区数据,不会加载全表。

常用写法示例

  • 连续日期范围查询
.option("filter", "_PARTITION_DATE >= '2019-01-01' AND _PARTITION_DATE < '2019-02-01'")
  • 不连续离散日期查询
.option("filter", "_PARTITION_DATE IN ('2019-01-01', '2019-01-05', '2019-01-10')")

生效验证

你可以在BigQuery控制台的「查询历史」中查看对应请求的扫描字节数:如果过滤条件下推生效,扫描字节数仅等于匹配分区的总大小,远小于全表的数TB体积。

注意:不要将分区过滤条件写在load()之后的DataFramefilter()方法中,该写法会先拉取全表数据再在Spark侧过滤,无法利用BigQuery的分区裁剪能力。

内容的提问来源于stack exchange,提问作者kaashmonee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:09:03