主要内容

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

您可以在一个平台上创建并保存一个数据存储,通过设置“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 cell array {'Z:\DataSet\datafile01.csv'} {'Z:\DataSet\datafile02.csv'} {'Z:\DataSet\datafile03.csv'} {'Z:\DataSet\datafile04.csv'}}
保存数据存储。
保存ds_saved_on_Windows.matds
在Linux平台上加载数据存储并检查文件财产。因为根路径Z: \数据集的在Linux集群上无法访问时,在加载时,datastore函数会根据“AlternateFileSystemRoots”参数。的文件属性现在包含Linux集群上数据的更新根路径。
负载ds_saved_on_Windows.matds。文件
ans = 5×1 cell array {'/nfs-bldg001/DataSet/datafile01.csv'} {'/nfs-bldg001/DataSet/datafile03.csv'} {'/nfs-bldg001/DataSet/datafile05.csv'}
现在可以在Linux机器上处理和分析这个数据存储。

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

要使用涉及不同平台、云或集群机器的并行和分布式计算来处理数据存储,必须预先定义“AlternateFileSystemRoots”参数。这个示例演示如何在本地机器上创建数据存储,分析一小部分数据,然后使用Parallel Computing Toolbox™和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并行服务器集群(Linux集群)。例如,使用集群概要文件启动工作池,然后使用并行和分布式计算功能对整个数据集执行分析。

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

另请参阅

||||||

相关的话题