栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hive下慎用insert overwrite用法 和 随机函数做为bucket

hive下慎用insert overwrite用法 和 随机函数做为bucket

     当前hive社区已到3.1.2版本,较多hive用户还不太清楚在0.14版本之后开始已支持事务,对于批处理任务中要用到update/delete/merge into的场景,非常受用。当前较多hive用户在做数据更新时还在用insert overwrite的用法,可以想象一下,如果是高并发的情况下,可能会出现什么情况? 

    在数仓/集市设计的过程中,表结构的设计尤为重要。对于hive来说,分区、分桶设计的好坏,可以直接影响批处理任务的执行效率,分桶如使用不当,则可能出现数据异常的情况,后果不堪设想。如:某开发人员为了图省事,将bucket字段选择了一个随机函数,看似挺“机灵”,数据分布挺均匀,实在存在较大隐患,大家都知道,数据写入过程为MapReduce任务,一旦在执行过程中出现任务失败、重试,随机值势必重新生成,数据也必然重新分布,对于已完成的reduce任务节点,是不是可能就出现了丢数据的情况。

    因此,在bucket字段的选择上,一定要选择有实际业务意义、离散度高的字段。严禁使用随机函数。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/423293.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号