使用IBM InfoSphere BigInsights电子表格样式工具来可视化查询结果

您甚至可以看到业务分析师如何使用电子表格样式的工具来可视化查询结果。

处理大数据常常需要查询该数据,以隔离关注的信息,并以不同的方式对其进行操作。本文将向您介绍 Jaql,这是一个随 InfoSphere BigInsights 一起提供的查询和脚本语言。本文还讨论了如何查询从社交媒体站点中收集的数据,并将这些数据与从关系数据库管理系统 (DBMS) 中检索到的信息进行联接。

背景知识

也许您不熟悉 InfoSphere BigInsights,它是一个软件平台,旨在帮助企业发现和分析隐藏在不同范围的大量数据中的业务洞察,这些数据经常被忽略或丢弃,因为使用传统的手段来处理它们过于不切实际或困难。这样的数据包括日志记录、点击流、社交媒体数据、新闻提要、电子传感器输出,甚至是一些事务数据。

为了帮助企业以高效的方式从这些数据中获取价值,BigInsights 的 Enterprise Edition 提供了几个开源项目(包括 Apache Hadoop)和一些 IBM 开发的技术。Hadoop 和补充项目为数据密集型应用程序提供了有效的软件框架,利用分布式计算环境实现高可扩展性。IBM 技术通过分析软件、企业软件集成、平台扩展和工具丰富了这个开源框架。

本文向您介绍 BigInsights 通过 Jaql 提供的一些基本查询功能,Jaql 是一种查询和脚本语言,它使用基于 JavaScript Object Notation (JSON) 的数据模型。虽然 Jaql 并不是查询由 BigInsights Basic 或 Enterprise Editions 管理的数据的惟一方式(例如,您可以使用 Hive 或 Pig),但它能够与不同的数据结构(包括深层嵌套的数据结构)良好地进行配合。BigInsights 还提供了一个 Jaql 模块,可用于访问支持 JDBC 功能的数据源。这种功能对于我们的场景特别有用,其中涉及分析被收集为 JSON 记录的少量社交媒体数据,使用 Jaql 的 JDBC 模块,将该数据与从关系型 DBMS 中提取的 CSV(逗号分隔值)格式的企业记录相结合。

理解示例场景

在本文中,您将使用 Jaql 从社交媒体站点中搜集有关 IBM Watson 的文章,然后调用各种 Jaql 表达式来筛选、转换和操作这些数据。如果您不熟悉 IBM Watson,可以先简单介绍一下,这是一个研究项目,执行复杂的分析,解答使用自然语言提出的问题。为了做到这一点,Watson 的软件使用了在 IBM Power 750 服务器集群上运行的 Apache Hadoop,高效地处理从各种来源收集的数据。在 2011 年,IBM Watson 在电视转播的 Jeopardy! 游戏节目比赛中获得了第一,击败两个领先的人类参赛者。

很多企业的业务分析师都对监视某个特定品牌或服务的知名度、覆盖范围和议论感兴趣,因此,在本文中,IBM Watson 将作为这样一个品牌的示例。参考资料 部分中引用了之前的一篇文章,其中探讨了业务分析师如何使用 BigSheets(BigInsights 提供的电子表格风格的工具)分析从多个站点中收集到的有关 IBM Watson 的社交媒体数据。在本文中,您会收集和处理来自某个站点 (Twitter) 的小数据集,让您可以重点学习 Jaql 的关键方面。

值得一提的是,许多社交媒体站点都提供了 API,程序员可以用它来获取公共数据。在本文中,您将使用 Twitter 的基于 REST 的 API 来检索少量数据,其中包含您关注的最新推文。某生产应用程序可能会使用其他 Twitter 服务来获得大量数据,但是,由于本文的讨论重点是 Jaql,所以数据的收集工作会尽量保持简单。

通常情况下,社会媒体站点所提供的 API 会以 JSON 格式返回数据,Jaql 基于相同的数据模型。在深入探讨 Jaql 示例之前,您需要熟悉社交媒体数据的 JSON 结构,因为您会在本文中用到它。您可以轻松地做到这一点,只需在可以处理 JSON 数据的 Web 浏览器(如 Chrome)中输入下面的 URL:http://search.twitter.com/search.json?q=IBM+Watson。

这使 Twitter 返回匹配您的搜索条件 ("IBM Watson") 的 15 篇最新的文章。虽然根据执行搜索的时间不同,返回的内容页会有所不同,但结果的结构将类似于 清单 1 中的摘录,其中包括为了进行说明而创建的示例数据。很快,您就可以浏览该摘录的一些关键部分,为本文的测试提供相应的上下文。

清单 1. 来自基于 Twitter 的搜索的示例 JSON 记录结构

{ "completed_in": 0.021, "max_id": 99999999111111, "max_id_str": "99999999111111", "next_page": "?page=2&max_id=99999999111111&q=IBM%20Watson", "page": 1, "query": "IBM+Watson", "refresh_url": "?since_id=99999999111111&q=IBM%20Watson", "results": [ { "created_at": "Mon, 30 Apr 2012 18:42:37 +0000", "from_user": "SomeSampleUser", "from_user_id": 444455555, "from_user_id_str": "444455555", "from_user_name": "Some Sample User", "geo": null, "id": 000000000000000001, "id_str": "000000000000000001", "iso_language_code": "en", "metadata": { "result_type": "recent" }, "profile_image_url": "http://a0.twimg.com/profile_images/222222/TwitterPic2_normal.jpg", "profile_image_url_https": "https://si0.twimg.com/profile_images/222222/TwitterPic2_normal.jpg", "source": "<a href="http://news.myUniv.edu/" rel="nofollow">MyUnivNewsApp</a>", "text": "RT @MyUnivNews: IBM's Watson Inventor will present at a conference April 12 http://confURL.co/xrr5rBeJG", "to_user": null, "to_user_id": null, "to_user_id_str": null, "to_user_name": null }, { "created_at": "Mon, 30 Apr 2012 17:31:13 +0000", "from_user": "anotheruser", "from_user_id": 76666993, "from_user_id_str": "76666993", "from_user_name": "Chris", "geo": null, "id": 66666536505281, "id_str": "66666536505281", "iso_language_code": "en", "metadata": { "result_type": "recent" }, "profile_image_url": "http://a0.twimg.com/profile_images/3331788339/Mug_Shot.jpg", "profile_image_url_https": "https://si0.twimg.com/profile_images/3331788339/Mug_Shot.jpg", "source": "<a href="http://www.somesuite.com" rel="nofollow">SomeSuite</a>", "text": "IBM's Watson training to help diagnose and treat cancer http://someURL.co/fBJNaQE6", "to_user": null, "to_user_id": null, "to_user_id_str": null, "to_user_name": null},. . . "results_per_page": 15,"since_id": 0,"since_id_str": "0"}

以下是对 JSON 的一个非常简短的介绍。清单 1 中包含一个 JSON 记录,其开头和结尾都用花括号 “{ }” 指出。在此记录中,有多个名称/值对、其他(嵌套) JSON 记录,和 JSON 数组(以方括号 “[]” 界定)。这是典型的 JSON,其中已包含大量嵌套的和不同的数据结构。

在本示例中,您可以看到,JSON 记录的初始部分包含名称/值对,以及有关 Twitter 搜索的背景信息。例如,搜索在 0.021 秒内完成,并且查询涉及到了 IBM Watson。记录中嵌套的 “results” 数组包含本文最关注的数据:包含有关 IBM Watson 的推文的其他 JSON 记录。

在结果数组中嵌套的每一个 JSON 记录都指示了用来让大家了解用户的名称 ("from_user_name")、创建消息的时间戳 ("created_at")、消息文本 ("text")、文本的语言 “iso_language_code”,等等。事实上,您会使用用户的 ID ("from_user_id_str") 来联接社交媒体数据与从关系型 DBMS 中提取的数据。本文的联接场景很简单,甚至有点取巧。它假定:雇主维护一个关系表,跟踪其员工用于公务的社交媒体 ID,该企业希望分析最近的文章。不过,可以将使用 Jaql 联接来自不同数据源的数据的基本方法应用于更广泛的场景。

时间: 2024-08-19 06:55:08

使用IBM InfoSphere BigInsights电子表格样式工具来可视化查询结果的相关文章

通过IBM Cognos Business Intelligence 10.2使用IBM InfoSphere BigInsights数据

大数据开辟了http://www.aliyun.com/zixun/aggregation/13782.html">业务分析的新时代.组织现在都有机会基于相关数据制定明智的决策,在过去,这些数据因为数量.周转速度和多样性等原因而不能使用. IBM 是惟一一家提供了从大数据中得出可行的见解所需的全部技术和服务的公司.通过与 IBM InfoSphere BigInsights 进行互操作,IBM Cognos Business Intelligence 现在可以轻松访问到非结构化的源数据,使

监控和审计IBM InfoSphere BigInsights和Cloudera Hadoop的访问权限

您也将学习一个仅适用于 IBM InfoSphere BigInsights 的快速启动监控实现. 大数据骚动主要集中在支持极限容量.速度和多样性的http://www.aliyun.com/zixun/aggregation/13748.html">基础架构和该基础架构支持的实时分析功能中.虽然像 Hadoop 这样的大数据环境是相对较新的,但事实是在大数据环境中数据安全问题的关键是预先解决.哪里有数据,哪里就有可能存在隐私泄密.非授权访问或特权用户的不恰当访问. 整个大数据环境和更多传

针对InfoSphere BigInsights的基于Eclipse工具加快应用程序开发

如果您刚接触大数据应用程序开发并且想要快速进行开发,那么您可能希望了解 IBM InfoSphere BigInsights Enterprise Edition(一个基于开源 Apache Hadoop 项目的平台)提供的工具.BigInsights Eclipse 工具包括向导.代码生成器.上下文相关的帮助,以及一种简化开发工作的测试环境.使用这些工具,您可以在 BigInsights 基于 Web 的目录中快速 "发布" 应用程序.然后,您可以使用 BigInsights Web

IBM Infosphere Data Replication产品族Replication Server与Change Data Cap

IBM Infosphere Data Replication产品族Replication Server与Change Data Capture的异同比较 一,简介 在如今信息快速变化的商业时代,必须在第一时间做出商业决策并采取行动才能在激烈的竞争中保持领先地位.如果商业数据不能保证同步,那么生产和利润势必会遭受损失,但是,面对信息量激增并且分布存储的特点,保证数据的可信性并非易事. IBM 的 InfoSphere Data Replication 产品族针对这一问题为应用提供了一系列数据同步

威胁预警:IBM InfoSphere系列产品中发现多处高危安全漏洞

本文讲的是威胁预警:IBM InfoSphere系列产品中发现多处高危安全漏洞, 近期,网络安全公司SEC Consult披露了影响IBM InfoSphere DataStage以及IBM InfoSphere Information Server等产品的若干个未修复漏洞的详细信息. 据悉,IBM InfoSphere DataStage 是一款强大的基于图形化界面的 ETL 工具,它可以从多个不同的业务系统,多个平台的数据源中抽取数据.转换数据.装载数据到各种目标系统中:而IBM InfoS

IBM InfoSphere MDM在复杂环境中提供数据集成流程自动化和可靠的信息

借助 IBM® InfoSphere® MDM Reference Data Management (RDM) 中心,客户可以运用主数据管理 (MDM) 方法管理自身的参考数据.RDM 中心会通过有效的集中创作和审批点来替换遍布多款应用程序的代码表筒仓.同时还会提供一些 MDM 功能,比如治理.流程.安全和审计控制. 和任何初始的 MDM 实现项目一样,人们将大部分精力用于 RDM 中心与现有的应用程序和流程的集成.整个企业 IT 基础架构的应用程序都引用了代码表.为获得主引用数据的优势,RDM

使用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,流处理语言)的易于使用的应用程序开发语言与一个分布式运行时平台相结合来完成此任务