Hadoop for MySQL用例

时间:2017-10-24 16:16:07

标签: mysql hadoop bigdata groupwise-maximum

我有一个包含大约400万美国股票,共同基金和ETF价格记录的数据库,为期5年,每天我都会为每个证券增加每日价格。

对于我正在处理的一项功能,我需要获取每个安全性的最新价格(groupwise max),并使用其他财务指标进行一些计算。 证券数量约为40K。

但是这个数据量的分组最大值很大,需要几分钟才能执行。

当然我的表使用索引,但任务涉及获取和实时处理近7GB的数据。

所以我感兴趣,这是大数据工具和算法的任务还是少量数据?因为在示例中我注意到他们正在处理数千和数百万GB的数据。

我的数据库是MySQL,我想使用Hadoop处理数据。 这是好的做法还是我只需要使用MySQL优化(我的数据是否很小?)或者如果在该数据量中使用Hadoop是错误的,那么您可以为此案例提供建议吗?

注意我每天和项目的增加涉及许多分析,需要根据用户请求实时完成。

注意不知道这个问题在stackoverflow中是否可以提问,所以如果问题不在主题,请抱歉。

提前致谢!

2 个答案:

答案 0 :(得分:1)

在Hadoop术语中,您的数据肯定很小。最新的计算机具有16 GB以上的RAM,因此您的数据集可以完全适合单个计算机的内存。

但是,这并不意味着您至少可以尝试将数据加载到HDFS并对其执行某些操作。 Sqoop& Hive将是您用来加载和进行SQL处理的工具。

因为我提出了关于内存的观点,但是完全可行的是你不需要Hadoop(HDFS& YARN),而是可以使用Apache Spark w/ SparkSQL直接从分布式JDBC连接命中MySQL。

答案 1 :(得分:0)

对于MySQL,您可以利用索引,并通过Order(M)实现目标,其中M是证券数量(40K)而不是O(N),其中N是表中的行数。

这是需要调整的example