title: Pyspark Use groupByKey/mapValues more than once in one line
body: <p>I'm using PySpark and I'm looking for a way to use more than once groupByKey/mapValues method. </p>
  
  <p>Given :</p>
  
  <pre><code>rdd = sc.parallelize([(u'04896f3765094732a478ba63dd42c785', 
                         u'2016-01-01', 
                         u'2', 
                         u'1404.0', 
                         u'2016-333', 
                         u'2016-48', 
                         u'2016-11', 
                          '2016-11-28'),
  
                        (u'kldmm584753dljkdhggdklkfj32a478ba63dd422574', 
                         u'2016-01-14', 
                         u'6', 
                         u'2000.0', 
                         u'2016-333', 
                         u'2016-48', 
                         u'2016-11', 
                          '2016-11-28')
  
                      ])
  </code></pre>
  
  <p>I want to group my rdd by the 4TH element ('2016-333' here), and get len, sum, etc..
  My codes :</p>
  
  <pre><code>(rdd
   .map(lambda x : (x[4], x[0]))
   .groupByKey()
   .mapValues(len)
   .collect())
  
  Output : [(u'2016-333', 2)]
  
  (rdd
   .map(lambda x : (x[4], float(x[3])))
   .groupByKey()
   .mapValues(sum)
   .collect())
  
  Output : [(u'2016-333', 3404.0)]
  
  (rdd
   .map(lambda x : (x[4], int(x[2])))
   .groupByKey()
   .mapValues(sum)
   .collect())
  
  Output : [(u'2016-333', 8)]
  </code></pre>
  
  <p>My question : Is there a way to do this in one go ? 
  The expected output is :</p>
  
  <pre><code>[(u'2016-333', 2, 3404.0, 8)]
  </code></pre>
  
  <p>Thx !</p>