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行,而不是一次处理一行,速度才会快。

 

 

 

posted @ 2022-08-30 17:51  人不疯狂枉一生  阅读(318)  评论(0编辑  收藏  举报