下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

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

作者:课课家教育     来源: http://www.kokojia.com点击数:847发布时间: 2016-02-03 14:11:05

标签: java编程java课程标准java入门教材

大神带你学编程,欢迎选课

  简介

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

  Streams 应用程序的总体结构如下图所示,是由 一系列运算符通过输入 / 输出端口相互连接而构成的。为方便描述,我们首先给出 Streams 应用程序中的一些术语:

  流:代表任何来自于数据源的连续数据流,数据的表现形式是由一系列属性构成的元组。

  运算符:流数据处理的功能组件,接收一个或多个输入流,对流数据对应的元组和属性进行处理,最终产生一个或多个 输出流。

  输入端口:用于接收其他运算符输出流的端口。

  输出端口:用于产生输出流的端口。

  处理元素(PE):Streams 应用程序被物理上分割为的一系列处理单位,一般以动态连接库的形式存在。

  运算符融合:一种把多个运算符融合产生一个 PE 的优化技术,以减少数据在多个运算符之间的传输代价。

  作业 (Job): Streams 应用程序在 Streams 运行时间上的表现形式。

  图 1. Streams 应用程序结构

使用Java编程语言构建IBMInfoSphereStreams程序(1)_java编程_java课程标准_课课家

  java 编程语言作为第三代高级语言,自 20 世纪 90 年代诞生以来,以其使用简单、完全面象对象、平台可移植性、健壮的沙盒安全机制、动态性,以及大量可用的开 发包等一系列优势,在互联网分布式环境下得到了极其广泛的应用,几乎涵盖了互联网应用的方方面面。相比较 C/C++ 程 序员,Java 程序员只需关注于业务逻辑的开发,而无需纠结于与系统相关的资源分配与释放等细节,这些琐碎的工作统一 由 Java 虚拟机 (JVM) 处理,从而极大地提升了开发效率。由于运行在虚拟机之上,Java 程序与原生的 C/C++ 程序相比 ,性能上可能略逊一筹,但虚拟机经过几十年的发展与优化,这种差距在逐步缩小。尤其在 CPU 性能大幅提高的今天,这 种性能上的差异表现的越来越不明显。

  基于上述考虑,Streams 平台提供了使用 Java 编程语言来构建 Streams 应 用程序的框架,具体包括 Java 运算符模型描述文件以及 Java 运算符 API 两部分。下图是实现数据库存储功能 DBPersist 运算符的一个具体的例子,图中左半边 xml 通过一系列属性提供了该运算符的模型定义,右半边对应于 Java 类的实现,主要是元组的处理逻辑。在这个具体的例子当中,运算符的 Java 实现除了依赖于自己的 Jar 包之外,还依赖 于一些第三方的 Jar 包,这些依赖关系都需要在运算符模型中指定清楚。

  图 2. Java 运算符模型以及实 现

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程