2016-07-05 76 views
1

如果我们有一个由col,col2,col3分区的HIVE表,那么在对此表执行SELECT时,如果我想在WHERE子句中指定这些列,是否必须显示按照相同的顺序来利用分区?我的意思是,逻辑上是,但HIVE编译器不理解他们的实际顺序,不管我指定他们的顺序如何。它应该能够在内部应用正确的顺序,因为HIVE已经知道正确的顺序是col2,col2,col3它以这种方式使用它。 HIVE在我们定义的查询上做了很多优化,所以在这个我猜它应该做同样的事情。WHERE子句中分区列的顺序是否重要

回答

0

不,那个顺序应该没有关系。任何体面的查询优化器都会查看WHERE子句的所有部分,并找出满足该查询的最有效方法。使用分区列的逻辑顺序编写查询仍然有意义,以便更好地理解人。