title: Multiplication over one column like f.sum
body: <p>I have a column in a data frame. I need to aggregate a column by multiplying the values in this column instead of sum them up.</p>
  
  <pre><code>ex = spark.createDataFrame([[1,2],[4,5]],['a','b'])
  ex.show()
  ex.agg(f.sum('a')).show()
  </code></pre>
  
  <p>instead of sum I want to multiply column 'a' with syntax something like:</p>
  
  <pre><code>ex.agg(f.mul('a')).show()
  </code></pre>
  
  <p>the workaround I thought of is:</p>
  
  <pre><code>ex.agg(f.exp(f.sum(f.log('a')))).show()
  </code></pre>
  
  <p>however calculating <code>exp(sum(log))</code> might be not efficient enough</p>
  
  <p>The result should be 4.
  What is most efficient way?</p>