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

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

DimensionConverter类作用&问题

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

解决方案

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

代码步骤

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏星流全栈

可扩展的实时后端 — DeepStream.io简介

1685
来自专栏Golang语言社区

【Go 语言社区】研究Redis 作为服务器缓存配置的可行性(一)

最近在研究Redis 作为服务器缓存配置的可行性问题,今天我们测试高并发下的写入数据。 不管对于单服还是集群服务器组,同样涉及到数据...

2627
来自专栏我是攻城师

DB-Engines 2014 年度数据库 —— MongoDB

2727
来自专栏前端杂货铺

Nodejs“实现”Dubbo Provider

目前nodejs应用越来越广泛,但和java的dubbo体系接入困难,所以我们需要实现node端的dubbo provider逻辑。java的dubbo pro...

531
来自专栏owent

对象路由系统设计

现在的手游也开始越来越复杂,以前少量交互线上保存的服务器架构越来越不能满足现在越来越偏向PC端MMORPG的需求。比如现在手游也引入了地图服务、公会服务等等。特...

721
来自专栏ImportSource

微服务业务开发三个难题-拆分、事务、查询(下)

上集:微服务业务开发三个难题-拆分、事务、查询(上) 上集我们阐述了使用微服务体系架构的关键障碍是领域模型,事务和查询,这三个障碍似乎和功能拆分具有天然的对抗...

43512
来自专栏微服务生态

利用多写Redis实现分布式锁原理与实现分析

在我写这篇文章的时候,其实我还是挺纠结的,因为我这个方案本身也是雕虫小技拿出来显眼肯定会被贻笑大方,但是我最终还是拿出来与大家分享,我本着学习的态度和精神,希望...

863
来自专栏杨建荣的学习笔记

运维开发里的数据动态获取和自动补录

在运维平台的设计中,目前有两套系统是并存,并行发展的,其中一部分原因是涉及的业务不同,关注点不同。所以在设计CMDB的部分时,最开始我是整合了已有的实现...

924
来自专栏Java编程技术

Dubbo剖析-服务降级

dubbo提供了一些服务降级措施,当服务提供端某一个非关键的服务出错时候,dubbo可以对消费端的调用进行降级,这样服务消费端就避免了在去调用出错的服务提供端,...

922
来自专栏架构师之路

多对多业务,数据库水平切分架构一次搞定

本文将以“好友中心”为例,介绍“多对多”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践。 一、什么是多对多关系 所谓的“多对多”...

3016

扫码关注云+社区