我正在使用Spark 2.3,并从MySQL表中加载数据。
我想知道是否有类似于镶木地板文件的"过滤器下推"功能。
我有一个包含数百万行的大表,我需要加载与某些键匹配的部分数据以及时间戳> certian_timestamp。
"where key_col in (34,35, .. ) and ts > 1539688500000"
在此之后,我需要将此数据集与另一个小表连接起来。
我可以使用"filterPushdown"和类似"joinPushdown"的东西在数据库本身中实现此操作(过滤和加入)吗?(如果存在)
是的,过滤器下推可用于 JDBC 源,但仅适用于 Where 子句。
您可以在以下位置检查https://docs.databricks.com/spark/latest/data-sources/sql-databases.html#push-down-a-query-to-the-database-engine
如果对于您的数据库,它不起作用。使用以下内容为您实现它。
http://blog.madhukaraphatak.com/spark-datasource-v2-part-5/
希望这对:)有所帮助
干杯!