Bolts

storm介绍,核心组件,编程模型

纵饮孤独 提交于 2020-04-27 21:00:59
一、流式计算概念   利用分布式的思想和方法,对海量“流”式数据进行实时处理,源自业务对海量数据,在“时效”的价值上的挖掘诉求,随着大数据场景应用场景的增长,对流式计算的需求愈发增多,流式计算的一般架构图如下:      Flume获取数据-->Kafka传递数据-->Strom计算数据-->Redis保存数据 二、storm介绍   Apache Storm是一个分布式实时大数据处理系统。Storm设计用于在容错和水平可扩展方法中处理大量数据。它是一个流数据框架,具有最高的摄取率。Storm是无状态的,它通过Apache ZooKeeper管理分布式环境和集群状态。它很简单,您可以并行地对实时数据执行各种操作,成为实时数据分析的领导者。   通俗的说,Storm用来实时处理数据,特点:低延迟、高可用、分布式、可扩展、数据不丢失。提供简单容易理解的接口,便于开发。 三、storm应用场景和典型案例    应用场景:    (1)监控日志分析: 从海量日志中分析出特定的数据,并将分析的结果用来辅佐决策,或存入外部存储器。    (2)用户行为: 实时分析用户的行为日志,将最新的用户属性反馈给搜索引擎,能够为用户展现最贴近其当前需求的结果。    (3)用户画像: 收集,维护用户兴趣,并在此基础上向对应受众的用户投放不同的数据和信息。   典型案例:    (1)广告投放:

andorid jar/库源码解析

て烟熏妆下的殇ゞ 提交于 2020-04-24 12:48:26
前言   本篇作为开篇,会大体上说明,需要解读源码的,类库,或者jar。 序   原本,类库和jar的系列准备写到逆向系列课程的,但是那个东西,在写了两篇,就没有后续了,现在也不知道从哪里开始了, 只能等后期想好了,再开篇单独写吧。 目录:   EventBus、Dagger、okhttp、retrofit、butterknife、zxing、Bolts、RxJava   org.apache.commons.codec、org.apache.commons.lang、org.apache.commons.io   io.netty、io.fabric、cat.ereza、javax、msgpack、zip4j   com.davemorrissey.labs、com.daimajia.easing、com.arcsoft.livebroadcast、pl.droidsonroids.gif 厂牌库:   XXX 工具库:    来源: oschina 链接: https://my.oschina.net/u/4265622/blog/3685595

如何查看Gradle项目的依赖树情况-排查 Unable to merge dex问题

≯℡__Kan透↙ 提交于 2019-12-06 12:28:08
一、问题描述 今天在编写代码过程中,引入了一个组内新的封装库,导致编译冲突。如下所示: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':demo:transformDexArchiveWithExternalLibsDexMergerForDebug'. > java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. * Get more help at https://help.gradle.org BUILD FAILED in 8s 51 actionable tasks: 13 executed, 38 up-to-date 1 2 3 4 5 6 7 8 9 10 11 12 13 点击 【Run with -

聊聊storm的WindowedBolt

纵然是瞬间 提交于 2019-12-03 13:41:37
序 本文主要研究一下storm的WindowedBolt 实例 @Test public void testSlidingTupleTsTopology() throws InvalidTopologyException, AuthorizationException, AlreadyAliveException { TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("integer", new RandomIntegerSpout(), 1); BaseWindowedBolt baseWindowedBolt = new SlidingWindowSumBolt() //windowLength , slidingInterval .withWindow(new BaseWindowedBolt.Duration(5, TimeUnit.SECONDS), new BaseWindowedBolt.Duration(3, TimeUnit.SECONDS)) //通过withTimestampField指定tuple的某个字段作为这个tuple的timestamp .withTimestampField("timestamp") //输入流中最新的元组时间戳的最小值减去Lag值=watermark

聊聊flink如何兼容StormTopology

◇◆丶佛笑我妖孽 提交于 2019-12-03 08:06:45
序 本文主要研究一下flink如何兼容StormTopology 实例 @Test public void testStormWordCount() throws Exception { //NOTE 1 build Topology the Storm way final TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("spout", new RandomWordSpout(), 1); builder.setBolt("count", new WordCountBolt(), 5) .fieldsGrouping("spout", new Fields("word")); builder.setBolt("print", new PrintBolt(), 1) .shuffleGrouping("count"); //NOTE 2 convert StormTopology to FlinkTopology FlinkTopology flinkTopology = FlinkTopology.createTopology(builder); //NOTE 3 execute program locally using FlinkLocalCluster Config conf = new