1. A method comprising: receiving a map-reduce job written in a first map-reduce language, wherein the map-reduce job is to be performed in parallel on a plurality of nodes of a plurality of clusters, wherein the first map-reduce language is a general map-reduce language that describes functions supported by multiple map-reduce frameworks but is not specific to any of the multiple map-reduce frameworks; selecting one or more clusters from the plurality of clusters to run the map-reduce job, wherein the selected one or more clusters of the plurality of clusters operate a different map-reduce framework from other clusters of the plurality of clusters; identifying a second map-reduce language associated with the selected one or more clusters; converting the first map-reduce language of the map-reduce job into the second map-reduce language; and causing the map-reduce job in the second map-reduce language to be run on the plurality of nodes of the selected one or more clusters.
1. A method comprising: receiving a map-reduce job written in a first map-reduce language, wherein the map-reduce job is to be performed in parallel on a plurality of nodes of a plurality of clusters, wherein the first map-reduce language is a general map-reduce language that describes functions supported by multiple map-reduce frameworks but is not specific to any of the multiple map-reduce frameworks; selecting one or more clusters from the plurality of clusters to run the map-reduce job, wherein the selected one or more clusters of the plurality of clusters operate a different map-reduce framework from other clusters of the plurality of clusters; identifying a second map-reduce language associated with the selected one or more clusters; converting the first map-reduce language of the map-reduce job into the second map-reduce language; and causing the map-reduce job in the second map-reduce language to be run on the plurality of nodes of the selected one or more clusters. 4. The method of claim 1 , wherein identifying the second map-reduce language associated with the selected one or more clusters further comprises: identifying a software framework being run on the selected one or more clusters, wherein the second map-reduce language corresponds to the identified software framework.