A method includes identifying a sequence of transformations to be performed on an input dataset via a user interface. The method also includes identifying a first context associated with the input dataset. The method further includes selecting a first one of multiple execution engines to be used to perform the sequence of transformations on the input dataset based on the first context. In addition, the method includes providing first code implementing the sequence of transformations to the first execution engine and executing the first code using the first execution engine to perform the sequence of transformations on the input dataset.