Predicting job execution time on a high-performance computing cluster using a hierarchical data-driven methodology