分享

hive数据仓库如何对大型订单表做数据分区?

在经常使用订单支付时间的一张大型订单表,怎么做分区比较合适?用支付时间做分区的话,怎么解决数据更新的问题?
狂暴打码中。

已有(7)人评论

跳转到指定楼层
YTP520YTP 发表于 2020-4-27 15:11:52
业务时间 如今天2020042710点
回复

使用道具 举报

阿飞 发表于 2020-4-27 16:34:30
首先数据仓库一般不支持更新,但是即使选用时间,更新也应该不是难题,未get到楼主想提问的问题。
可以在详细说说,比如时间作为分区,更新存在什么问题。
回复

使用道具 举报

linbingfeng@123 发表于 2020-5-26 18:45:43
阿飞 发表于 2020-4-27 16:34
首先数据仓库一般不支持更新,但是即使选用时间,更新也应该不是难题,未get到楼主想提问的问题。
可以在 ...

会有动态分区的问题,比如今天同步的订单中,涉及的订单可能最近一段时间内每一天的订单,但是这个时间我们是不确定的,就是我们不知道具体的时间是由多长。
回复

使用道具 举报

linbingfeng@123 发表于 2020-5-26 18:46:55
YTP520YTP 发表于 2020-4-27 15:11
业务时间 如今天2020042710点

那怎么假设多个分区的数据有更新,那怎么操作合适?
回复

使用道具 举报

YTP520YTP 发表于 2020-5-27 09:04:00
linbingfeng@123 发表于 2020-5-26 18:46
那怎么假设多个分区的数据有更新,那怎么操作合适?

先设置临时表与总表关联,获取增量数据,然后insert into 到各个分区里面
回复

使用道具 举报

linbingfeng@123 发表于 2020-5-27 16:00:56
YTP520YTP 发表于 2020-5-27 09:04
先设置临时表与总表关联,获取增量数据,然后insert into 到各个分区里面

就是结果表里面的数据是有变动的,比如某个订单的订单状态变更了,使用insert into 这部分数据会重复的。
回复

使用道具 举报

YTP520YTP 发表于 2020-5-27 16:08:33
linbingfeng@123 发表于 2020-5-27 16:00
就是结果表里面的数据是有变动的,比如某个订单的订单状态变更了,使用insert into 这部分数据会重复的。

那你设置拉链表,网上搜索学习一下,使用拉链表
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条