add external dataset and runner to compute the transitive closure on a cluster