主要内容

matlab.io.datastore。DsFileSet类

包:matlab.io.datastore

在数据存储文件集对象的集合文件

描述

DsFileSet帮助您管理对象的迭代处理大型文件集的。使用DsFileSet对象在一起DsFileReader从你的数据存储对象来管理和阅读文件。

建设

fs= matlab.io.datastore.DsFileSet (位置)返回一个DsFileSet对象根据指定的一组文件位置

fs= matlab.io.datastore.DsFileSet (位置,名称,值)指定额外的参数DsFileSet使用一个或多个名称-值对参数对象。的名字也可以是属性名,价值相应的价值。的名字必须出现在单引号()。您可以指定几个名称-值对参数在任何顺序Name1, Value1,…,的家

输入参数

全部展开

文件或文件夹包含的文件集对象,指定为一个特征向量,单元阵列的特征向量,字符串,或结构。如果文件不在当前文件夹,然后位置必须全部或相对路径。指定文件夹的子文件夹内文件不会自动包含在文件集对象。

通常对于一个Hadoop®工作流,当您指定位置作为一个结构,它必须包含的字段文件名,抵消,大小。这个需求使您能够使用位置参数直接与initializeDatastore的方法matlab.io.datastore.HadoopLocationBased类。例如,看到的添加对H万博1manbetxadoop的支持

您可以使用通配符(*)时指定位置。指定这个角色包括所有匹配的文件或文件组中的所有匹配的文件夹中的文件对象。

如果不是本地可用的文件,文件或文件夹的完整路径必须是一个统一资源定位符(URL),等
hdfs: / /主机名:portnumber/path_to_file

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

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:FileExtensions, {“jpg”、“.tif”}包括所有文件jpg.tif扩展的文件集对象。

文件扩展名,指定为逗号分隔组成的“FileExtensions”一个特征向量,单元阵列特征向量,或字符串。您可以使用空引用代表文件没有扩展。

如果“FileExtensions”没有指定,那么DsFileSet自动包括所有的文件扩展名。

例子:“FileExtensions”、“jpg”

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

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

子文件夹包含标志,指定为逗号分隔组成的“IncludeSubfolders”真正的。指定真正的包括每个文件夹内的所有文件和子文件夹只包括每个文件夹内的文件。

例子:“IncludeSubfolders”,真的

数据类型:逻辑|

替代的文件系统根路径,指定为名称参数组成的“AlternateFileSystemRoots”和一个字符串向量或一个单元阵列。使用“AlternateFileSystemRoots”当您创建一个数据存储在本地机器上,但需要在另一台机器上访问和处理数据(可能是不同的操作系统)。另外,当处理数据使用并行计算工具箱™和MATLAB®并行服务器™,数据存储在您的本地机器复制的数据在不同的平台上云或集群机器,您必须使用“AlternateFileSystemRoots”把根路径。

  • 把一组相当于一根路径,指定“AlternateFileSystemRoots”作为字符串向量。例如,

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

  • 把多个根集数据存储路径是等价的,指定“AlternateFileSystemRoots”作为一个单元阵列包含多个行,每一行表示一组等价的根路径。指定单元阵列中的每一行作为一个字符串向量或单元阵列的特征向量。例如:

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

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

    • 另外,指定“AlternateFileSystemRoots”作为一个单元阵列单元阵列的特征向量。

      {{“Z: \数据集”、“mynetwork /数据集”},…{“Y: \数据集”,“mynetwork2 /数据集”,年代:\数据集的}}

的价值“AlternateFileSystemRoots”必须满足以下条件:

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

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

  • 根路径都是独一无二的,没有子文件夹。

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

有关更多信息,请参见为处理在不同的机器上或设置数据存储集群

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

数据类型:字符串|细胞

属性

全部展开

这个属性是只读的。

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

例子:fs.NumFiles

数据类型:

这个属性是只读的。

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

的值分配给FileSplitSize命令的输出nextfile方法。

  • 如果FileSplitSize“文件”,那么nextfile方法返回一个表文件名,文件大小,抵消,SplitSize。的价值SplitSize设置等于文件大小

  • 如果FileSplitSize是一个数字标量n,那么nextfile方法返回文件名,文件大小,抵消,SplitSize。的价值SplitSize设置等于FileSplitSize。这些信息是用来阅读n文件的字节。随后的调用nextfile方法返回的信息来帮助阅读n字节的同一个文件到文件的末尾。

例子:“FileSplitSize”, 20

数据类型:|字符

方法

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

例子

全部折叠

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

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

文件夹= fullfile (matlabroot,“工具箱”,matlab的,“演示”);fs = matlab.io.datastore.DsFileSet(文件夹,“IncludeSubfolders”,真的,“FileExtensions”,“.mat”);

获取信息的第一和第二文件从文件集对象。

fTable1 = nextfile (fs);%的第一个文件fTable2 = nextfile (fs);%的第二个文件

获得的所有文件信息获取信息的一个文件,收集到表的信息。

英国《金融时报》=细胞(fs.NumFiles, 1);%使用电池效率i = 1;重置(fs);%重置文件集的开始hasfile (fs)英国《金融时报》{我}= nextfile (fs);我=我+ 1;结束allFiles = vertcat(英国《金融时报》{:});

另外,在所有文件同时获取信息。

allfiles =解决(fs);

提示

  • 如果你使用DsFileSet在您的自定义数据存储对象作为一个属性,然后实现copyElement方法。实现copyElement方法使您能够创建一个深拷贝的数据存储对象。有关更多信息,请参见自定义复制操作。的一个示例实现copyElement方法,请参阅开发自定义数据存储

版本历史

介绍了R2017b