You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "chuxiao (Jira)" <ji...@apache.org> on 2020/08/28 05:51:00 UTC

[jira] [Updated] (KYLIN-4728) hive-mr global dict optimize

     [ https://issues.apache.org/jira/browse/KYLIN-4728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

chuxiao updated KYLIN-4728:
---------------------------
    Description: 
如图所示,
如果量度列有高比例null值,“用字典编码临时表替换原始中间表” 这步,会有严重的数据倾斜长尾,单次sql执行时间超过50分钟。join可以优化为broardcast或再加一张临时表,先处理null,再处理非null。

如果使用Hive-MR字典的同时指定该量度列是全域字典,目前依然会用tiretree算法单机构建维度列全局字典。该场景下这步是可以优化掉的。

多个量度列需要构建全局字典时,“用临时字典表替换原始中间表”这步,各量度的替换是串行的,如果7列就要依次替换7遍。在全域字典场景下,可以只用一个sql完成替换。
        Summary: hive-mr global dict optimize  (was: hive global dict optimize)

> hive-mr global dict optimize
> ----------------------------
>
>                 Key: KYLIN-4728
>                 URL: https://issues.apache.org/jira/browse/KYLIN-4728
>             Project: Kylin
>          Issue Type: Improvement
>            Reporter: chuxiao
>            Priority: Major
>         Attachments: 111.png, 2222.png
>
>
> 如图所示,
> 如果量度列有高比例null值,“用字典编码临时表替换原始中间表” 这步,会有严重的数据倾斜长尾,单次sql执行时间超过50分钟。join可以优化为broardcast或再加一张临时表,先处理null,再处理非null。
> 如果使用Hive-MR字典的同时指定该量度列是全域字典,目前依然会用tiretree算法单机构建维度列全局字典。该场景下这步是可以优化掉的。
> 多个量度列需要构建全局字典时,“用临时字典表替换原始中间表”这步,各量度的替换是串行的,如果7列就要依次替换7遍。在全域字典场景下,可以只用一个sql完成替换。



--
This message was sent by Atlassian Jira
(v8.3.4#803005)