Recommend the RAPIDS cache serializer for cached SQL plans - #2117
Conversation
16a9ffe to
957a731
Compare
96eac03 to
1e79607
Compare
sayedbilalbari
left a comment
There was a problem hiding this comment.
Thanks @parthosa , had some comments !
Can we also evaluate the memory pressure added with this and figure out if these changes need explicit integration tests to make sure the recommendation works for all spark versions.
The explicit RDD handling, are we doing that for any other AutoTuner rules ? If not, why and could that be done for other rules as well ?
1e79607 to
3ed4356
Compare
Signed-off-by: Partho Sarthi <psarthi@nvidia.com>
3ed4356 to
a1249ad
Compare
Discussed offline, as part of a long term goal, will brainstorm to setup testing framework for AutoTuner across Spark versions, iceberg etc. |
|
THanks @parthosa , LGTM ! |
|
@parthosa can we file a follow up for the target integration test suite for AutoTuner |
Fixes #2116
Summary
This PR adds a shared AutoTuner heuristic that recommends
spark.sql.cache.serializer=com.nvidia.spark.ParquetCachedBatchSerializerwhen an application uses Spark SQL caching.Approach
InMemoryRelation,InMemoryTableScan,TableCacheQueryStage,GpuInMemoryTableScan, and Spark's named-cache scan form (Scan In-memory table <name>).Configuration behavior
spark.rapids.sql.exec.InMemoryTableScanExecis explicitly disabled, AutoTuner suppresses the serializer recommendation and reports that GPU cache scans remain disabled.InMemoryTableScanremains disabled under AQE.Testing
Scan In-memory table hot_ordersnode and verifies both Qualification and Profiling recommendations.mvn clean package -DskipTestscompleted successfully for the Scala 2.12 JAR.Known limitation
The core module does not currently provide a Spark 4 Maven build profile. Spark 4 plan-shape coverage should use a Spark-4-produced cache event log in the asserting qualification and profiling golden-set jobs.