查询将如何在Hive Engine Mr或Spark中执行

时间:2019-05-27 16:34:24

标签: apache-spark hive mapreduce apache-spark-sql hiveql

我有以下三个同时使用spark和mr引擎在蜂巢中运行的查询。

想知道哪一个表现更好。考虑到查询中使用的所有表都是大表。

查询1。

Select a.*,b.* ,c.*  from a LEFT join b On a.pk=b.pk and b.active='Y' LEFT JOIN C ON A.PK=C.PK AND C.ACTIVE='Y' WHERE A.ACTIVE='Y'

查询2

Select a.*,b.* ,c.* from a LEFT join b On a.pk=b.pk and b.active='Y' AND A.ACTIVE='Y' LEFT JOIN C ON A.PK=C.PK AND C.ACTIVE='Y' AND A.ACTIVE='Y'

查询3

Select a.*,b.* ,c.* from ( SELECT * FROM a WHERE ACTIVE='Y' ) a  LEFT join b On a.pk=b.pk and b.active='Y' LEFT JOIN C ON A.PK=C.PK AND C.ACTIVE='Y'

现在,如果我们认为所有三个表a b c是大表,那么执行查询的正确方法是什么。

0 个答案:

没有答案