为不同机器或集群上的处理设置数据存储
属性,可以在一个平台上创建和保存数据存储,该平台可以在另一个平台上无缝加载和工作“AlternateFileSystemRoots”
属性。在以下情况使用此属性:
您在一台本地机器上创建了一个数据存储,并需要访问和处理另一台机器上的数据(可能运行不同的操作系统)。
您可以使用涉及不同平台、云或集群机器的并行和分布式计算来处理数据存储。
方法的使用“AlternateFileSystemRoots”
财产TabularTextDatastore
.但是,你可以对这些数据存储使用相同的语法:SpreadsheetDatastore
,ImageDatastore
,ParquetDatastore
,FileDatastore
,KeyValueDatastore
,TallDatastore
.使用“AlternateFileSystemRoots”
自定义数据存储的功能,请参见matlab.io.datastore.DsFileSet
而且开发自定义数据存储.
保存数据存储和加载在不同的文件系统平台
在一个文件系统上创建一个数据存储,在不同的机器(可能是不同的操作系统)上无缝加载和工作。例如,在Windows操作系统上创建数据存储®保存,然后加载到Linux上®机器。
首先,在创建和保存数据存储之前,确定不同平台上数据的根路径。根路径因机器或文件系统而异。例如,如果你在本地机器上有数据,在集群上有数据的副本,那么获取访问数据的根路径:
“Z: \数据集”
用于本地Windows计算机。“nfs-bldg001 /数据集”
您的Linux集群。
方法将这些根路径关联起来“AlternateFileSystemRoots”
数据存储参数。
altRoots = [“Z: \数据集”,“nfs-bldg001 /数据集”];ds = tabularTextDatastore(Z: \数据集的,“AlternateFileSystemRoots”, altRoots);
检查文件
数据存储属性。在这种情况下,文件
属性包含您的Windows计算机所访问的数据的位置。
ds。文件
ans = 5×1单元格阵列{'Z:\数据集\数据afile01.csv'} {'Z:\数据集\数据afile02.csv'} {'Z:\数据集\数据afile03.csv'} {'Z:\数据集\数据afile04.csv'}
保存ds_saved_on_Windows.matds
文件
财产。因为根路径Z: \数据集的
在Linux集群上不可访问,在加载时,数据存储功能会自动更新根路径“AlternateFileSystemRoots”
参数。的文件
属性现在包含Linux集群上数据的更新根路径。负载ds_saved_on_Windows.matds。文件
ans = 5×1 cell array {'/nfs-bldg001/DataSet/datafile01.csv'} {'/nfs-bldg001/DataSet/datafile02.csv'} {'/nfs-bldg001/DataSet/datafile04.csv'} {'/nfs-bldg001/DataSet/datafile04.csv'} {'/nfs-bldg001/DataSet/datafile05.csv'}
使用并行和分布式计算处理数据存储
要使用涉及不同平台、云或集群机器的并行和分布式计算处理数据存储,必须预先定义“AlternateFileSystemRoots”
参数。此示例演示如何在本地机器上创建数据存储、分析一小部分数据,然后使用并行计算工具箱™和MATLAB®并行服务器™将分析扩展到整个数据集。
创建一个数据存储并将值赋给“AlternateFileSystemRoots”
财产。属性的值“AlternateFileSystemRoots”
属性,为不同平台上的数据标识根路径。根路径因机器或文件系统而异。例如,确定从您的机器和集群访问数据的根路径:
“Z: \数据集”
从您的本地Windows机器。“nfs-bldg001 /数据集”
从MATLAB并行服务器Linux集群。
方法将这些根路径关联起来AlternateFileSystemRoots
财产。
altRoots = [“Z: \数据集”,“nfs-bldg001 /数据集”];ds = tabularTextDatastore(Z: \数据集的,“AlternateFileSystemRoots”, altRoots);
分析本地机器上的一小部分数据。例如,获取数据的分区子集,通过删除任何缺失的条目来清理数据,并检查变量的图形。
Tt =高(分区(ds,100,1));总结(tt);%分析你的数据Tt = rmmissing(Tt);情节(tt.MyVar1 tt.MyVar2)
通过使用将您的分析扩展到整个数据集MATLAB并行服务器cluster (Linux集群)。例如,使用集群概要文件启动一个工作池,然后使用并行和分布式计算功能对整个数据集执行分析。
parpool (“MyMjsProfile”) tt =高(ds);总结(tt);%分析你的数据Tt = rmmissing(Tt);情节(tt.MyVar1 tt.MyVar2)
另请参阅
数据存储
|TabularTextDatastore
|SpreadsheetDatastore
|ImageDatastore
|FileDatastore
|KeyValueDatastore
|TallDatastore