1. A distributed computing system, comprising: a plurality of compute nodes, each compute node comprising at least one processor and a memory; and an interface; wherein the distributed computing system implements a distributed computing service; wherein the plurality of compute nodes are configured as a cluster of compute nodes according to a MapReduce distributed computing framework, wherein the cluster is configured to execute a distributed application, wherein the cluster comprises two or more groups, each group comprising a non-overlapping set of compute nodes; wherein the distributed computing service is configured to: receive, through the interface from a client of the distributed computing service, input defining an expression that, when evaluated true, represents a trigger condition for performing an automatic scaling operation on a particular group of the two or more groups of the cluster, wherein the input also identifies the particular group to which the automatic scaling operation applies prior to triggering of the automatic scaling operation, and wherein the input also specifies a scaling action to be taken in response to the expression evaluating true, wherein the expression is dependent on values of one or more metrics generated during execution of the distributed application; collect, during execution of the distributed application, the one or more metrics; determine, during execution of the distributed application and dependent on the collected metrics, that the expression evaluates true; and initiate, in response to the determination, performance of the automatic scaling operation on the particular group of the cluster, wherein the automatic scaling operation comprises an operation to add one or more compute nodes to the particular group of the cluster or an operation to remove one or more compute nodes from the particular group of the cluster, wherein at least one other of the two or more groups is unchanged by performance of the automatic scaling operation.