数据模型(Data Model)

数据模型(Data Model) 
storm使用tuple来作为它的数据模型。每个tuple是一堆值,每个值有一个名字,并且每个值可以是任何类型, 在我的理解里面一个tuple可以看作一个没有方法的java对象。总体来看,storm支持所有的基本类型,字符串以及字节数组作为tuple的值类 型。你也可以使用你自己定义的类型来作为值类型, 只要你实现对应的序列化器(serializer)。 
topology里面的每个节点必须定义它要发射的tuple的每个字段。 比如下面这个bolt定义它锁发射的tuple包含两个字段,类型分别是: doble和triple。

publicclass DoubleAndTripleBolt implements IRichBolt { private OutputCollectorBase _collector;      @Override  
publicvoid prepare(Map conf, TopologyContext context, OutputCollectorBase collector){ 
        _collector = collector; } 
     @Override  
publicvoid execute(Tuple input){ int val = input.getInteger(0); 
        _collector.emit(input, new Values(val*2, val*3));         _collector.ack(input); } 
     @Override  
publicvoid cleanup(){ } 
     @Override  
publicvoid declareOutputFields(OutputFieldsDeclarer declarer){         
declarer.declare(new Fields("double", "triple")); } }

declareOutputFields方法定义要输出的字段 : ["double", "triple"]。这个bolt的其它部分我们接下来会解释。

更多精彩内容请关注:http://bbs.superwu.cn

关注超人学院微信二维码:

时间: 2024-11-10 15:44:03

数据模型(Data Model)的相关文章

Core Data 学习: 数据模型(Data Model)

 数据模型(Data Model) 前面文章中介绍了Core Data堆栈,它是Core Data的核心部分.并且了解了Core Data堆栈中管理对象上下文(managed object context),持久化存储协调者(persistent store coordinator),管理对象模型(managed object model)等组成部分.这篇文章我们将集中了解Core Data中的数据模型(data model). 在我们的应用中,管理对象模型(NSManagedObjectMod

[ExtJs] ExtJs4.2 数据模型Ext.data.Model学习

Model代表应用程序管理的一些对象.例如,我们可能会为 我们想在系统中建模的现实世界中的一些物体像使用者.产品和汽车等定义一个Model.这些Model在 Ext.ModelManager中注册,被Ext.data.Store使用, 而这些Ext.data.Store又被许多 Ext中许多与数据绑定的组件使用. 直接上代码: <%-- Created by IntelliJ IDEA. User: Administrator Date: 2015/12/13 0013 Time: 08:51

Aerospike-Architecture系列之数据模型(Data Model)

Data Model(数据模型) Aerospike采用无模式(schema-less)数据模型,这意味着存储在库中的数据不符合严格模式. 这提供了你在Aerospike中存储数据的灵活性-数据修改不需要修改schema,库中已存在的数据也不需要符合指定的schema Aerospike的无模式(schema-less)数据模型允许动态添加新类型的bin.尽管如此,仍然需要遵守bin名称与数据的对应关系.应用程序必须利用bin的一致性来保障查询和聚合的正确性. How Data is Organ

Visual Studio 2010添加数据源时没有实体数据模型Entity Data Model选项

Visual Studio 2010添加数据源时没有实体数据模型Entity Data Model选项 今天在用VS2010创建控制台应用程序,添加数据源的时候,没有"实体数据模型"选项.在网上搜索了下,很多人都遇到了这个问题.我最后找到了解决方案. 在安装文件夹中找到WCU\EFTools文件夹,如果直接运行msi文件会报错:To install this product please run Install.exe.将里边cab和msi文件拷贝出来到E盘(便于操作),并创建Log.

VS2010 新增项目找不到ADO.NET Entity Data Model模板

一.发生状况 在VS2010中使用,在进行新增ADO.NET Entity Data Model模板时发现,VS2010中没有这个选项. 如果正常,会显示下图所示: 二.分析原因 从网络上搜索了一下,发现此原因是由于在 Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Data\2052下不存在AdoNetEntityDataModelCSh arp.zip文件.正常应该是存在此文件的,如下图 三.问题解决 我们打开VS2

Data Model for Message Receiver

1. Physical Data Model 2. SQL Statements drop database MessageReceiver go /*==============================================================*/ /* Database: MessageReceiver */ /*==============================================================*/ create dat

Entity Framework的核心 – EDM(Entity Data Model) 一

这次开发项目,我依然做的是.Net,前几个月的项目底层设计使用的的是 ORM 思想,技术选用的是NHibernate,这次也不例外,开发.Net项目,依然使用的是ORM的思想,不同的是这次开发技术选用的是EF(EntityFrameWork).这个框架可是让我费眼不少,我了解它,从它的XML开始的.开始说说有关EF中xml的解读. 一.EnityFramework EnityFramework的全程是ADO.NET Entity Framework .和Nhibernate一样,EF 同样是遵守

Create Entity Data Model

http://www.entityframeworktutorial.net/EntityFramework5/create-dbcontext-in-entity-framework5.aspx Here, we are going to create an Entity Data Model (EDM) for SchoolDB database and understand the basic building blocks. Entity Data Model is a model th

Extjs的form表单自动装载数据(通过Ext.data.Model的代理加载数据)

在做项目的时候遇到一个问题,以前双击grid页面一行数据的时候,会吧双击这一行的数据自动加载到双击的页面(Ext的弹出框),可以通过this.down(''form).getForm().loadRecord(record)来自动加载,可是现在有一个需求就是双击grid一行弹出一个新的浏览器页面(不是ext的弹出框,通过window.open()实现),只能把双击的id传到页面,再重新查数据手动赋值,如果一个页面字段很多,一个一个赋值是很辛苦的,所以就想能不能自动装载数据 通过长时间研究发现,t