MatLab从AWS读取数据缓慢问题

在AWS上有多达数十TB的数据,每个文件通常在0.5-2GB之间,在用matlab读取和处理这些数据时,发现读取速度极其缓慢,大大影响了后续的处理效率。

经过研究,发现有两个原因:

1.在AWS上的文件名中包含了若干中文。

        虽然中文名依然可以读取,但是由于一些编码转译的原因,导致读取速度大大受限,所以在存储时,一定要尽量避免中文名,尽量用字母和数字以及允许的相关符号(如下划线)。该原因大概使得1GB的文件读取时间延长一小时左右。

2.存储的文件为csv格式,脚本中使用readtable进行读取。

        readtable与load相比,其背后代码较为复杂,因为需要实现csv、txt或xlsx等文件格式的识别及转换,以及简单的数据提取处理,导致其耗时长。在不包含中文名的前提下,单个文件最高下载速度大约被限制在200-400Mpbs左右,除非通过并行计算可稍微减少该原因的影响,但是每个单核的下载速度仍然在400Mpbs以下。因此建议在用matalb存储到云端时,尽量存储为mat格式,用load进行读取。另外,经对比,用python读取AWS上的csv文件,效率极高,几乎可以认为限制源于带宽本身。

        聊且记录,引以为戒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值