1. A system comprising: at least one processor; a non-transitory computer-readable medium comprising: an interface that causes the at least one processor to receive a sequence of operations specified by a user, the sequence of operations comprising a first operation and a second operation; and an optimizer that causes the at least one processor to: select, based upon a predefined performance objective of the sequence of operations, a first map reduce execution environment for the first operation and a second map reduce execution environment, different than the first map reduce execution environment, for the second operation; convert the first operation into code that is executable in the first map reduce execution environment; and convert the second operation into code that is executable in the second map reduce execution environment.