我有一個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