A 311/resident-service analytics team wants to prototype transforms on a sample before running the full GPU job. What foundational practice should they use?
Select an answer to reveal the explanation.
Short Explanation
Dip a toe with pandas on a sample, then swim the same moves in cuDF on the full 311 lake. Prototyping on CPU-friendly frames is how you avoid surprise GPU bugs. Sticky-note SQL or training forever on the tiny sample isn't the bridge.
Full Explanation
A sound accelerated workflow for 311/resident-service transforms is to load and validate a pandas sample first, then scale the same logic to cuDF on the full set. Prototyping on CPU-friendly frames surfaces schema issues, null handling, and join logic cheaply before paying GPU memory and transfer costs. Domain 5 foundations treat pandas rehearsal as the bridge into RAPIDS-scale jobs for civic extracts.
Skipping all sampling and only ever writing one-off GPU kernels with no pandas rehearsal raises the cost of debugging and skips familiar validation patterns analysts already know. Prototyping exclusively in handwritten SQL on sticky notes with no DataFrames abandons the DataFrame abstraction that both pandas and cuDF share. Training production models on the tiny sample and never touching the full extract confuses prototype scope with production data and yields biased civic models.
Exam caveat: Sample → validate in pandas → port to cuDF is the expected foundational path. The sample is for rehearsal, not a permanent production substitute.
Operational check: Draw a representative 311 sample, pass schema and transform tests in pandas, then run identical cuDF transforms on the full extract and compare row counts and KPI digests before promoting the GPU job.