- 浏览: 333789 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
di1984HIT:
谢谢,写的不错。
使用hector操作Cassandra -
mr_von:
非常感谢!
paoding的分词使用 -
howgoo:
http://www.dhtmlx.com/docs/prod ...
dhtmlxGrid分页与排序 -
青春的、脚步:
谢谢
spring-data-mongodb的MongoTemplate 使用小例子 -
青春的、脚步:
xiaofancn 写道青春的、脚步 写道这个能查询都个值在某 ...
spring-data-mongodb的MongoTemplate 使用小例子
参考
https://docs.jboss.org/author/display/ISPN/Infinispan+Distributed+Execution+Framework#InfinispanDistributedExecutionFramework-MapReducemodel
首先下载我们的infinispan5的运行环境
https://github.com/infinispan/infinispan-quickstart.git
中org.infinispan.quickstart.clusteredcache.distribution.NodeClient类为
package org.infinispan.quickstart.clusteredcache.distribution; import java.util.Date; import java.util.Iterator; import java.util.Map; import java.util.StringTokenizer; import java.util.Map.Entry; import org.infinispan.Cache; import org.infinispan.config.Configuration; import org.infinispan.config.GlobalConfiguration; import org.infinispan.config.Configuration.CacheMode; import org.infinispan.distexec.mapreduce.Collator; import org.infinispan.distexec.mapreduce.Collector; import org.infinispan.distexec.mapreduce.MapReduceTask; import org.infinispan.distexec.mapreduce.Mapper; import org.infinispan.distexec.mapreduce.Reducer; import org.infinispan.manager.DefaultCacheManager; import org.infinispan.manager.EmbeddedCacheManager; /** * @author :xiaofancn * @version :2011-11-30 下午10:15:44 * */ public class NodeClient { public static EmbeddedCacheManager createCacheManagerProgramatically() { return new DefaultCacheManager(GlobalConfiguration .getClusteredDefault().fluent().transport() .addProperty("configurationFile", "jgroups.xml").build(), new Configuration().fluent().mode(CacheMode.DIST_ASYNC).hash() .numOwners(2).build()); } static class WordCountMapper implements Mapper<String, String, String, Integer> { private static final long serialVersionUID = 1L; @Override public void map(String key, String value, Collector<String, Integer> c) { StringTokenizer tokens = new StringTokenizer(value); while (tokens.hasMoreElements()) { System.out.println(key + "=================" + value); String s = (String) tokens.nextElement(); c.emit(s, 1); } } } static class WordCountReducer implements Reducer<String, Integer> { /** The serialVersionUID */ private static final long serialVersionUID = 1901016598354633256L; @Override public Integer reduce(String key, Iterator<Integer> iter) { int sum = 0; while (iter.hasNext()) { Integer i = (Integer) iter.next(); sum += i; } System.out.println(key+":"+sum); return sum; } } public static void main(String[] args) { Cache<String, String> cache = createCacheManagerProgramatically() .getCache("Demo"); int count = 1000000000; for (int i = 0; i < count; i++) { cache.put("" + i, "" + i); } cache.put("" + count, "" + 4); System.out.println(new Date()); Long start = System.currentTimeMillis(); MapReduceTask<String, String, String, Integer> task = new MapReduceTask<String, String, String, Integer>( cache); task.mappedWith(new WordCountMapper()).reducedWith( new WordCountReducer()); String mostFrequentWord = task .execute(new Collator<String, Integer, String>() { @Override public String collate(Map<String, Integer> reducedResults) { String mostFrequent = ""; int maxCount = 0; for (Entry<String, Integer> e : reducedResults .entrySet()) { Integer count = e.getValue(); if (count > maxCount) { maxCount = count; mostFrequent = e.getKey(); } } return mostFrequent; } }); System.out.println(new Date()); System.out.println(System.currentTimeMillis() - start); System.out.println("The most frequent word is " + mostFrequentWord); } }
分别运行
org.infinispan.quickstart.clusteredcache.distribution.Node0
org.infinispan.quickstart.clusteredcache.distribution.Node1
org.infinispan.quickstart.clusteredcache.distribution.Node2
org.infinispan.quickstart.clusteredcache.distribution.NodeClient
发表评论
-
spring cloud gateway 全局过滤器。
2019-03-17 23:11 539spring cloud gateway 网关 ... -
elasticsearch 5.4搜索
2017-05-19 08:37 148@Test public void t ... -
netty简单的操作memcached
2017-04-19 18:59 992pom文件 <dependency> ... -
juc系列-Executor框架
2017-03-20 13:34 713转自 juc系列-Executor框架 什 ... -
ReentrantLock 类
2017-03-19 21:11 11.1 什么是reentrantlock java.u ... -
juc之CountDownLatch、CyclicBarrier和Semaphore例子
2017-03-19 17:23 849import java.util.concurren ... -
netty客户端与服务端例子
2017-03-12 20:07 2812package com.snailteam.nett ... -
freemaker集成spring
2017-02-26 19:00 581<bean id="freeMark ... -
spring集成Hessian插件配置改成自动注入。
2017-02-10 15:39 848原来的配置 <bean name="/ ... -
web开发模版
2017-02-09 14:42 0# Rules reminder: # DEBUG &l ... -
Java多线程
2017-02-04 14:39 525线程状态图 新建状态(New): ... -
hash冲突解决
2017-01-23 18:30 4791、开放地址法有一个公式: m是hash表长度,di ... -
mybatis +spring 分库
2015-04-30 17:56 353<context:component-scan b ... -
Java并发任务处理例子
2014-02-12 16:06 1148public void init() { su ... -
JAVA动态代理模式
2012-10-03 01:01 1207这是我要实现的效果 public static ... -
paoding的分词使用
2012-06-13 21:30 4877paoding下载 http://code.googl ... -
使用spring-hadoop操作hadoop
2012-05-20 02:12 32参考文章 http://blog.springsource. ... -
solr3.5集成paoding和位置搜索及对solrj的使用。
2012-04-28 02:12 2023http://xiaofancn.iteye.com/blog ... -
日期处理DateUtils
2012-03-24 09:47 4858import java.text.SimpleDateF ... -
Cassandra的数据分布情况测试
2012-03-16 15:09 20541、规划种子节点ip和Token值的对应 4个种子 ...
相关推荐
CastMapR 的 API 深受 Infinispan 的 MapReduce 实现的启发(感谢 RedHat 的人!),它完全透明地可用于 HazelcastClient 连接。 CastMapR 支持在 IMap、IList 和 MultiMap 上执行 MapReduce 任务,而
例如,分散的集合可以在节点间共享,通过分布式缓存(如Hazelcast或Infinispan)实现高效的数据交换。 5. **ZooKeeper** ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着...
6. **Java CORBA (Common Object Request Broker Architecture)**: 虽然现在较少使用,但CORBA曾是Java实现分布式计算的重要工具,提供了一种标准化的方式来使不同系统间的对象相互通信。 7. **Spring Framework**:...
5. 分布式缓存:如Apache Ignite、Hazelcast和Infinispan等,这些Java库提供分布式缓存功能,可以跨多个节点存储和检索数据,提高性能。 6. 分布式数据库:例如Cassandra、MongoDB和HBase等,它们提供跨多台机器的...
《SSD8 Manning - Distributed Programming with JAVA》是关于使用Java进行分布式编程的参考资料,主要针对想要深入理解并实践Java在分布式系统中的应用的学习者。分布式编程是现代软件开发中的一个重要领域,它允许...