主要内容

设置数据存储以便在不同的机器或集群上进行处理

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

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

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

的用法“AlternateFileSystemRoots”财产TabularTextDatastore。但是,您可以对任何这些数据存储使用相同的语法:SpreadsheetDatastoreImageDatastoreParquetDatastoreFileDatastoreKeyValueDatastore,TallDatastore。要使用“AlternateFileSystemRoots”自定义数据存储的功能,请参见matlab.io.datastore.DsFileSet开发自定义数据存储

在不同的文件系统平台上保存数据存储和加载

在一个文件系统上创建一个数据存储,该数据存储可以在另一台机器(可能是不同的操作系统)上无缝加载和工作。例如,在Windows上创建数据存储®保存它,然后在Linux上加载它®机器。

首先,在创建和保存数据存储之前,确定数据在不同平台上的根路径。根路径将根据机器或文件系统的不同而不同。例如,如果本地机器上有数据,而集群上有数据的副本,那么获取访问数据的根路径:

  • “Z: \数据集”安装在本地Windows机器上。

  • “nfs-bldg001 /数据集”用于Linux集群。

,将这些根路径关联起来“AlternateFileSystemRoots”数据存储参数。

alroot = [“Z: \数据集”“nfs-bldg001 /数据集”];ds = tabularTextDatastore(Z: \数据集的“AlternateFileSystemRoots”, altRoots);

检查文件数据存储属性。在这个例子中,文件属性包含由Windows计算机访问的数据的位置。

ds。文件
ans = 5×1 cell array {'Z:\DataSet\datafile01.csv'} {'Z:\DataSet\datafile02.csv'} {'Z:\DataSet\datafile03.csv'} {'Z:\DataSet\datafile04.csv'} {'Z:\DataSet\datafile05.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/datafile03.csv'} {'/nfs-bldg001/DataSet/datafile04.csv'} {'/nfs-bldg001/DataSet/datafile05.csv'}
现在可以在Linux机器上处理和分析这个数据存储。

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

要使用涉及不同平台、云或集群计算机的并行和分布式计算处理数据存储,您必须预定义“AlternateFileSystemRoots”参数。此示例演示如何在本地机器上创建数据存储,分析一小部分数据,然后使用Parallel Computing Toolbox™和MATLAB®并行服务器™将分析扩展到整个数据集。

创建一个数据存储并将值赋给“AlternateFileSystemRoots”财产。的值“AlternateFileSystemRoots”属性,确定数据在不同平台上的根路径。根路径根据机器或文件系统的不同而不同。例如,确定从您的机器和集群访问数据的根路径:

  • “Z: \数据集”从您的本地Windows机器。

  • “nfs-bldg001 /数据集”MATLAB并行服务器Linux集群。

,将这些根路径关联起来AlternateFileSystemRoots财产。

alroot = [“Z: \数据集”“nfs-bldg001 /数据集”];ds = tabularTextDatastore(Z: \数据集的“AlternateFileSystemRoots”, altRoots);

分析本地机器上的一小部分数据。例如,获取数据的分区子集,通过删除任何缺失的条目来清理数据,并检查变量图。

Tt = tall(partition(ds,100,1));总结(tt);%分析你的数据Tt = rmmissing(Tt);情节(tt.MyVar1 tt.MyVar2)

将您的分析扩展到整个数据集,使用MATLAB并行服务器cluster (Linux集群)。例如,使用集群配置文件启动工作池,然后使用并行和分布式计算功能对整个数据集执行分析。

parpool (“MyMjsProfile”) tt = tall(ds);总结(tt);%分析你的数据Tt = rmmissing(Tt);情节(tt.MyVar1 tt.MyVar2)

另请参阅

||||||

相关的话题