大数据环境下数据仓库的实践(四)—— 主题域的划分及任务和工作流的组织方式

主题域的划分

由于数据仓库跨部门,所以必然存在某些数据关系密切,而某些数据相互比较独立。于是相关的一组数据往往被划成一个个主题域。主题域是为了更好地组织数据仓库。

我们以一个普通的买卖为例,这里的主题域可以划分为:卖家(商家)、买家(客户)、商品、交易、营销等。每个域下面还可以根据业务的复杂程度设置自己的子域,例如交易域下还可以设置正向交易、逆向交易(退款)。

主题域和维度的迷惑

主题域和维度经常容易被混淆。一个主题域只会在它的主题范围内获得所需要的数据,而不会从其他域中获取。

举个例子,当我们要考察某个商品的销售数量时,它需要从交易域获取数据。因此商品销量并不属于商品域,而是交易域的数据。

商品是一个 维度,那么商品域的数据长什么样呢?例如,在售商品数是属于商品域的,它不需要考察交易的情况。

任务的组织方式

任务是组成工作流的最小单位,也是完成一次 数据流转 的最小开发单位,同时也是调度任务进行失败重试的最小单位。

熟悉Informatica的小伙伴可以把它看成mapping。一个表的导入是一个任务,一段带insert操作的Hive SQL也是一个任务。

应当尽可能做到一个任务只操作一张表。反之,一张表也只由一个任务进行写操作。也就是任务和表一一对应。多个任务操作一张表容易造成写入顺序不清晰,追加和覆盖不清晰,重跑任务易漏等风险。一个任务操作多张表则在并行度上就已经显示出劣势了,同时还存在耦合度高、失败重跑成本高等一系列问题。

单个任务的运行时间可以从几分钟到几百分钟不等,但基于失败重试的成本考虑,应当尽可能将单个任务的运行时间控制在1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值