15. A non-transitory computer readable storage medium including instructions that, when executed by a processing device, cause the processing device to: receive 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; select, by the processing device, 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; identify a second map-reduce language associated with the selected one or more clusters; convert the first map-reduce language of the map-reduce job into the second map-reduce language; and cause 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.
19. The non-transitory computer readable storage medium of claim 15 , wherein to select the one or more clusters from the plurality of clusters to run the map-reduce job, the processing device further to: cause data to be processed by the map-reduce job to be available to the selected one or more clusters.