1. A method for scheduling and executing a computing job in a computing environment, the method comprising: receiving, by a computer, a request for scheduling execution of a computing job, wherein the computing job includes a plurality of computing tasks to be executed in a sequence, and wherein at least one computing task requires access to a set of data; receiving, by the computer, a set of optimization preferences; identifying, by the computer, information related to the computing environment, wherein the information comprises at least processors available to execute each computing task of the plurality of computing tasks and storage device proximity to the processors; generating, by the computer, one or more execution mappings for the computing job based, at least in part, on the received request, the information related to the computing environment, current utilization of the processors' resources, and the set of optimization preferences; selecting, by the computer, an execution mapping from the one or more execution mappings based, at least in part, on an expected amount of time to execute the computing job and an expected cost associated with executing the computing job; and executing, by the computer, the computing job according to the selected execution mapping.