[SPARK-2236][SQL]SparkSQL  add SkewJoin

Hi all,
I want to submit a SkewJoin operator in SparkSql joins.scala.

In some case ,data skew happens.SkewJoin  sample the table rdd to find the largest key,then make the largest key
rows as a table rdd.The streamed rdd will be made  as mainstreamedtable rdd without the largest key and the maxkeystreamedtable rdd
with the largest key.
Then,join the two table  with the buildtable.
Finally,union the two result rdd.
i want to use key to sort the row ,I think i need some better way to obtain the key .Do you have some better way to fetch the key?