主要内容

为不同机器或集群上的处理设置数据存储

属性,可以在一个平台上创建和保存数据存储,该平台可以在另一个平台上无缝加载和工作“AlternateFileSystemRoots”属性。在以下情况使用此属性:

  • 您在一台本地机器上创建了一个数据存储,并需要访问和处理另一台机器上的数据(可能运行不同的操作系统)。

  • 您可以使用涉及不同平台、云或集群机器的并行和分布式计算来处理数据存储。

方法的使用“AlternateFileSystemRoots”财产TabularTextDatastore.但是,你可以对这些数据存储使用相同的语法:SpreadsheetDatastoreImageDatastoreParquetDatastoreFileDatastoreKeyValueDatastore,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
在Linux平台上加载数据存储并检查文件财产。因为根路径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'}
现在可以在Linux机器上处理和分析这个数据存储。

使用并行和分布式计算处理数据存储

要使用涉及不同平台、云或集群机器的并行和分布式计算处理数据存储,必须预先定义“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)

另请参阅

||||||

相关的话题