Distributed Machine Learning with Sparse Heterogeneous Data