新手在这里与Hadoop.从概念上讲,理解起来非常简单,然而,真正的挑战之一是如何在map-reduce架构中对要解决的问题进行建模.假设我的数据包含两部分(全部在oracle中):1.相反静态数据不会发生太大变化2.每天收集的新数据.
目前数据处理基本上是读取新数据,查找并使用相应的静态数据(或元数据)并在其上应用一些算法并将其转储回Oracle.
我如何建模这样的应用范例?我是否将静态数据保存/存储为分布式缓存的一部分?如果那个数据很大怎么办?
基本上我正在寻找更多如下例子:http: //stevekrenzel.com/finding-friends-with-mapreduce
谢谢,
简单场景:
顶级B类,系统的其他部分可以使用它来发送和接收消息(可以模拟同步和异步).此类创建ClientBootstrap,设置管道工厂,调用bootstrap.connect()并最终获得A类的句柄/引用,用于发送和接收消息.就像是:
ChannelFuture future = bootstrap.connect();
Channel channel = future.awaitUninterruptibly().getChannel();
Run Code Online (Sandbox Code Playgroud)
处理程序= channel.getPipeline().get(A.class);
我知道在A类中,我可以覆盖public void channelClosed(ChannelHandlerContext ctx,ChannelStateEvent e); 这样当远程服务器关闭时,我会收到通知.
由于在关闭通道之后,B类中的原始类A引用(上面的处理程序)不再有效,因此我需要用新引用替换它.
理想情况下,我希望类A具有在上面覆盖的channelClosed方法中通知类B的机制,因此可以在类B中再次调用bootstrap.connect.一种方法是在类A中引用引用类B的引用要做到这一点,我需要将B类引用传递给PipelineFactory,然后让PipelineFactory将B的引用传递给A.
任何其他更简单的方法来实现同样的事情?
谢谢,