zoukankan      html  css  js  c++  java
  • storm 简介

     一、storm中一些定义

           1.Topologies

          Storm topology类似于一个MapReduce job. 唯一不同的是MapReduce任务会结束而 topology一直运行。一个topology是由spouts,bolts组成的流分组图。

           2.Streams

        Stream由无序的tuples组成。tuple可以包含integers, longs, shorts, bytes, strings, doubles, floats, booleans, and byte arrays,也可以自己定义序列化使用自己定义的类型。

          Streams are defined with a schema that names the fields in the stream's tuples. By default, tuples can contain integers, longs, shorts, bytes, strings, doubles, floats, booleans, and byte arrays. You can also define your own serializers so that custom types can be used natively within tuples

           3.Spouts

           spouts是topology的源头, 一般spouts 会从外部读取tuples到topology.

          4.bolts

            所有的处理工作都是在bolts中完成的。Bolts可以做filtering, functions, aggregations, joins, talking to databases等等。

            定义一个bolt时候,需要从另一个组件中订阅流量。declarer.shuffleGrouping("1") 从 component "1"订阅流量。

          5.Stream groupings

          定义一个topology通常会为每个bolt指定stream输入。stream分组就是将stream分配给bolts。
          6.Tasks
         每个spout或bolt在cluster中执行很多任务。 每个任务对应一个执行线程,Stream groupings定义如何将元组从一组任务发送到另一组任务。
          7.works
          Topologies execute across one or more worker processes. Each worker process is a physical JVM and executes a subset of all the tasks for the topology. 
     二、storm配置对应的topology

     二、参考文献

    http://storm.apache.org/releases/2.0.0-SNAPSHOT/Concepts.html

    http://storm.apache.org/releases/2.0.0-SNAPSHOT/Understanding-the-parallelism-of-a-Storm-topology.html

  • 相关阅读:
    sql中关于存在就不做操作的代码块
    mysql插入多条数据时间复杂度比较
    oracle in VS or效率
    如何实现分布式数据库
    angularJS操作键值对象(类似java的hashmap)填坑小结
    angularJS 如何读写缓冲
    angularJs自定义服务(实现签名和加密)
    ajax请求技术
    springboot中使用mybatis显示执行sql
    mysql快速生成truncate脚本清空数据库表记录
  • 原文地址:https://www.cnblogs.com/hzcxy/p/6644881.html
Copyright © 2011-2022 走看看