Scalable Data-Parallel Processing Of Semi-Structured Data