Hadoop离线数据分析平台实战——390DimensionConverter相关服务设计

Hadoop离线数据分析平台实战——390DimensionConverter相关服务设计

DimensionConverter类作用&问题

DimensionConverter主要是对维度信息进行操作,
包括维度id的获取、维度信息的保存等操作,通过该接口提供的服务,
我们可以很方便的将操作维度表的方法进行模块化设计。
问题:当设计成为多个reducer的时候,每个reducer的输出是在不同的jvm中的,
所以就会有不同的实例对象进行操作维度表,
可能会导致数据库数据异常,针对这种情况,
故我们需要将DimensionConverter相关服务进行模块化设计。

解决方案

由于我们采用的是hadoop集群,故我们可以直接采用master-slave结构,
我们自定创建一个hadoop的rpc服务,
然后在各个需要进行该操作的reducer端创建该服务的远程代理对象,
通过这种方式将操作维度表的操作放到一个对象中去。

代码步骤

  1. master提供服务
  2. slave通过代理对象获取值
  3. 测试

你可能感兴趣的:(Hadoop离线数据分析平台实战——390DimensionConverter相关服务设计)