title: Best practice for groupby on Parquet file
body: <p>We have a 1.5BM records spread out in several csv files. We need to groupby on several columns in order to generate a <code>count</code> aggregate.<br>
  Our current strategy is to:   </p>
  
  <ol>
  <li>Load them into a dataframe (using <code>Dask</code> or <code>pyspark</code>)  </li>
  <li>Aggregate columns in order to generate 2 columns as key:value (we are not sure if this is worthwhile)</li>
  <li>Save file as <code>Parquet</code></li>
  <li>Read the <code>Parquet</code> file (<code>Dask</code> or <code>pyspark</code>) and run a groupby on the index of the dataframe.</li>
  </ol>
  
  <p>What is the best practice for an efficient groupby on a <code>Parquet</code> file?<br>
  How beneficial is it to perform the groupby on the index rather then on a column (or a group of columns)?<br>
  We understand that there is a <code>partition</code> that can assist - but in our case we need to groupby on the entire dataset - so we don't think it is relevant.  </p>