Hive之企業級引數優化

2021-09-24 11:46:36 字數 845 閱讀 1519

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

Hive 企業級優化技巧

注意 在資料量很大的情況下,先使用group by去重再count 計數,效率要高於count distinct 1 grouping sets 在group by查詢中,根據不同的維度組合進行聚合,等價於 將不同維度的group by結果集進行union all。聚合規則在括號中進行指定。注意 聚...

Hive企業級調優

對sql語句的優化 統計個數使用count 1 不要使用count 查詢字段不要select 使用select 字段 使用特殊的儲存格式 列式儲存 orc,parquet 建表的時候 stored as orc 小表join大表 mr程式中的map端 jojn 小表是個小檔案可以分布式的快取到集群的...

Hive企業級調優(五)

推測執行 在分布式集群環境下,因為程式bug 包括hadoop本身的bug 負載不均衡或者資源分布不均等原因,會造成同乙個作業的多個任務之間執行速度不一致,有些任務的執行速度可能明顯慢於其他任務 比如乙個作業的某個任務進度只有50 而其他所有任務已經執行完畢 則這些任務會拖慢作業的整體執行進度。為了...