3. 使用Vectorization
Vectorized查询执行会提高操作性能,例如scans、aggregations、filters和joins,通过一次执行1024行提高性能。
该属性在hive 0.13版本引入,该属性能够提高查询执行的时间。
通过设置以下两个参数:
[code language=”SQL”]
set hive.vectorized.execution.enabled = true;
set hive.vectorized.execution.reduce.enabled = true;
[/code]
set hive.vectorized.execution.enabled=false;
默认关闭,开启后,每次处理数据时会将1024行数据组成一个batch进行处理,而不是一行一行进行处理,这样能够显著提高执行速度。
支持的操作过程有:
1.arithmetic: +, -, *, /, %
2.AND, OR, NOT
3.comparisons <, >, <=, >=, =, !=, BETWEEN, IN (list-of-constants ) as filters
4.Boolean-valued expressions (non-filters) using AND, OR, NOT, <,>, <=, >=, =, !=
5.IS [NOT] NULL
6.all math functions (SIN, LOG, etc.)
7.string functions SUBSTR, CONCAT, TRIM, LTRIM, RTRIM, LOWER, UPPER,LENGT