TallDatastore
用于存放 tall
数组的检查点的数据存储
说明
TallDatastore
对象用于根据由 write
函数写入磁盘的二进制文件重新创建 tall
数组。您可以使用该对象重新创建原始 tall
数组,也可以通过指定 TallDataStore
属性和使用对象函数访问和管理数据。
创建对象
使用 datastore
函数创建 TallDatastore
对象。例如,tds = datastore(location,"Type","tall")
根据 location
指定的文件集合创建一个数据存储。
属性
Files
— 包含在数据存储中的文件
字符向量 | 字符向量元胞数组 | 字符串标量 | 字符串数组
包含在数据存储中的文件,解析为字符向量、字符向量元胞数组、字符串标量或字符串数组,其中每个字符向量或字符串表示文件的一个完整路径。
datastore
函数的 location
参量定义创建数据存储时的 Files
属性。location
参量包含本地文件系统、网络文件系统或支持的远程位置(例如 Amazon S3™、Windows Azure® Blob 存储和 HDFS™)上文件的完整路径。有关详细信息,请参阅处理远程数据。
这些文件必须是 write
函数生成的 MAT 文件或序列文件。
示例: ["C:\dir\data\file1.ext";"C:\dir\data\file2.ext"]
示例: ["s3://bucketname/path_to_files/your_file01.ext";"s3://bucketname/path_to_files/your_file02.ext"]
数据类型: char
| cell
| string
FileType
— 文件类型
"mat"
| "seq"
文件类型,指定为 "mat"
(对于 MAT 文件)或 "seq"
(对于序列文件)。默认情况下,给定位置中的文件的类型决定 FileType
。
数据类型: char
| string
ReadSize
— 要读取的数据行的最大数量
正整数
调用 read
或 preview
函数时要读取的数据行的最大数量,指定为正整数。当 datastore
函数创建 TallDatastore
时,它会为 ReadSize
确定并分配尽可能最佳的值。
AlternateFileSystemRoots
— 备用文件系统根路径
字符串向量 | 元胞数组
备用文件系统根路径,以名称-值参量形式指定,其中包含 "AlternateFileSystemRoots"
和一个字符串向量或元胞数组。当您在本地计算机上创建数据存储,但需要访问和处理另一台计算机(可能是不同操作系统)上的数据时,请使用 "AlternateFileSystemRoots"
。此外,如果您使用 Parallel Computing Toolbox™ 和 MATLAB® Parallel Server™ 处理数据,而数据存储在本地计算机上并且在不同平台云或集群计算机上存储数据副本,则必须使用 "AlternateFileSystemRoots"
关联根路径。
要关联一组等效的根路径,请将
"AlternateFileSystemRoots"
指定为字符串向量。例如,["Z:\datasets","/mynetwork/datasets"]
要将在数据存储方面等效的多组根路径关联起来,请将
"AlternateFileSystemRoots"
指定为包含多个行的元胞数组,其中每一行代表一组等效的根路径。将元胞数组中的每一行指定为一个字符串向量或字符向量元胞数组。例如:将
"AlternateFileSystemRoots"
指定为字符串向量元胞数组。{["Z:\datasets", "/mynetwork/datasets"];... ["Y:\datasets", "/mynetwork2/datasets","S:\datasets"]}
也可以将
"AlternateFileSystemRoots"
指定为字符向量元胞数组。{{'Z:\datasets','/mynetwork/datasets'};... {'Y:\datasets', '/mynetwork2/datasets','S:\datasets'}}
"AlternateFileSystemRoots"
的值必须满足以下条件:
包含一行或多行,每一行指定一组等效的根路径。
每一行指定多个根路径,每个根路径必须至少包含两个字符。
根路径是唯一的,并且不是彼此的子文件夹。
包含至少一个指向文件位置的根路径条目。
有关详细信息,请参阅Set Up Datastore for Processing on Different Machines or Clusters。
示例: ["Z:\datasets","/mynetwork/datasets"]
数据类型: string
| cell
对象函数
hasdata | 确定是否有数据可读取 |
numpartitions | 数据存储分区数 |
partition | 划分数据存储 |
preview | 预览数据存储中的数据子集 |
read | 读取数据存储中的数据 |
readall | 读取数据存储中的所有数据 |
reset | 将数据存储重置为初始状态 |
transform | 变换数据存储 |
combine | 合并来自多个数据存储的数据 |
isPartitionable | 确定数据存储是否可分区 |
isSubsettable | Determine whether datastore is subsettable |
isShuffleable | 确定数据存储是否可乱序 |
示例
根据使用 write
函数保存的文件重新创建 tall
数组
使用 TallDatastore
对象直接根据磁盘上的文件重新构造 tall 数组,而不是重新执行生成 tall 数组的所有命令。创建 tall 数组,并使用 write
函数将其保存到磁盘。使用 datastore
检索 tall
数组,然后将其重新转换为 tall
。
创建简单的 tall 双精度值。
t = tall(rand(500,1))
t = 500×1 tall double column vector 0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469 : :
将结果保存到名为 Example_Folder
的新文件夹。
location = fullfile(matlabroot,"toolbox","matlab","demos","Folder1"); write(location, t);
Writing tall data to folder H:\matlab\toolbox\matlab\demos\Folder1 Evaluating tall expression using the Local MATLAB Session: - Pass 1 of 1: Completed in 0.063 sec Evaluation completed in 0.16 sec
要恢复写入磁盘的 tall
数组,请首先创建引用同一目录的新数据存储。然后将数据存储转换为 tall
数组。
tds = datastore(location); t1 = tall(tds)
t1 = M×1 tall double column vector 0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469 : :
版本历史记录
在 R2016b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)