1. A computer-implemented method of processing a plurality of data records, performed on a system having one or more processors and memory storing one or more programs for execution by the one or more processors to perform the computer-implemented method, comprising: partitioning the plurality of data records into groups and assigning each group of data records to a respective process of a first plurality of processes; executing the first plurality of processes in parallel, wherein for each group the assigned process: extracts information from the data records in the group; applies a multi-step script comprising a plurality of information processing commands applied sequentially to the extracted information to produce one or more intermediate values; stores the one or more intermediate values in a respective intermediate data structure in a plurality of intermediate data structures; and updates a status of the group to indicate completion; determining whether at least a predefined threshold percentage of the plurality of data records are completed based on the status updates provided by the first plurality of processes, wherein the predefined threshold percentage is a predetermined value that is less than all the first plurality of data records; when it is determined that the predefined threshold percentage of the plurality of data records are completed, assigning each group of data records that is not completed to a respective second process of the first plurality of processes; when it is determined that each of the groups in the plurality of groups has been completed by at least one process, executing a second plurality of processes to aggregate intermediate values from the intermediate data structures to produce output data, wherein the aggregation includes intermediate values only once for each group in the plurality of groups.