分享

请教:mapreduce作业中的多指标去重问题

wjhdtx 发表于 2014-11-24 08:16:16 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 13 25783
nettman 发表于 2014-11-25 15:00:36
参考这篇试试


zookeeper适用场景:分布式锁实现
回复

使用道具 举报

wjhdtx 发表于 2014-11-25 16:58:37
本帖最后由 wjhdtx 于 2014-11-25 17:06 编辑
nettman 发表于 2014-11-25 14:50
可以看看zookeeper是否与redis相结合

分布式锁服务。当分布式系统操作数据,例如:读取数据、分析数 ...

谢谢。个人认为zookeeper实现分布式锁和其他代码都能结合。

关键是zookeeper和redis实现的分布式锁性能谁比较牛叉?(ps:基于我对二者浅薄的认识,觉得redis实现的分布式锁更佳)

使用了@desehawk 提供的redis分布式锁的实现,作业的执行时间会增加不少。

回复

使用道具 举报

wjhdtx 发表于 2014-11-26 18:33:09
本帖最后由 wjhdtx 于 2014-11-26 18:34 编辑

zookeeper的分布式锁试了以下,问题也不少;@desehawk 提供的redis分布式锁测试效率挺高,加到hadoop中就不行。

加了分布式锁会使程序的运行效率变得很低。

我打算暂不使用分布式锁了,因为
  1.                 if(redis.sIsMember(lpSetKey.getBytes(), loginIp.getBytes()))
  2.                 {
  3.                         lp = 1;
  4.                         redis.sAdd(lpSetKey.getBytes(), loginIp.getBytes())
  5.                 }
复制代码


这个代码的执行是非常快的,应该是毫秒级别,多个map并行运行时发生线程安全的可能性很低,我自己也做了测试。

如果想要100%的准确性,建议执行多个作业来完成,当然可以把需要去重的数据从原有日志中分离,减少运行时间,见招拆招了。
回复

使用道具 举报

desehawk 发表于 2014-11-26 18:41:28
wjhdtx 发表于 2014-11-26 18:33
zookeeper的分布式锁试了以下,问题也不少;@desehawk 提供的redis分布式锁测试效率挺高,加到hadoop中就不 ...



适合自己的才是最好的。
回复

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条