scala> spark.sql("select count(*) from(select distinct v1,v2 from graph_df)").show()
+--------+
|count(1)|
+--------+
| 1343124|
+--------+
scala> spark.sql("select count(*) from (select v1 from graph_df union select v2 from graph_df)").show()
+--------+
|count(1)|
+--------+
| 166061|
+--------+
Может какой-то coverage или глубокий анализ кода переполняет память.
Я сильно сомневаюсь что компиллятор может такое вызывать.