SuperAPI AI 工具集

matlab-choose-big-data-solution

数据与分析

查看项目

更新于 10-16 00:21

技能介绍

用途:为基于文件的大型表格数据(CSV、Parquet、分隔文本、电子表格、MDF)选择正确的 MATLAB 处理工具。技能内置决策流程图,只推荐一条明确路径,而非罗列多个选项。

适用时机:数据被描述为“大”“海量”;readtable、parquetread 等出现内存不足;需将多个表格文件作为单一数据集或逐个独立处理;询问 datastore、tall 数组或 mapreduce;需为专有格式构建自定义 datastore。不适用:单文件可放入内存(文件大小与可用 RAM 之比小于 0.5)、MAT 文件、数据库(SQL/ODBC)、GPU 加速、深度学习训练批处理。

预检:先估算文件大小与可用 RAM 之比。单文件比值小于 0.5 时推荐原生 I/O(readtable、parquetread)并停止;比值不小于 0.5、报告内存不足、多文件或大小未知时进入决策流程。

决策流程:目标是作为单一连续数据集处理时,用 datastore 加 tall 数组,按格式选择 tabularTextDatastore(CSV/文本)、parquetDatastore、spreadsheetDatastore、mdfDatastore(需 Vehicle Network Toolbox)或自定义 datastore。目标是逐个独立处理时,一次读取一个文件用 tabularTextDatastore 或 spreadsheetDatastore,一次读取一个行组用 parquetDatastore(默认 ReadSize 为 rowgroup)。目标不明确时先提问,不展示代码。

主要能力:tall 数组自动分块,支持 mean、std、groupsummary、sortrows、topkrows 等;transform 实现按文件或按行组处理;readall 支持 UseParallel;并行池加速 tall 计算;mapreducer 仅用于 Hadoop/Spark。R2026a 起可用 DuckDB 直接查询 CSV/Parquet/JSON(需 Database Toolbox)。

限制:按文件处理不得用 tall 数组;Parquet 不应强制 ReadSize 为 file;并行池需 Parallel Computing Toolbox,mapreducer 还需 MATLAB Parallel Server;JSON、XML、HTML、Word 无内置 datastore,需自定义分块读取,不能先转 Parquet/CSV 以免再次内存溢出。具体实现细节与属性映射见技能内参考文档。