如何使用IBM InfoSphere Streams进行模拟

IBM 通过 InfoSphere Streams 提供了一个强大且可扩展的解决方案来处理每秒数百万个数据元组的持续流。该流引擎提供了一种健壮、高度可用且可扩展的运行时,能够在数百个节点和 C++PU 核心上执行分析逻辑。这为您提供了专心使用数据的自由,让您无需花时间研究如何和在何处使用数据。

在一种典型的操作领域,InfoSphere Streams 可帮助您处理动态传入的数据,在不到一秒内对新事件做出反应,无需在事后延迟几分钟或者甚至几小时再处理数据。图 1 显示了一种系统架构,Streams 在该架构中帮助处理每天 60 万个与手机网络中传送的通话有关的呼叫数据记录。

图 1. Streams 可以帮助检测手机网络中的问题
&">nbsp;
处理这些记录,并将它们加载到 BI 和帐户系统中的时间从 12 小时减少到了几秒钟,现在可以实时查看客户活动和网络质量。

尽管 Streams 最初设计来处理动态数据,但它也可用于模拟用途。下一章将介绍如何设置数据流,使数据在处理后再次进入处理引擎。有一些难题需要解决,它们可能不那么明显,但下面将详细介绍它们。

Streams 基础知识

流 是指从来源到目标的一个持续数据流。该数据具有元组 的形式,其中包含一组固定的属性。一个流可能类似于数据库中的内容。在数据库中,数据存储在行和列格式中。列是由数据记录(或行)组成的单独定义的元素。在 Streams 中,这些数据记录称为元组,列称为属性。

要理解 Streams 处理的概念,一定要理解 4 个术语:接收槽/来源适配器、操作符、Streams 编程语言 (SPL) 和 Streams 运行时环境。

图 2. Streams 环境
 
一个流的来源称为源,而目标称为接收槽。这样一个接收槽或源可能是一个文件、数据库、TCP/IP 套接字或任何其他自定义的 Java 或 C++ 程序,用于生成或保存元组。

操作符 允许处理流元组,以便过滤、聚合、合并、转换或执行复杂得多的数学函数,比如快速傅立叶变换。他们接收一个或多个流作为输入,执行元组和属性的处理,生成一个或多个流作为输出。

一个 Streams 应用程序是一组通过流连接的这类操作符的一个集合。Streams 应用程序是使用声明性编程语言(比如 SQL)编写的。不同于更加常见的编程语言,比如 C、C++ 或 Java 编程语言,声明性编程语言不包含完成工作的方式,而包含应有的预期结果。编译器将预期结果的描述转换为编程代码,执行必要的操作来获得预期的结果。

在执行 Streams 应用程序期间,运行时将负责以可靠的方式执行接收槽适配器、源适配器和操作符,将它们分散在可用的处理核心和节点上,以实现最优的吞吐量。

在传入元组的过程中,可使用 Streams 应用程序在流上执行分析。可用的信息在生成后即可使用,所以您拥有这些信息的近实时的视图,无需等待下一个典型处理窗口。

时间: 2024-08-01 02:41:33

如何使用IBM InfoSphere Streams进行模拟的相关文章

使用Java编程语言构建IBM InfoSphere Streams应用程序

简介 IBM InfoSphere Streams( 以下简称 Streams) 是 IBM 于 2009 年推出的具有高可靠性,高可扩展性,分布式流计算平 台,前瞻性地把支持每秒 6G 或者每小时 21600G(相当于互联网上所有网页数量之和)数据处理能力作为系统设计的指标 ,实现了流数据"永恒分析"的能力.它包含一个运行时环境 ( 或者称为实例 ) 和编程模型来简化需要对大批量连续流数 据进行提取.过滤.分析以及关联的应用程序的开发,能够广泛的应用于制造.零售.交通运输.金融证券以

如何从 IBM InfoSphere Streams 调用 Python 代码

概述 IBM InfoSphere Streams 是一个高性能的实时事件处理中间件.它独特的优势在于能够从各种不同的数据来源获取结构化和非结构化数据,以用于执行实时分析.它通过将一种称为 SPL(Streams Processing Language,流处理语言)的易于使用的应用程序开发语言与一个分布式运行时平台相结合来完成此任务.这个中间件还提供了一个灵活的应用程序开发框架,将使用 C++ 和 Java 编写的代码集成到 Streams 应用程序中.除了 C++ 和 Java,许多构建真实

从IBM InfoSphere Streams应用程序调用Python代码

还可以在一个 Streams 应用程序的上下文内调用 Python 代码.学习如何直接从 IBM InfoSphere Streams 应用程序调用 Python 代码. IBM InfoSphere Streams 是一个高性能的实时事件处理中间件.它独特的优势在于能够从各种不同的数据来源获取结构化和非结构化数据,以用于执行实时分析.它通过将一种称为 SPL(Streams Processing Language,流处理语言)的易于使用的应用程序开发语言与一个分布式运行时平台相结合来完成此任务

利用Linux通道捆绑来提升IBM InfoSphere Streams性能

本文将从较高的层次介绍通道绑定的概念,如何设置测试环境和我们观察到的结果.在我们的实验中,通道绑定将带宽提高达 68%. 本文探讨 Red Hat Enterprise Linux 上的通道绑定对 IBM InfoSphere Streams 吞吐量和延迟的影响.将介绍如何使用 Red Hat Enterprise Linux 系统设置和配置通道绑定环境,可从在此环境中运行的 InfoSphere Streams 应用程序获得怎样的性能改进.目标读者为熟悉 InfoSphere Streams

介绍IBM InfoSphere Streams平台的典型拓扑结构

本文特别适合流计算应用的开发人员阅读,对需要了解和设计流计算架构的人员也有很大的参考价值. 进入 21 世纪,由于处理器性能的大幅提升以及网络技术和应用的日新月异, 数据的传播和交换正经历革命性的变化.图灵奖获得者吉姆·格雷(Jim Gray)认为,网络环境下每 18 个月产生的数据量等于过去几千年的数据量之和.不仅如此,数据还具有实时.异构.非结构化等一系列特点.目前大多数数据分析平台如 Hadoop,采用离线计算的方式来处理具有上述特征的数据,耗费的时间少则数天,多则数月,极大地延误了业务决

使用InfoSphere Streams的自定义Java 运算符和ICU4J实现实时音译

集成 Java 音译模块和 InfoSphere Streams 的自定义 Java 运算符 简介 在成长型市场区域中,任何解决方案提供商面临的首要挑战是可用数据的方言和语言学的不一致性.由于成长型市场区域中拥有包括英语在内的多种官方语言,所以地区的语言符号逐渐嵌入到了英语符号中.因此,您首先需要执行音译来实现数据中的一致性,然后再继续执行处理/文本分析. 如果使用预定的语言,那么数据音译会为您提供更统一.更一致的结果.本文将介绍使用 InfoSphere Streams 的自定义 Java 运

InfoSphere Streams 3.0连接Streams作业和DataStage作业

作为 InfoSphere Streams 3.0 和 InfoSphere Information Server 9.1 版本的一部分,这两款产品都进行了改进,让 Streams 应用程序和 DataStage 作业之间的集成变得更容易. 本文提供了解释如何在 Streams 应用程序和 DataStage 作业之间创建端到端集成场景的技术细节.阅读本文后您将熟悉以下概念: 从 Streams 应用程序将数据发送到 DataStage 作业,包括如何: 创建或修改一个现有 Streams SP

如何集成PureData System for Analytics和InfoSphere Streams

使用 Streams 操作符有效地将海量数据加载到 Netezza 中 InfoSphere Streams 是一个高性能计算平台,支持持续且极其快速地分析来自多个来源的海量流数据.Netezza 设备加载这些数据集并存储它们,以供 PureData System for Analytics 分析.这个可扩展.大规模并行系统使客户端能够对海量数据执行复杂分析. 但是,Streams 2.0 标准数据库工具包所提供的默认 ODBC 操作符,不足以最大限度地发挥系统之间的高性能加载实用程序的优势.您

InfoSphere Streams如何帮助您将数据转换为洞察

IBM 在多年前就引入了 "智慧地球" 这个术语.利用这个术语,可以描述 3 个主要属性: 物联化 智能化 互连化 长久以来,这已经形成一个现实.想象一下智能手机的激增,这实际上可能提供了比保持联系更多的功能.智能手机包括 GPS 提供的用于测量温度和湿度的一组传感器.再加上世界各地使用的所有传感器和仪表,我们看到了一个不断演化的真实情况. 这就构成了应该转换成信息 的大量数据.例如,我们可以利用群众的力量来洞察不断变化的情形.我们可以察觉出可能产生机遇或避免严重灾害的趋势.我们可以看