我有一个matlab表格,其中包含以下列。我们可以称之为'参考表': [Security(char),RegionId(int int 1,2,3)] 这张表的高度约为49,000Matlab:大数据映射char到Int
我有其他包含Security(char)随机数据点作为列。让我们称这些表的'数据表'。 这些数据表的聚合大小是45Gig。这些表中的每一个都是> 1亿行。我需要使用参考表映射regionId并执行以下操作:
[Security(char),RegionId(int 1,2,3),RandomDataPoint (float)]
通常对于这个操作我会使用表连接。不过,由于这些表的大规模,我在这个实现中遇到了实际问题。我的主要问题是内存不足。
一种选择是将表格分解成部分并加入。不过,考虑到45Gig的总体数据,我怀疑这在时间上会非常昂贵。
有没有人有任何建议我应该如何解决这个问题。如果它很重要,我需要将区域列添加到我的数据表中,以便我可以将数据写入文本文件并将它们批量装载到sql中。
在此先感谢
你确定你想/需要使用MATLAB来完成这类任务吗?如何使用专用的数据库服务器,也许使用MATLAB的JDBC接口? –
问题是我收到.mat文件。我能想到的另一件事是创建一个temp数据表和一个temp数据表的临时sql表 - > join in sql - >然后将它们插入到我想要的表中。不过,我想找一些更美观的东西。 – user2353644
您可能对mapreduce有兴趣:http://www.mathworks.com/help/matlab/examples/process-big-data-in-matlab-using-mapreduce.html。我从来没有使用它,但似乎适合你的任务 – brodoll