Apache Storm与Hadoop安全相关技术解析
1. Apache Storm的Trident API
Apache Storm除了提供用于构建拓扑的常规API外,还提供了Trident API,这是一种在Storm之上进行实时计算的高级抽象。如果你熟悉Pig或Cascading等高级批处理框架,那么Trident的概念对你来说会很熟悉。Trident能让你优雅地表达实时计算,同时获得最大性能。它允许你以自然的方式构建容错的实时计算,而无需接触底层API来控制流分组和确认元组。此外,Trident还为任何数据库或持久存储添加了有状态、增量处理的原语。最重要的是,Trident具有一致性和精确一次语义,这是普通API所没有的。如果你需要构建一些要求最强一致性的应用程序,应该使用Trident API。
以下是一个使用Trident实现的单词计数程序的代码片段:
TridentTopology topology = new TridentTopology();
TridentState wordCounts =
topology.newStream("spout1", spout)
.each(new Fields("sentence"), new Split(), new Fields("word"))
.groupBy(new Fields("word"))
.persistentAggregate(new MemoryMapState.Factory(), new Count(), new Fields("count"))
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



