  In this paper, we propose a one-pass algorithm on MapReduce for penalized
linear regression
  \[f_\lambda(\alpha, \beta) = \|Y - \alpha\mathbf{1} - X\beta\|_2^2 +
p_{\lambda}(\beta)\] where $\alpha$ is the intercept which can be omitted
depending on application; $\beta$ is the coefficients and $p_{\lambda}$ is the
penalized function with penalizing parameter $\lambda$. $f_\lambda(\alpha,
\beta)$ includes interesting classes such as Lasso, Ridge regression and
Elastic-net. Compared to latest iterative distributed algorithms requiring
multiple MapReduce jobs, our algorithm achieves huge performance improvement;
moreover, our algorithm is exact compared to the approximate algorithms such as
parallel stochastic gradient decent. Moreover, what our algorithm distinguishes
with others is that it trains the model with cross validation to choose optimal
$\lambda$ instead of user specified one.
  Key words: penalized linear regression, lasso, elastic-net, ridge, MapReduce
