文档章节

storm trident定义的内存结构MemoryMapState 详解

岩之有理
 岩之有理
发布于 2014/12/10 17:33
字数 188
阅读 83
收藏 0
点赞 0
评论 0

MemoryMapState trident中定义的一种state,用来保存storm trident算出的数据。

看一下MemoryMapState 和 State的关系


MemoryMapState 将所有的数据存放在内部静态属性

 static ConcurrentHashMap<String, Map<List<Object>, Object>> _dbs = new ConcurrentHashMap<String, Map<List<Object>, Object>>();

关于ConcurrentHashMap,可以当作一个线程安全的map

public class ConcurrentHashMap<K, V> extends AbstractMap<K, V> 
implements ConcurrentMap<K, V>, Serializable

MemoryMapState 对ConcurrentHashMap的操作,主要依靠内部类 MemoryMapStateBacking进行。

static class MemoryMapStateBacking<T> implements IBackingMap<T>, ITupleCollection

storm学到现在,感觉里面都是套子,一个类的方法其实是调用自己一个属性的方法,很多层。


© 著作权归作者所有

共有 人打赏支持
岩之有理
粉丝 7
博文 18
码字总数 6134
作品 0
徐汇
高级程序员
年薪40万的大数据工程师是如何安装Strom

Strom集群的安装配置 主机规划 一、准备服务器 l 关闭防火墙 chkconfig iptables off && setenforce 0 l 创建用户 groupadd hadoop && useradd hadoop  && usermod -a -G hadoop hadoop l ......

爱尚实训 ⋅ 04/23 ⋅ 0

实时流处理Storm、Spark Streaming、Samza、Flink孰优孰劣

From http://www.dataguru.cn/article-9532-1.html TopologyBuilder builder = new TopologyBuilder();builder.setSpout("spout", new RandomSentenceSpout(), 5);builder.setBolt("split", ......

justlpf ⋅ 05/12 ⋅ 0

大数据学习之(Storm)-原理详解!

角色 Client client的主要作用是提交topology到集群 Worker Worker是运行在Supervisor节点上的一个独立的JVM进程,主要作用是运行topology,一个topology可以包含多个worker,但一个worker只...

qq5af153121eb2c ⋅ 05/08 ⋅ 0

基础-Tuple和Fields结构

Fields和Tuple Fields和Tuple 概述 路径:storm-core/src/jvm/org/apache/storm/tuple/ Tuple和Fields是Storm用来传输数据(即流)的结构体。其中Tuple是Storm的数据传输单位,每一个tuple由...

sinat_26019075 ⋅ 05/10 ⋅ 0

Storm笔记整理(一):简介与设计思想

[TOC] 实时计算概述 有别于传统的离线批处理操作(对很多数据的集合进行的操作),实时处理,说白就是针对一条一条的数据/记录进行操作,所有的这些操作进行一个汇总(截止到目前为止的所有的统...

xpleaf ⋅ 04/12 ⋅ 0

大数据Storm相比于Spark、Hadoop有哪些优势(摘录)

一、可能很多初学大数据的伙伴不知道strom是什么,先给大家介绍一下strom: 分布式实时计算系统,storm对于实时计算的意义类似于hadoop对于批处理的意义。 storm的适用场景。 流数据处理。S...

风火数据 ⋅ 06/01 ⋅ 0

Kafka实战-Storm Cluster

1.概述   在《Kafka实战-实时日志统计流程》一文中,谈到了Storm的相关问题,在完成实时日志统计时,我们需要用到Storm去消费Kafka Cluster中的数据,所以,这里我单独给大家分享一篇Sto...

smartloli ⋅ 2015/06/18 ⋅ 0

Storm笔记整理(五):可靠性分析、定时任务与Storm UI参数详解

[TOC] 特别说明:前面的四篇Storm笔记中,关于计算总和的例子中的spout,使用了死循环的逻辑,实际上这样做是不正确的,原因很简单,Storm提供给我们的API中,nextTuple方法就是循环执行了,...

xpleaf ⋅ 04/14 ⋅ 0

大数据经典学习路线(及供参考)之 三

3.Storm实时计算部分阶段 实时课程分为两个部分:流式计算核心技术和流式计算计算案例实战。 1.流式计算核心技术 流式计算核心技术主要分为两个核心技术点:Storm和Kafka,学完此阶段能够掌握...

柯西带你学编程 ⋅ 05/22 ⋅ 0

Apache Storm 1.1.3 和 1.2.2 发布,分布式实时计算

Apache Storm 1.1.3 和 1.2.2 已发布,这是一个常规维护版本,其中包含许多重要的错误修复,可以提高 Storm 的性能,稳定性和容错能力。建议以前版本的用户升级到最新版本。 更新内容较多,详...

局长 ⋅ 06/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 58分钟前 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 7

mysql in action / alter table

change character set ALTER SCHEMA `employees` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci ;ALTER TABLE `employees`.`t2` CHARACTER SET = utf8mb4 , COLLAT......

qwfys ⋅ 今天 ⋅ 0

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

MySQL

查看表相关命令 - 查看表结构    desc 表名- 查看生成表的SQL    show create table 表名- 查看索引    show index from  表名 使用索引和不使用索引 由于索引是专门用于加...

stars永恒 ⋅ 昨天 ⋅ 0

easyui学习笔记

EasyUI常用控件禁用方法 combobox $("#id").combobox({ disabled: true }); ----- $("#id").combobox({ disabled: false}); validatebox $("#id").attr("readonly", true); ----- $("#id").r......

miaojiangmin ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部