  Directed Acyclic Graphs (DAGs) are commonly used in Databases and Big Data
computational engines like Apache Spark for representing the execution plan of
queries. We refer to such graphs as Query Directed Acyclic Graphs (QDAGs). This
paper uses similarity hashing to arrive at a fingerprint such that the
fingerprint embodies the compute requirements of the query for QDAGs. The
fingerprint, thus obtained, can be used to predict the runtime behaviour of a
query based on queries executed in the past having similar QDAGs. We discuss
two approaches to arrive at a fingerprint, their pros and cons and how aspects
of both approaches can be combined to improve the predictions. Using a hybrid
approach, we demonstrate that we are able to predict runtime behaviour of a
QDAG with more than 80% accuracy.
