大数据开发工程师Hive(Hive Sql的执行顺序)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据开发工程师Hive(Hive Sql的执行顺序)相关的知识,希望对你有一定的参考价值。

参考技术A

Hive中SQL的执行顺序:

(1) from :对from左边的表和右边的表计算笛卡尔积,产生虚表VT1;

(2) on : 对虚表VT1进行on过滤,只有那些符合 的行才会被记录在虚表VT2中;

(3) join :如果指定了outer join(比如left join、 right join),那么保留表中未匹配的行就会作为外部行添加到虚拟表VT2中,产生虚拟表VT3;

(4) where :对虚拟表VT3进行where条件过滤。只有符合 的记录才会被插入到虚拟表VT4中;

(5) group by :根据group by子句中的列,对VT4中的记录进行分组操作,产生VT5;

(6) having : 对虚拟表VT5应用having过滤,只有符合 的记录才会被 插入到虚拟表VT6中;

(7) select :执行select操作,选择指定的列,插入到虚拟表VT7中;

(8) distinct :对VT7中的记录进行去重。产生虚拟表VT8;

(9) order :将虚拟表VT8中的记录按照 进行排序操作,产生虚拟表VT9;

(10) limit :取出指定行的记录,产生虚拟表VT10, 并将结果返回;

partition by 通常会用于和开窗及分析函数一起使用,partition by是在select执行完 的结果集上进行的;


(每日1小题,进步1点点)

以上是关于大数据开发工程师Hive(Hive Sql的执行顺序)的主要内容,如果未能解决你的问题,请参考以下文章

不care工具,在大数据平台中Hive能自动处理SQL

《大数据开发》Hive

《大数据开发》Hive

《大数据开发》Hive

《大数据开发》Hive

Hive内容总结