[ 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)