Determines appropriate ShardSpecs for a job by determining whether or not partitioning is necessary, and if so,
choosing the best dimension that satisfies the criteria:
- Must have exactly one value per row.
- Must not generate oversized partitions. A dimension with N rows having the same value will necessarily
put all those rows in the same partition, and that partition may be much larger than the target size.
"Best" means a very high cardinality dimension, or, if none exist, the dimension that minimizes variation of
segment size relative to the target.