我是一名学生,试图将一些机器学习算法用于大型数据集。我们的训练集中有大约1.4亿条记录(目前在postgresql表中),有五张表,其中有大约600万条记录显示主键 - 外键关系。
我们只有2台机器具有以下配置 1)配备第二代i5处理器的6GB内存 2)8GB内存与第二代i7处理器
我们现在正计划在运行统计分析之前将它们分成逻辑分组,因为周转时间非常长。
1)我应该将它们分成postgresql中的单独表格,并使用MATLAB或R进行编程 要么 2)我应该通过移植数据库来使用hadoop和hbase 3)我应该组合使用它们(即)根据逻辑组对它们进行分解并在postgresql数据库中转储,并设置hadoop + hbase进行分析并根据必要的算法使用它。
由于
答案 0 :(得分:2)
很难相信在如此小的集群中Hadoop会有效。如果你可以在没有它的情况下有效地完成任务 - 它几乎可以肯定更有效
我会考虑的另一个考虑因素 - 学习过程中的迭代时间是多少。如果迭代需要几十秒 - 那么Hadoop的工作开销(大约30秒)将会太多。
你可以从Hadoop获得什么 - 是有效的外部parralel排序 - 它是什么shuffle阶段。如果您需要它 - 考虑使用hadoop
还请注意,通常将关系模式移植到HBase并不容易 - 因为不支持连接。