2014-11-04 44 views
2

我有关于如何从大型金融交易数据集中筛选相关记录的查询。我们使用Oracle 11g数据库,其中一个要求是生成各种标准的各种报告。筛选大型数据集的最佳方法

相关的表看起来大致是这样的:

trade_metadata    18m rows, 10 GB 
trade_economics   18m rows, 15 GB 
business_event    18m rows, 11 GB 
trade_business_event_link 18m rows, 3 GB 

我们的一个报告,现在正在老化运行(> 5小时)。底层proc已经被优化了一次又一次,但新的标准不断得到补充,所以我们开始再次挣扎。 proc是非常标准的 - 加入所有表格,并应用一系列where子句(最后一次是20)。

我想知道我是否有足够大的问题来考虑大数据解决方案,以便每隔几个月摆脱这种优化查询游戏。无论如何,这些数量只会上升。我已经阅读了一些关于Hadoop + HBase,Cassandra,Apache Pig等的内容,但对于这个领域来说很新,对于最佳的处理方式有点困惑。

我想这不是一个map-reduce问题。 HBase似乎提供过滤器,但我不确定他们的表现。可以在这里开明的人,请回答几个问题要问我:

  1. 是数据的大数据解决方案设置得足够大(我需要进入十亿俱乐部的第一个?)
  2. 如果是,将HBase的是一个很好的选择来实现这个?
  3. 即使产量稳步增长,我们也不会马上离开Oracle。我是否每天都用相关表中的转储填充HDFS?或者每天写三角洲文字?

非常感谢!

+0

研究Sqoop将数据从oracle移动到Hbase。 Sqoop有能力完成全表导入以及增量更新。一旦数据在那里,我会建议你看看PIG生成报告。 – 2014-11-04 20:16:52

+0

感谢Sqoop提示Steven。我会看看。那还有PIG。 – JVC 2014-11-05 06:59:21

回答

2

欢迎来到令人难以置信的大数据生态系统。如果您的数据集大小足够大,以至于无法使用传统工具对其进行分析,那么它对于大数据技术来说足够大。正如您可能已经看到的,有大量的大数据工具可用,其中许多工具具有重叠功能。

首先,你没有提到你是否有集群设置。如果没有,那么我建议通过ClouderaHortonworks来查看产品。这些公司提供Hadoop发行版,其中包括许多最流行的大数据工具(hbase,spark,sqoop等),并且可以更轻松地配置和管理组成群集的节点。两家公司均免费提供发行版,但您必须支付费用。

接下来,您需要从Oracle中获取数据,并将其转换为hadoop群集中的某种格式进行分析。该工具通常用于从关系数据库中获取数据并将其存入群集中的工具是Sqoop。 Sqoop能够将表加载到Hadoop分布式文件系统(HDFS)上的HBase,Hive和文件中。 Sqoop也有能力为更新而不是整个表格加载进行增量导入。您选择哪个目的地会影响您可以在下一步中使用哪些工具。 HDFS是最灵活的,您可以通过PIG,您编写的MapReduce代码,Hive,Cloudera Impala等访问它。我发现HBase非常易于使用,但其他人强烈推荐Hive。

另外:有一个名为Apache Spark的项目,预计将替代Hadoop MapReduce。与传统的hadoop mapreduce作业相比,Spark宣称其速度提高了100倍。包括Hive在内的许多项目都将运行在Spark上,让您能够对大数据执行类似SQL的查询并快速获得结果(Blog post

现在您的数据已加载,您需要运行那些日期结束报表。如果您选择Hive,那么您可以重复使用大量的SQL知识,而不必编程Java或学习Pig Latin(不是很难)。 Pig将Pig Latin翻译成MapReduce作业(就像现在的Hive的查询语言一样),但是像Hive一样,Pig can target Spark也是如此。无论您选择哪一种工具,我建议查看Oozie以自动执行摄入,分析和结果移出集群(sqoop导出为此)。 Oozie允许你像你一样schedule recurring workflows,所以你可以专注于结果而不是过程。 Oozie的全部功能记录在here

有一些疯狂的工具可供您使用,而且这个生态系统的变化速度可以带给你鞭挞。 cloudera和Hortonworks都提供可用于尝试分发的虚拟机。我强烈建议花费更少的时间深入研究每个工具,并尝试其中的一些工具(如Hive,Pig,Oozie等),以查看最适合您应用的工具。

+0

现在,这是很多有用的信息!从PROD角度来看,我肯定会考虑Couldera或Hortonworks。不过,对于我的POC来说,看起来Hive,HDFS和Sqoop会是一个好的开始。非常感谢Steven。这有很大帮助。 – JVC 2014-11-06 03:47:57

相关问题