Hive向量化使用规则
经常听到有开发人员抱怨开启了向量化,查询速度怎么还这么慢,其实Hive开启向量化并不是万能的,它需要同时满足以下两个条件才能发挥出效果。
1.表的存储类型
表存储的格式需要是Orc或者Parquet,简单的说就是列存储。
2.向量化支持的函数
以下是官网的关于支持向量化的函数,不在这里面的函数是不支持的。
arithmetic: +, -, *, /, %AND, OR, NOTcomparisons <, >, <=, >=, =, !=, BETWEEN, IN ( list-of-constants ) as filtersBoolean-valued expressions (non-filters) using AND, OR, NOT, <, >, <=, >=, =, !=IS [NOT] NULLall math functions (SIN, LOG, etc.)string functions SUBSTR, CONCAT, TRIM, LTRIM, RTRIM, LOWER, UPPER, LENGTHtype castsHive user-defined functions, including standard and generic UDFsdate functions (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, UNIX_TIMESTAMP)the IF conditional expression
所以只有满足以上两个条件,开启向量化才能达到一次处理1024行,而不是一次处理一行,速度才会快。


浙公网安备 33010602011771号