这可能是一个愚蠢的问题,因为我还没有完全理解cognosbi是如何工作的。另外,我尝试在stack exchange上发布这个,但没有成功(放置标签时出错)。
我的问题是-可以使用apachehadoop让cognosbi更快地工作吗?或者cognos做的事情和hadoop一样(mapreduce功能)?
我开始工作的地方,使用了sybaseiq(内容商店)之上的cognosbi套件。apachetomcat是web服务器。有时会发生的情况是,如果数据集很大,cognos会花费大量时间(几乎死亡)来生成报告。
那么apachehadoop是否可以通过在cognos和sybase之间的某个地方进行匹配来帮助cognos更好地执行任务呢?还是报告优化是这种情况下唯一的出路?
谢谢你们。
2条答案
按热度按时间qlfbtfca1#
简单地说,hadoop是一个用于处理大型数据集的分布式平台。它内置了容错功能,这使得它对停机时间可能影响业务流程的组织很有吸引力。cognos是一种商业智能工具,允许用户探索和报告数据。所以这似乎是合乎逻辑的。
然而,hadoop并不像另一位发帖者所评论的那样,它本身(还)不适合进行即席查询。有一个hadoop项目就是这样承诺的。开发人员已经发布了访问hive数据库的odbc连接器(它只是hadoop数据的数据仓库视图,可以使用类似sql的语言hiveql进行查询)。因为cognos可以从odbc数据库提取数据,所以cognos可以通过hive从hadoop提取数据。
在cognos环境中使用hadoop的另一种方法是使用csv等文本文件传输数据。hadoop可以生成一个数据文件,然后将其导入cognos。这是我目前使用的方法。
然而,我还没有回答使用hadoop的“原因”。我使用hadoop的两个应用程序是库存预测和现金流/预算。如果您正试图执行成百上千个sku的例行预测,hadoop是一个极好的工具。如果您正试图对一千个预算项目执行蒙特卡罗模拟,hadoop是非常棒的。只需从数据仓库导入数据,运行hadoop作业,并将生成的csv文件导入cognos。瞧!
不过要小心,hadoop不是万能的。有时候,老式sql和您选择的编程语言一样好,或者更好。hadoop具有学习曲线和资源需求。我通过下载hortonworks沙盒学习;它是一个预配置的虚拟机,运行在vmware、virtualbox等环境中,因此您不必安装或配置任何东西!
p3rjfoxz2#
hadoop作为一个平台,并不是针对特定的查询或分析报告。
cognos是ibm的产品。它只能查询自己的hadoop发行版,称为big insights:
infosphere biginsights公司
OverBigInsight cognos使用hive发出查询,最终转换为mapreduce。
您说您使用的是sybase iq(这不是content store,而是运行查询的报告数据库)。
虽然我对sybase iq了解不多,但我在vertica工作,vertica也是专栏db。
为了获得良好的性能,您必须调整任何可能的内容:
cognos框架模型
cognos报告
sybase db调谐和结构。hadoop当然可以通过以正确的粒度级别准备数据和预先计算所需的任何计算来提供帮助。