I think it's important to add notes about the "Hadoop eras" in which some of these were first developed and evolved.
Hadoop 1.x (i.e. "MapReduce" execution engine):
* Apache Pig
* Apache Hive
* Apache Drill
* Cloudera Impala
If I recall correctly, neither Drill nor Impala actually used Hadoop 1.x MapReduce as the execution engine, and were mostly bundled to read data commonly stored in the HDFS cluster.
Hadoop 2.x (i.e. the MR2 / "YARN" era):
* Apache Pig
* Apache Hive
* Apache Tez (technically a substitute execution engine for MR2), built to allow containers to persist, optimize coalesce operation/task stages, amongst other things to reduce overall job latency
* Apache Spark (technically a substitute execution engine for MR2)
Spark entered the Hadoop ecosystem, as many people were storing their data in HDFS, and the Hadoop 2 YARN resource model/containers provided the compute resources to run Spark as an execution engine, in lieu of MR2. You could and can also run a separate Spark-dedicated cluster, but many people were already running Hadoop and storing their data in HDFS clusters.
"Shark" became SparkSQL somewhere around Spark 1.3-1.4x? and Schema-ed RDDs evolved to DataFrames and better enabled people to reason and interface with their data in a table-like manner. Python/PySpark performance also rapidly improved from things like Project Tungsten and DataFrames.
https://databricks.com/blog/2015/02/17/introducing-dataframe...
Post-Hadoop / MR2:
* Hive
* Spark
* Presto
Tez was very much backed by Hortonworks, as part of their HDP Hadoop distribution, and motivated improve the performance of existing Apache Pig and Hive tools (major contributors from Yahoo, Microsoft, Hortonworks). Hortonworks later incorporated Spark as part of their distribution.
Spark was adopted by Cloudera as part of their CDH Hadoop distribution, and coexisted with Impala.
Tn the post-Hadoop / post-Spark world, both Hortonworks and Cloudera merged as well:
https://www.cloudera.com/about/news-and-blogs/press-releases...
Also since we're talking MPP withSQL/SQL-like dialects, we may as well mention that Greenplum, ParAccel/Redshift also coexisted with all of these.