Right now, the cache() filter saved Row objects rather than just data arrays. Rewrite to cache only the raw data, and create Row objects on demand.