InfoSphere Streams——實(shí)時(shí)大數(shù)據(jù)分析平臺(tái)
了解 InfoSphere Streams,它是 IBM 大數(shù)據(jù)平臺(tái)的一部分。InfoSphere Streams 解決了針對(duì)能夠?qū)崟r(shí)處理生成的海量流數(shù)據(jù)的平臺(tái)和架構(gòu)的一種迫切需求。了解該產(chǎn)品的設(shè)計(jì)目標(biāo),它適用于哪些時(shí)機(jī),其工作原理,以及它如何為 InfoSphere BigInsights 提供補(bǔ)充來(lái)執(zhí)行高度復(fù)雜的分析。
來(lái)自多個(gè)來(lái)源的信息正在以難以置信的速度增長(zhǎng)?;ヂ?lián)網(wǎng)用戶(hù)數(shù)量在 2015 年已經(jīng)達(dá)到 22.7 億。每一天,Twitter 都會(huì)生成超過(guò) 12 TB 的 tweet,F(xiàn)acebook 生成超過(guò) 25 TB 日志數(shù)據(jù),紐約證券交易所采集 1 TB 交易信息。每天會(huì)創(chuàng)建大約 300 億個(gè)射頻識(shí)別 (RFID) 標(biāo)記。此外,每年銷(xiāo)售的數(shù)億臺(tái) GPS 設(shè)備,目前正在使用的超過(guò) 3000 萬(wàn)個(gè)連網(wǎng)的傳感器(而且每年在以高于 30% 的速度增長(zhǎng)),都在產(chǎn)生數(shù)據(jù)。這些數(shù)據(jù)量預(yù)計(jì)在未來(lái) 10 年中每 2 年就會(huì)翻一番。
一家公司在一年時(shí)間內(nèi)可生成高達(dá)數(shù) PB 的信息:網(wǎng)頁(yè)、博客、單擊流、搜索索引、社交媒體論壇、即時(shí)消息、文本消息、電子郵件、文檔、用戶(hù)人口統(tǒng)計(jì)數(shù)據(jù)、來(lái)自主動(dòng)和被動(dòng)系統(tǒng)的傳感器數(shù)據(jù),等等。許多人估計(jì),這些數(shù)據(jù)中高達(dá) 80% 都是半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)。公司一直在尋求更加敏捷地經(jīng)營(yíng)業(yè)務(wù),以更加創(chuàng)新的方式執(zhí)行數(shù)據(jù)分析和決策流程。而且他們認(rèn)識(shí)到,這些流程中損失的時(shí)間可能導(dǎo)致錯(cuò)失業(yè)務(wù)機(jī)會(huì)。大數(shù)據(jù)挑戰(zhàn)的核心是,公司掌握輕松地分析和理解互聯(lián)網(wǎng)級(jí)信息的能力,就像他們現(xiàn)在可分析和理解較少量結(jié)構(gòu)化信息一樣。
IBM 正在幫助公司應(yīng)對(duì)大數(shù)據(jù)挑戰(zhàn),為他們提供工具來(lái)集成和管理海量、高速產(chǎn)生的數(shù)據(jù),應(yīng)用原生格式的分析,可視化可用數(shù)據(jù)以進(jìn)行專(zhuān)門(mén)分析,等等。本文將介紹 InfoSphere Streams,該技術(shù)支持您同時(shí)分析許多數(shù)據(jù)類(lèi)型并實(shí)時(shí)執(zhí)行復(fù)雜計(jì)算。您將了解 InfoSphere Streams 的工作原理,它的用途,以及如何結(jié)合使用它與另一個(gè)用于大數(shù)據(jù)分析的 IBM 產(chǎn)品(IBM InfoSphere BigInsights)來(lái)執(zhí)行高度復(fù)雜的分析。
InfoSphere BigInsights:概述
理解 InfoSphere BigInsights 將會(huì)使您能夠更全面地理解 InfoSphere Streams 的用途和價(jià)值。
BigInsights 是一個(gè)分析平臺(tái),可幫助公司將復(fù)雜的互聯(lián)網(wǎng)級(jí)信息集轉(zhuǎn)換為洞察。它包含一個(gè)套裝的 Apache Hadoop 發(fā)行版(具有高度簡(jiǎn)化的安裝流程)和用于應(yīng)用程序開(kāi)發(fā)、數(shù)據(jù)移動(dòng)和集群管理的關(guān)聯(lián)工具。得益于簡(jiǎn)單性和可伸縮性,Hadoop(MapReduce 框架的一種開(kāi)源實(shí)現(xiàn))在行業(yè)和學(xué)術(shù)界獲得的巨大的成功。除了 Hadoop 之外,BigInsights 中的其他開(kāi)源技術(shù)(除 Jaql 外的所有技術(shù)都屬于 Apache Software Foundation 項(xiàng)目)包括:
- Pig:該平臺(tái)提供了一種高級(jí)語(yǔ)言來(lái)表達(dá)分析大數(shù)據(jù)集的程序。Pig 配備了一個(gè)編譯器,可將 Pig 程序轉(zhuǎn)換為 Hadoop 框架執(zhí)行的 MapReduce 作業(yè)序列。
- Hive:一個(gè)構(gòu)建于 Hadoop 環(huán)境之上的數(shù)據(jù)倉(cāng)庫(kù)解決方案。它為 Hadoop 的非結(jié)構(gòu)化世界帶來(lái)了人們熟悉的關(guān)系數(shù)據(jù)庫(kù)概念,比如表、列和分區(qū),以及 SQL 的一個(gè)子集 (HiveQL)。Hive 查詢(xún)被編譯為使用 Hadoop 執(zhí)行的 MapReduce 作業(yè)。
- Jaql:IBM 專(zhuān)為 JSON(JavaScript Object Notation,JavaScript 對(duì)象表示法)開(kāi)發(fā)的一種查詢(xún)語(yǔ)言,提供了一種類(lèi)似 SQL 的接口。Jaql 適度地處理嵌套,高度面向函數(shù),而且非常靈活。它適用于松散的結(jié)構(gòu)化數(shù)據(jù),是 HBase 列存儲(chǔ)和文本分析的接口。
- HBase:一個(gè)面向列的 NoSQL 數(shù)據(jù)存儲(chǔ)環(huán)境,旨在支持 Hadoop 中大型、稀疏填充的表。
- Flume:一種分布式、可靠且可用的服務(wù),用于高效地移動(dòng)生成的大量數(shù)據(jù)。Flume 非常適合從多個(gè)系統(tǒng)中收集生成的日志,在它們插入 HDFS(Hadoop Distributed File System,Hadoop 分布式文件系統(tǒng))。
- Lucene:一個(gè)搜索引擎庫(kù),提供了高性能的、全功能的文本搜索。
- Avro:一種數(shù)據(jù)序列化技術(shù),使用 JSON 來(lái)定義數(shù)據(jù)類(lèi)型和協(xié)議,以一種緊湊的二進(jìn)制格式對(duì)數(shù)據(jù)執(zhí)行序列化。
- ZooKeeper:一種維護(hù)配置信息和命名,提供分布式同步和分組服務(wù)的集中化服務(wù)。
- Oozie:一個(gè)工作流調(diào)度程序系統(tǒng),用于管理和編排 Apache Hadoop 作業(yè)的執(zhí)行過(guò)程。
此外,BigInsights 發(fā)行版還包含以下 IBM 獨(dú)有的技術(shù):
- BigSheets:一種基于瀏覽器、類(lèi)似電子表格的查詢(xún)和探索接口,使業(yè)務(wù)用戶(hù)能夠輕松地收集和分析數(shù)據(jù),利用 Hadoop 的強(qiáng)大功能。它提供了內(nèi)置的閱讀器,可處理多種常見(jiàn)格式的數(shù)據(jù),包括 JSON、逗號(hào)分隔值 (CSV) 和制表符分隔值 (TSV)。
- Text analytics:常見(jiàn)業(yè)務(wù)實(shí)體的文本注釋符的一個(gè)預(yù)先構(gòu)建的庫(kù)。它提供了豐富的語(yǔ)言和工具來(lái)構(gòu)建自定義位置注釋符。
- Adaptive MapReduce:一個(gè) IBM Research 解決方案,通過(guò)更改 MapReduce 任務(wù)的處理方式來(lái)加速小型 MapReduce 作業(yè)的執(zhí)行。
關(guān)于biginsights免費(fèi)試用版請(qǐng)聯(lián)系我們>>>
InfoSphere 平臺(tái)
InfoSphere 是一個(gè)綜合性的信息集成平臺(tái),包含數(shù)據(jù)倉(cāng)庫(kù)和分析、信息集成、主數(shù)據(jù)管理、生命周期管理,以及數(shù)據(jù)安全和隱私。該平臺(tái)改進(jìn)了應(yīng)用程序開(kāi)發(fā)流程,所以組織可以加快價(jià)值實(shí)現(xiàn)速度,減少集成成本,并提高信息質(zhì)量。
一般來(lái)講,BigInsights 的設(shè)計(jì)并不是為了取代一種傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) (DBMS) 或傳統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)。具體來(lái)講,它沒(méi)有針對(duì)對(duì)表列數(shù)據(jù)結(jié)構(gòu)的交互式查詢(xún)、在線分析處理 (OLAP) 或在線事務(wù)處理 (OLTP) 應(yīng)用程序而優(yōu)化。但是,作為 IBM 大數(shù)據(jù)平臺(tái)的組成部分,BigInsights 提供了與該平臺(tái)的其他組件(包括數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)集成和治理引擎)和第三方數(shù)據(jù)分析工具的潛在集成點(diǎn)。在本文后面將會(huì)看到,它還可與 InfoSphere Streams 集成。
流計(jì)算:一種新的計(jì)算模式
流計(jì)算是新的數(shù)據(jù)聲場(chǎng)場(chǎng)景所不可或缺的一種新計(jì)算模式,比如無(wú)處不在的移動(dòng)設(shè)備、位置服務(wù)和遍布各處的傳感器。人們需要可伸縮的計(jì)算平臺(tái)和并行架構(gòu)來(lái)處理生成的海量流數(shù)據(jù)。
BigInsights 技術(shù)不足以支持實(shí)時(shí)流處理任務(wù),因?yàn)樗鼈冎饕嫦驅(qū)o態(tài)數(shù)據(jù)的批處理的支持。在處理靜態(tài)數(shù)據(jù)的過(guò)程中,列出所有已連網(wǎng)的用戶(hù)這樣的查詢(xún)會(huì)得到單一的結(jié)果集。借助對(duì)流數(shù)據(jù)的實(shí)時(shí)處理,您可執(zhí)行一種持續(xù)查詢(xún),比如列出在過(guò)去 10 分鐘內(nèi)連網(wǎng)的所有用戶(hù)。此查詢(xún)將返回持續(xù)更新的結(jié)果。在靜態(tài)數(shù)據(jù)領(lǐng)域中,用戶(hù)猶如在干草堆中撈針;在流數(shù)據(jù)領(lǐng)域中,用戶(hù)可輕松地找到這顆針,因?yàn)楦刹菀驯淮底摺?/p>
InfoSphere Streams 平臺(tái)支持流數(shù)據(jù)的實(shí)時(shí)處理,支持不斷更新持續(xù)查詢(xún)的結(jié)果,可在仍在移動(dòng)的數(shù)據(jù)流中檢測(cè)洞察。
InfoSphere Streams 概述
InfoSphere Streams 旨在從一個(gè)幾分鐘到幾小時(shí)的窗口中的移動(dòng)信息(數(shù)據(jù)流)中揭示有意義的模式。該平臺(tái)能夠獲取低延遲洞察,并為注重時(shí)效的應(yīng)用程序(比如欺詐檢測(cè)或網(wǎng)絡(luò)管理)獲取更好的成果,從而提供業(yè)務(wù)價(jià)值。InfoSphere Streams 還可合并多個(gè)流,使您能夠從多個(gè)流中獲取新洞察,如圖 3 所示。
圖 3. 合并的流處理
InfoSphere Streams 的主要設(shè)計(jì)目的是:
- 快速響應(yīng)事件和不斷變化的業(yè)務(wù)條件與需求。
- 支持以比現(xiàn)有系統(tǒng)快幾個(gè)數(shù)量級(jí)的速度對(duì)數(shù)據(jù)執(zhí)行持續(xù)分析。
- 快速適應(yīng)不斷變化的數(shù)據(jù)形式和類(lèi)型。
- 管理新的流模式的高可用性、異構(gòu)性和分布。
- 為共享的信息提供安全性和信息機(jī)密性。
InfoSphere Streams 提供了一種編程模型和 IDE 來(lái)定義數(shù)據(jù)來(lái)源,還提供了已融合到處理執(zhí)行單元中的稱(chēng)為運(yùn)算符的軟件分析模塊。它還提供了基礎(chǔ)架構(gòu)來(lái)支持從這些組件合成可擴(kuò)展的流處理應(yīng)用程序。主要平臺(tái)組件包括:
- 運(yùn)行時(shí)環(huán)境:這包括平臺(tái)服務(wù),以及一個(gè)用于在單個(gè)主機(jī)或一組集成的主機(jī)上部署和監(jiān)視 Streams 應(yīng)用程序的調(diào)度程序。
- 編程模型:您可使用 SPL(Streams Processing Language,流處理語(yǔ)言,一種聲明性語(yǔ)言)來(lái)編寫(xiě) Streams 應(yīng)用程序。可使用該語(yǔ)言陳述您的需求,運(yùn)行時(shí)環(huán)境會(huì)承擔(dān)確定如何最佳地服務(wù)該請(qǐng)求的責(zé)任。在此模型中,一個(gè) Streams 應(yīng)用程序表示為一個(gè)由運(yùn)算符和連接它們的流組成的圖表。
- 監(jiān)視工具和管理接口:Streams 應(yīng)用程序處理數(shù)據(jù)的速度比普通的操作系統(tǒng)監(jiān)視實(shí)用程序快得多。InfoSphere Streams 提供了可處理此環(huán)境的工具。
關(guān)于Streams免費(fèi)試用版請(qǐng)聯(lián)系我們>>>
流處理語(yǔ)言
SPL,InfoSphere Streams 的編程語(yǔ)言,是一種分布式數(shù)據(jù)流合成語(yǔ)言。它是一種類(lèi)似 C++ 或 Java™ 的可擴(kuò)展且全功能的語(yǔ)言,支持用戶(hù)定義的數(shù)據(jù)類(lèi)型。您可以使用 SPL 或原生語(yǔ)言(C++ 或 Java)編寫(xiě)自定義函數(shù)。也可以使用 C++ 或 Java 編寫(xiě)用戶(hù)定義的運(yùn)算符。
InfoSphere Streams 持續(xù)應(yīng)用程序會(huì)描述一個(gè)導(dǎo)向圖,該圖由各個(gè)互聯(lián)且處理多個(gè)數(shù)據(jù)流的運(yùn)算符組成。數(shù)據(jù)流可來(lái)自系統(tǒng)外部,或者在應(yīng)用程序內(nèi)部生成。SPL 程序的基本構(gòu)建塊包括:
- 流:一個(gè)無(wú)限的結(jié)構(gòu)化元組序列。它可逐個(gè)元組地由運(yùn)算符使用或通過(guò)一個(gè)窗口的定義來(lái)使用。
- 元組:屬性及其類(lèi)型的一個(gè)結(jié)構(gòu)化列表。流上的每個(gè)元組擁有由其流類(lèi)型指定的形式。
- 流類(lèi)型:指定元組中每個(gè)屬性的名稱(chēng)和數(shù)據(jù)類(lèi)型。
- 窗口:一個(gè)有限、有序的元組分組。它可以基于計(jì)數(shù)、時(shí)間、屬性值或標(biāo)點(diǎn)符號(hào)。
- 運(yùn)算符:SPL 的基礎(chǔ)構(gòu)建塊,它的運(yùn)算符會(huì)處理來(lái)自流的數(shù)據(jù)并可生成新流。
- 處理元素 (PE):基礎(chǔ)執(zhí)行單元。一個(gè) PE 可封裝單個(gè)運(yùn)算符或多個(gè)合并的運(yùn)算符。
- 作業(yè):一個(gè)已部署好的用來(lái)執(zhí)行的 Streams 應(yīng)用程序。它由一個(gè)或多個(gè) PE 組成。除了一組 PE 之外,SPL 編譯器還會(huì)生成一個(gè) ADL(Application Description Language,應(yīng)用程序描述語(yǔ)言)文件來(lái)描述應(yīng)用程序的結(jié)構(gòu)。該 ADL 文件包含每個(gè) PE 的詳細(xì)信息,比如要加載和執(zhí)行哪個(gè)二進(jìn)制文件,調(diào)度限制、流格式和一個(gè)內(nèi)部運(yùn)算符數(shù)據(jù)流圖。
圖 4 演示了 SPL 程序的 InfoSphere Streams 運(yùn)行時(shí)視圖:
圖 4. InfoSphere 運(yùn)行時(shí)執(zhí)行
一個(gè)運(yùn)算符表示一個(gè)可重用的流轉(zhuǎn)換器,將一些輸入流轉(zhuǎn)換為輸出流。在 SPL 程序中,運(yùn)算符調(diào)用可實(shí)現(xiàn)預(yù)算法的特定用途,使用分配的特定的輸入和輸出流,以及在本地指定的參數(shù)和邏輯。每次運(yùn)算符調(diào)用都會(huì)對(duì)輸入和輸出流命名。各種內(nèi)置的 InfoSphere Streams 運(yùn)算符提供了許多強(qiáng)大的功能:
Source
:讀取流格式的輸入數(shù)據(jù)。Sink
:將輸出流的數(shù)據(jù)寫(xiě)入外部存儲(chǔ)或系統(tǒng)中。Functor
:過(guò)濾、轉(zhuǎn)換和對(duì)輸入流的數(shù)據(jù)執(zhí)行各種功能。Sort
:對(duì)定義的鍵上的流數(shù)據(jù)排序。Split
:將輸入流數(shù)據(jù)拆分為多個(gè)輸出流。Join
:合并定義的鍵上的輸入流數(shù)據(jù)。Aggregate
:聚合定義的鍵上的流數(shù)據(jù)。Barrier
:組合和匹配流數(shù)據(jù)。Delay
:演示一個(gè)流數(shù)據(jù)流。Punctor
:識(shí)別應(yīng)一起處理的數(shù)據(jù)分組。
一個(gè)流連接到一個(gè)運(yùn)算符的位置稱(chēng)為端口。許多運(yùn)算符(例如 Functor
)有一個(gè)輸入端口和一個(gè)輸出端口,但運(yùn)算符也可以沒(méi)有輸入端口(比如 Source
)和沒(méi)有輸出端口(比如 Sink
),或者擁有多個(gè)輸入或輸出端口(比如 Split
和 Join
)。清單 1 給出了 Sink
的一個(gè) SPL 示例,它有一個(gè)輸入端口并將輸出元組寫(xiě)入到一個(gè)磁盤(pán)文件中。
清單 1. Sink
示例
() as Sink = FileSink(StreamIn) { param file : "/tmp/people.dat"; format : csv; flush : 20u; }
在 清單 1 中,file
是一個(gè)強(qiáng)制性參數(shù),提供了輸出文件的路徑。flush
參數(shù)用于清除給定數(shù)量的元組后的輸出。format
參數(shù)指定了輸出文件的格式。
組合運(yùn)算符是一個(gè)運(yùn)算符集合。它表示對(duì)原始(非組合)運(yùn)算符或組合(嵌套)運(yùn)算符的一個(gè)子圖的一種封裝。它類(lèi)似于過(guò)程語(yǔ)言中的宏。
一個(gè)應(yīng)用程序由一個(gè)沒(méi)有輸入或輸出端口的主要組合運(yùn)算符表示。數(shù)據(jù)可流入和流出,但不會(huì)流到一個(gè)圖表內(nèi)的流上,而且流可導(dǎo)出到在同一個(gè)實(shí)例中運(yùn)行的其他應(yīng)用程序和從這些應(yīng)用程序?qū)搿G鍐?2 中的代碼給出了主要組合運(yùn)算符的框架。
清單 2. 主要組合運(yùn)算符的結(jié)構(gòu)
composite Main { graph stream ... { } stream ... { } ... }
作為一個(gè)示例,我們來(lái)看一個(gè)簡(jiǎn)單的流應(yīng)用程序 WordCount,它統(tǒng)計(jì)一個(gè)文件中的行數(shù)和字?jǐn)?shù)。該程序由以下流圖組成:
- 一個(gè)
Source
預(yù)算法調(diào)用,讀取一個(gè)文件并將各行發(fā)送給數(shù)據(jù)流。 - 一個(gè)
Functor
運(yùn)算符調(diào)用,統(tǒng)計(jì)行數(shù)和每個(gè)數(shù)據(jù)行的字?jǐn)?shù),將統(tǒng)計(jì)數(shù)據(jù)發(fā)送給它的輸出流。 - 一個(gè)
Counter
運(yùn)算符調(diào)用,聚合文件中所有行的統(tǒng)計(jì)數(shù)據(jù)并打印在末尾。
在介紹 WordCount 的主要組合運(yùn)算符之前,我將定義一些幫助器。我將為一行的統(tǒng)計(jì)數(shù)據(jù)使用 LineStat
類(lèi)型。此外,我需要構(gòu)建一個(gè) countWords(rstring line)
函數(shù)來(lái)統(tǒng)計(jì)一行中的字?jǐn)?shù),需要使用一個(gè) addM(mutable LineStat x, LineStat y)
函數(shù)來(lái)添加兩個(gè) LineStat
值并存儲(chǔ)結(jié)果。清單 3 定義了這些幫助器。
清單 3. WordCount 幫助器定義
type LineStat = tuple<int32 lines, int32 words>; int32 countWords(rstring line) { return size(tokenize(line, " \t", false)); } void addM(mutable LineStat x, LineStat y) { x.lines += y.lines; x.words += y.words; }
現(xiàn)在可以定義主要組合運(yùn)算符了,如清單 4 所示。
清單 4. WordCount 的主要組合運(yùn)算符
composite WordCount { graph stream<rstring line> Data = FileSource() { param file : getSubmissionTimeValue("file"); format : line; } stream<LineStat> OneLine = Functor(Data) { output OneLine : lines = 1, words = countWords(line); } () as Counter = Custom(OneLine) { logic state : mutable LineStat sum = { lines = 0, words = 0 }; onTuple OneLine : addM(sum, OneLine); onPunct OneLine : if (currentPunct() == Sys.FinalMarker) println(sum); } }
開(kāi)發(fā)環(huán)境
InfoSphere Streams 提供了一個(gè)敏捷開(kāi)發(fā)環(huán)境,該環(huán)境由 Eclipse IDE、Streams Live Graph 視圖和一個(gè)流調(diào)試器組成。該平臺(tái)還包含用于加速和簡(jiǎn)化特定功能或行業(yè)的解決方案開(kāi)發(fā)的工具包:
- 標(biāo)準(zhǔn)工具包:包含隨產(chǎn)品發(fā)布的默認(rèn)運(yùn)算符:
- 關(guān)系運(yùn)算符,比如
Filter
、Sort
、Functor
、Join
、Punctor
和Aggregate
- 適配器 運(yùn)算符,比如
FileSource
、FileSink
、DirectoryScan
和Export
- 實(shí)用程序運(yùn)算符,比如
Custom Split
、DeDuplicate
、Throttle
、Union
、Delay
、ThreadedSplit
、Barrier
和DynamicFilter
- 關(guān)系運(yùn)算符,比如
- 互聯(lián)網(wǎng)工具包:包括
HTTP
、FTP
、HTTPS
、FTPS
和RSS
等運(yùn)算符。 - 數(shù)據(jù)庫(kù)工具包:支持 DBMS,包括 DB2®、Netezza、Oracle Database、SQL Server 和 MySQL。
- 其他內(nèi)置工具包:金融、數(shù)據(jù)挖掘、大數(shù)據(jù)和文本工具包。
此外,您可定義您自己的工具包,提供可重用的運(yùn)算符和函數(shù)集,并創(chuàng)建跨領(lǐng)域和特定于領(lǐng)域的加速器。它們可包含原始和組合運(yùn)算符,也可同時(shí)使用原生和 SPL 函數(shù)。
BigInsights 和 InfoSphere Streams 之間的集成和交互
不斷從系統(tǒng)中生成大量寶貴數(shù)據(jù)的公司正面臨為以下兩個(gè)重要用途而分析數(shù)據(jù)的問(wèn)題困擾:及時(shí)感知和響應(yīng)當(dāng)前事件,根據(jù)歷史知識(shí)進(jìn)行預(yù)測(cè),從而指導(dǎo)響應(yīng)。這一情形產(chǎn)生了無(wú)縫運(yùn)行移動(dòng)數(shù)據(jù)(當(dāng)前數(shù)據(jù))和靜止數(shù)據(jù)(歷史數(shù)據(jù))分析、處理海量、多樣性、高速產(chǎn)生的數(shù)據(jù)的需求。IBM 的移動(dòng)數(shù)據(jù) (InfoSphere Streams) 與靜止數(shù)據(jù) (BigInsights) 平臺(tái)的集成解決了 3 個(gè)主要應(yīng)用場(chǎng)景的需求:
- 可伸縮的數(shù)據(jù)獲取:通過(guò) Streams 持續(xù)將數(shù)據(jù)獲取到 BigInsights 中。例如,通常需要獲取來(lái)自社交媒體來(lái)源(比如 Twitter 和 Facebook)的非結(jié)構(gòu)化文本數(shù)據(jù),以提取各種類(lèi)型的態(tài)度和線索。在這種情況下,如果文本提取在獲取數(shù)據(jù)時(shí)執(zhí)行,那么盡早消除垃圾郵件等無(wú)關(guān)數(shù)據(jù)會(huì)讓效率高很多。這種集成使公司能夠避免巨額的非必要存儲(chǔ)成本。
- 加速和充實(shí):從 BigInsights 生辰歷史上下文來(lái)加速分析和充實(shí)傳入的 Streams 數(shù)據(jù)。BigInsights 可用于分析在較長(zhǎng)的時(shí)間窗口內(nèi)從各種連續(xù)和靜態(tài)的數(shù)據(jù)來(lái)源吸收和集成的數(shù)據(jù)。此分析的結(jié)果為各種在線分析提供了上下文,可用于將它們引導(dǎo)至一種已知狀態(tài)。回到社交媒體應(yīng)用程序的場(chǎng)景,一條傳入的 Twitter 消息僅擁有發(fā)布該消息的人的 ID。但是,歷史數(shù)據(jù)可通過(guò)屬性(比如影響者)充實(shí)該信息,為執(zhí)行下游分析以適當(dāng)應(yīng)對(duì)此用戶(hù)所表達(dá)的態(tài)度提供機(jī)會(huì)。
- 自適應(yīng)分析模型:BigInsights 上的分析操作(比如數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)或統(tǒng)計(jì)建模)所生成的模型。這些可用作分析 Streams 上的傳入數(shù)據(jù)的基礎(chǔ),基于實(shí)時(shí)觀察結(jié)果而更新。
IBM 大數(shù)據(jù)平臺(tái)的移動(dòng)數(shù)據(jù)和靜止數(shù)據(jù)部分可通過(guò) 3 種主要的組件類(lèi)型來(lái)集成:
- 通用分析:相同的分析功能可用在 Streams 和 BigInsights 上。
- 通用數(shù)據(jù)格式:Streams 格式運(yùn)算符可在 Streams 元組格式和 BigInsights 使用的數(shù)據(jù)格式之間轉(zhuǎn)換數(shù)據(jù)。
- 數(shù)據(jù)交換適配器:Streams
Source
和Sink
適配器可用于與 BigInsights 交換數(shù)據(jù)。
結(jié)束語(yǔ)
幫助公司管理、分析和利用大數(shù)據(jù)是 IBM 大數(shù)據(jù)平臺(tái)的主要關(guān)注領(lǐng)域。本文介紹了 InfoSphere Streams,它是 IBM 用來(lái)存儲(chǔ)和分析移動(dòng)數(shù)據(jù)(流數(shù)據(jù))的軟件平臺(tái)。本文還概述了如何集成 InfoSphere Streams 與 BigInsights,它們是 IBM 用來(lái)存儲(chǔ)和分析靜止數(shù)據(jù)的軟件平臺(tái),以便充實(shí)實(shí)現(xiàn)更復(fù)雜分析的能力。許多公司認(rèn)識(shí)到,充分利用大數(shù)據(jù)是提供獨(dú)特的業(yè)務(wù)價(jià)值和優(yōu)勢(shì)的一個(gè)重要的信息管理手段。如果您已準(zhǔn)備好使用 InfoSphere streams,請(qǐng)參見(jiàn) 參考資料,獲取免費(fèi)的培訓(xùn)材料和軟件。
關(guān)于Streams免費(fèi)試用版請(qǐng)聯(lián)系我們>>>
更多大數(shù)據(jù)與分析相關(guān)行業(yè)資訊、解決方案、案例、教程等請(qǐng)點(diǎn)擊查看>>>
詳情請(qǐng)咨詢(xún)在線客服!
客服熱線:023-66090381