面试题-Storm框架】的更多相关文章

我们知道Storm本身是一个独立运行的分布式流式数据处理框架,Springboot也是一个独立运行的web框架.那么如何在Strom框架中集成Springboot使得我们能够在Storm开发中运用Spring的Ioc容器及其他如Spring Jpa等功能呢?我们先来了解以下概念: Storm主要的三个Component:Topology.Spout.Bolt.Topology作为主进程控制着spout.bolt线程的运行,他们相当于独立运行的容器分布于storm集群中的各个机器节点. Sprin…
1 Topology构成 和同样是计算框架的Mapreduce相比,Mapreduce集群上运行的是Job,而Storm集群上运行的是Topology.但是Job在运行结束之后会自行结束,Topology却只能被手动的kill掉,否则会一直运行下去. Storm集群中有两种节点,一种是控制节点(Nimbus节点),另一种是工作节点(Supervisor节点).所有Topology任务的提交必须在Storm客户端节点上进行(需要配置~/.storm/storm.yaml文件),由Nimbus节点分…
* Storm框架基础(一) Storm简述 如果你了解过SparkStreaming,那么Storm就可以类比着入门,在此我们可以先做一个简单的比较:  在SparkStreaming中: 我们曾尝试过每秒钟的实时数据处理,或者使用Window若干时间范围内的数据统一处理结果.亦或统计所有时间范围内的数据结果. 在Storm中: 我们可以根据进来的每一条数据进行实时处理,也就是说,Storm处理数据的速度,要小于1秒,也就是毫秒级别的. 如果你疑问,1秒处理1次数据,和进来1条数据处理1次有什…
Spring Spring 是什么 一个开发框架,一个容器,主要由面向切面AOP 和依赖注入DI两个方面,外加一些工具 AOP和IOC AOP 面向切面 AOP是一种编程思想,主要是逻辑分离, 使业务耦合程度降低,减少重复代码 Spring的AOP实现主要基于动态代理 ,如果是继承了接口的类 Spring使用的是JDK Proxy ,如果是未继承接口的对象, Spring使用的是cglib,生成一个改对象的子类 IOC 控制翻转 IOC,是一种思想,把原先要交给程序员去做的事情交给容器去做,比如…
1.storm基本架构 storm的主从分别为Nimbus.Supervisor,工作进程为Worker. 2.计算模型 Storm的计算模型分为Spout和Bolt,Spout作为管口.Bolt作为中间节点,数据传输的单元为tuple,每个tuple都有一个值列表, 需要注意这个值列表是带name列表的,Bolt只需要订阅Bolt/Spout的值列表的某些name,就能获得该Bolt/Spout传过来的相应字段的数据. 需要清楚并行度是怎么计算的,并行度其实就是Task的数目(也就是Bolt/…
[Java面试五]Spring总结以及在面试中的一些问题.   1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spring框架管理,简单说,就是创建UserService对象控制权被反转到了Spring框架 DI:Dependency Injection 依赖注入,在Spring框架负责创建Bean对象时,动态的将依赖对象注入到Bean组件   面试题…
Storm简介: Storm起源Twitter开源的一个类似于Hadoop的实时数据处理框架,不过两则还是有区别的,Hadoop是批量处理数据,而Storm处理的是实时的数据流. Storm应用场景: 1.推荐系统:实时跟新模型查询并推荐,根据下单或者加入购物车推荐相关商品. 1.网站统计:实时销量,统计流量(PV,UV). 3.监控预警系统,各个金融系统(金融风控,信用卡反欺诈). 4.日志处理:处理系统中海量日志数据. Storm特性: 1.适用场景非常广泛:实时处理和更新,持续并行化查询,…
先来看一下集合框架关系图 Collection FrameWork 如下: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection 是最基本的集合接口,一个Collection 代表一组Object,即Collection 的元素(Elements). Map 提供key 到value 的映射.  List.LinkedList…
Storm除了能对消息流进行处理,还能实现crontab定时任务. 只要在bolt中配置TOPOLOGY_TICK_TUPLE_FREQ_SECS项即可实现. @Override public Map<String, Object> getComponentConfiguration() { Config conf = new Config(); conf.put(Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS, 60); //每隔60s发送一次tick信号 retu…
Strom框架基本概念就不提了,这里主要讲的是Stream自定义ID的消息流.默认spout.bolt都需实现接口方法declareOutputFields,代码如下: @Override public void declareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer) { outputFieldsDeclarer.declare(new Fields("body")); } 这种情况下发的消息会被所有定义的bolts…