...
The ORDER BY syntax in Hive QL is similar to the syntax of ORDER BY in SQL language except that ORDER BY takes column names only, not column numbers.
Code Block |
---|
colOrder: ( ASC | DESC ) orderBy: ORDER BY colName colOrder? (',' colName colOrder?)* query: SELECT expression (',' expression)* FROM src orderBy |
There are some limitations in the "order by" clause. In the strict mode (i.e., hive.mapred.mode=strict), the order by clause has to be followed by a "limit" clause. The limit clause is not necessary if you set hive.mapred.mode to nonstrict. The reason is that in order to impose total order of all results, there has to be one reducer to sort the final output. If the number of rows in the output is too large, the single reducer could take a very long time to finish.
Note that columns are specified by name, not by position number. However in Hive 0.11.0 and later, columns can be specified by position if hive.groupby.orderby.position.alias is set to true (the default is false).
Syntax of Sort By
The SORT BY syntax is similar to the syntax of ORDER BY in SQL language.
...