主要内容

matlab.io.datastore.DsFileSet类

包:matlab.io.datastore.

用于数据存储中文件集合的文件集对象

描述

DsFileSet对象帮助您管理大型文件集合的迭代处理。使用DsFileSet对象与DsFileReader对象来管理和从数据存储中读取文件。

建设

fs= matlab.io.datastore.DsFileSet (位置返回一个DsFileSet基于指定的文件集合的对象位置

fs= matlab.io.datastore.DsFileSet (位置名称,价值指定其他参数DsFileSet对象,使用一个或多个名称-值对参数。的名字也可以是属性名称,和价值是相应的价值。的名字必须出现在单引号内('').可以以任意顺序指定多个名称-值对参数name1,value1,...,namen,valuen

输入参数

展开全部

要包含在文件集对象中的文件或文件夹,指定为字符向量、字符向量的单元格数组、字符串或结构。如果文件不在当前文件夹中,则位置必须是完整或相对路径。指定文件夹的子文件夹中的文件不会自动包含在文件集对象中。

对于Hadoop来说®工作流程,当您指定时位置作为结构,它必须包含字段文件名抵消, 和大小.该要求使您能够使用位置直接论述initializeDatastore方法的方法matlab.io.datastore.HadoopLocationBased类。例如,请参见为Had金宝appoop添加支持

指定时,您可以使用通配符(*)位置.指定此字符包括文件集对象中匹配文件夹中的所有匹配文件或所有文件。

如果文件在本地不可用,那么文件或文件夹的完整路径必须是统一资源定位符(URL),例如
HDFS://主机名Portnumber./path_to_file.

数据类型:char|细胞|字符串|结构体

名称值对参数

指定可选的逗号分隔的对名称,价值论点。的名字参数名和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:'fileextensions',{'。jpg','。tif'}包括所有文件jpg或者.tif.扩展的文件集目的。

文件扩展名指定为逗号分隔对组成'fileextensions'以及字符向量、字符向量单元格数组或字符串。您可以使用空引号''表示没有扩展的文件。

如果'fileextensions'没有指定,那么DsFileSet自动包含所有文件扩展名。

例子:'fileextensions','。jpg'

例子:FileExtensions, {' . txt ', ' . csv '}

数据类型:char|细胞|字符串

子文件夹包含标志,指定为逗号分隔对组成'upplyubfolders'真的或者.指定真的将所有文件和子文件夹包含在每个文件夹或只包含每个文件夹中的文件。

例子:'insertumubfolders',真实

数据类型:逻辑|双倍的

备用文件系统根路径,指定为包含的名称值参数“AlternateFileSystemRoots”字符串向量或单元格数组。使用“AlternateFileSystemRoots”在本地计算机上创建数据存储时,但需要访问和处理另一台计算机上的数据(可能是不同的操作系统)。此外,当使用并行计算工具箱™和该数据处理数据时马铃薯草®并行服务器™,并且数据存储在本地机器上,在不同的平台云或集群机器上可以使用数据的副本“AlternateFileSystemRoots”要关联根路径。

  • 若要将一组相互等效的根路径关联起来,请指定“AlternateFileSystemRoots”作为一个字符串向量。例如,

    [" Z: \数据集”、“/ mynetwork /数据集”)

  • 若要关联与该数据存储相同的多组根路径,请指定“AlternateFileSystemRoots”作为包含多行的单元数组,其中每行代表一组等效根路径。将单元数组中的每一行指定为字符串向量或字符向量的单元格数组。例如:

    • 指定“AlternateFileSystemRoots”作为串向量的单元阵列。

      {[Z: \“数据集”、“/ mynetwork /数据集”);…[" Y: \数据集”、“/ mynetwork2 /数据集”、“年代:\数据集”)}

    • 另外,指定“AlternateFileSystemRoots”作为字符向量的单元数组的单元数组。

      {{'z:\ datasets','/ mynetwork / datasets'}; ... {'y:\ datasets','/ mynetwork2 / datasets','s:\ datasets'}}

的价值“AlternateFileSystemRoots”必须满足这些条件:

  • 包含一个或多个行,其中每一行指定一组等价的根路径。

  • 每行指定多个根路径,每个根路径必须包含至少两个字符。

  • 根路径是唯一的,不是彼此的子文件夹。

  • 包含至少一个指向文件位置的根路径条目。

有关更多信息,请参阅设置数据存储,以便在不同的机器或集群上进行处理

例子:[" Z: \数据集”、“/ mynetwork /数据集”)

数据类型:字符串|细胞

属性

展开全部

此属性是只读的。

文件集对象中的文件数,指定为数字标量。

例子:fs。NumFiles

数据类型:双倍的

此属性是只读的。

分割大小,指定为“文件”或数字标量。

分配给filesplitsize.命令的输出nextfile方法。

  • 如果filesplitsize.“文件”,那么nextfile方法返回一个表文件名文件大小抵消, 和分裂.的价值分裂等于文件大小

  • 如果filesplitsize.为数值标量n,那么nextfile方法退货文件名文件大小抵消, 和分裂.的价值分裂等于filesplitsize..这个信息是用来阅读的n文件的字节。随后的呼吁nextfile方法返回信息以帮助读取下一个n相同文件的字节数,直到文件结束。

例子:'filesplitsize',20

数据类型:双倍的|char

方法

hasfile 确定文件集对象中是否有更多可用文件
maxpartitions 最大分区数
nextfile 关于下一个文件或文件块的信息
分区 分区文件集对象
子集 创建数据存储区或文件集的子集
重启 重置文件集对象
解决 文件集对象中所有文件的信息

例子

全部收缩

创建一个文件集对象,每次获取一个文件信息,或者获取文件集对象中所有文件的信息。

对象创建一个文件集对象.mat文件从演示文件夹中。

文件夹= fullfile (matlabroot,'工具箱'matlab的'emos');fs = matlab.io.datastore.dsfileset(文件夹,...'upplyubfolders',真的,...'fileextensions''。垫');

从file-set对象获取第一个和第二个文件的信息。

ftable1 = nextfile(fs);%first文件fTable2 = nextfile(fs);%第二文件

通过一次获取一个文件的信息来获取所有文件的信息,并将这些信息收集到一个表中。

英国《金融时报》=细胞(fs.NumFiles, 1);%使用细胞效率我= 1;重置(FS);重置为文件集的开头尽管hasfile(fs)ft {i} = nextfile(fs);我= I + 1;结束Allfiles = VertCAT(FT {:});

或者,同时获取有关所有文件的信息。

allfiles =解决(fs);

提示

  • 如果你使用DsFileSet对象作为自定义数据存储中的属性,然后实现copyElement方法。实施copyElement方法使您可以创建数据存储对象的深度副本。有关更多信息,请参阅自定义复制操作.的示例实现copyElement方法,参见开发自定义数据存储

介绍了R2017b