Read         $D$             Total Size of Data
     Map Output Bytes        $M_d$         Data Outputted by Mappers
     Map Selectivity       $M_{sel}$            $(M_d/d) * 100$
      Bytes Shuffled         $S_d$        Data shuffled, refer to Eq:
      Bytes Written          $R_d$        Data Outputted by Reducers
      Total Mappers          $M_t$           $\frac{D}{BlockSize}$
      Total Reducers         $R_t$                Optimisable
   Number of Containers      $N_c$       Inferred from Cluster Config.
         Map Time          $T_{map}$       [Total time map() fns]{}
       Reduce Time         $T_{map}$      [Total time reduce() fns]{}

  : Metrics Extracted From Logs

\[table:logextracted\]

To get the values for each of these parameters, the first step would be to run an application on the profiled cluster using a representative input dataset for the application. The application logs are then parsed to the YARN log parser to collect the values of the parameters for substitution into the corresponding models. This would provide the input parameters to generate the final predictive model.

         **Variable**           **Value**
  --------------------------- --------------
              $D$                 19584
          $M_t, R_t$              153,11
   $T_{map},T_{reduce} (ms)$   33069,286257
             $M_d$                 128
           $M_{sel}$             $100\%$
             $S_d$                19584
             $R_d$                19584
             $N_c$                  8

  : The values for each parameters for Reduce Side Inner Join algorithm extracted from YARN logs.

\[table:runningex\]

To illustrate, we take the Reduce Side Inner Join algorithm as a target application. The generated values for each of the input parameters are 