1. A method for classifying a dataset in parallel based on a decision tree, comprising: dividing the dataset into a plurality of segments, wherein the segments comprise a plurality of dataset records; distributing the segments to a plurality of computation nodes in a cluster, wherein the cluster is a massively parallel processing shared-nothing database; receiving a classified dataset, wherein the classified dataset comprising a class assignment for each of the dataset records; and storing the classified dataset in a non-transitory computer readable medium.