分割
分区数据存储
描述
例子
将数据存储分配成特定数量的零件
创建一个数据存储,用于大量文件集合。在此示例中,使用示例文件的十本AirlinesMall.CSV
。要处理表格数据中缺少字段,请指定名称值对治疗
和失踪值
。
文件= repmat({'airlinesmall.csv'},1,10);ds = tabulartextdatastore(文件,...“治疗”,,,,'na',,,,“失踪价值”,0);
将数据存储分为三个部分,然后返回第一个分区。这分割
函数大约返回数据存储的数据的前三分之一DS
。
subds =分区(DS,3,1)
subds = tabulartextdatastore with属性:文件:{'... \ matlab \ toolbox \ matlab \ emos \ emos \ airlinesmall.csv';'... \ matlab \ toolbox \ matlab \ demos \ airlinesmall.csv';' ...\matlab\toolbox\matlab\demos\airlinesmall.csv' ... and 1 more } FileEncoding: 'UTF-8' AlternateFileSystemRoots: {} ReadVariableNames: true VariableNames: {'Year', 'Month', 'dayofmonth'...和26 meer}文本格式属性:numheaderlines:0定界符:',''rowdelimiter:'\ r \ n'treatsmissing:'na'''''''''''sivsingValue:0高级文本格式属性:textscanformats:textscanformats:{'%f','%f','%f','%'%f','%f'...和26多} textType:'char'offonentCharacters:'eedd'rymentstyle:''whitespace:'\ b \ t'promptledeLimiterSasone:false false throf throf throf thection thection throf preview,preview,preview,阅读,读取:selectedVariablenames:{'Year','月份,“ Dayofmonth” ...和26个select selected formats:{'%f','%f','%f','%f'...和26多} sope readsize size:20000行
这文件
数据存储的属性包含数据存储中包含的文件列表。检查在文件
数据存储的属性DS
和分区的数据存储子
。数据存储DS
包含十个文件和分区子
包含前四个文件。
长度(ds.files)
ANS = 10
长度(subds.files)
ANS = 4
将数据存储分区为默认零件数
从示例文件创建数据存储,mapredout.mat
,这是MapReduce
功能。
ds = datastore('mapredout.mat');
获取默认数字的分区DS
。
n = numpartitions(ds);
将数据存储划分为默认的分区编号,然后返回与第一个分区相对应的数据存储。
subds =分区(ds,n,1);
阅读数据子
。
尽管hasdata(subds)data = read(subds);结尾
通过文件分区数据存储
创建一个包含三个图像文件的数据存储。
ds = imagedatastore({'Street1.jpg',,,,'peppers.png',,,,'corn.tif'})
ds = iMagedatastore带有属性:文件:{'... \ matlab \ toolbox \ matlab \ embos \ demos \ setwors1.jpg';'... \ matlab \ toolbox \ matlab \ imagesci \ peppers.png';'... \ matlab \ toolbox \ matlab \ imagesci \ corn.tif'} readsize:1 labels:{} readfcn:@readdatastoreimage
通过文件对数据存储进行分区,然后返回与第二个文件相对应的零件。
subds =分区(ds,“文件”,2)
subds = iMagedatastore带有属性:文件:{'... \ matlab \ toolbox \ matlab \ imagsci \ peppers.png'}
子
包含一个文件。
并行分区数据
从示例文件创建数据存储,mapredout.mat
,这是MapReduce
功能。
ds = datastore('mapredout.mat');
将数据存储分为平行池中三个工人的三个部分。
numworkers = 3;p = parpool('当地的',Numworkers);n = numpartitions(ds,p);parforii = 1:n subds =分区(ds,n,ii);尽管hasdata(subds)data = read(subds);结尾结尾
输入参数
DS
-输入数据存储
数据存储
输入数据存储。您可以使用数据存储
功能以从数据创建数据存储对象。
n
-分区数
正整数
分区数,指定为正整数。
如果指定许多分区,这些分区不是数据存储中文件数量的数值因素,则分割
将从第一个分区开始,将其余的每个观测值放在现有分区中。
包含额外观察的现有分区数量等于将数据存储中的文件数量除以分区数时获得的剩余数量。例如,如果您的数据存储对象包含23个您希望将其分区为3个部分的文件,则是前两个分区分割
创建将包含8个文件,最后一个分区将包含7个文件。
例子:3
数据类型:双倍的
指数
-指数
正整数
索引,指定为正整数。
例子:1
数据类型:双倍的
文件名
-文件名
角色向量|字符串标量
文件名,指定为字符向量或字符串标量。
的价值文件名
必须完全匹配文件
数据存储的属性。要确保文件名与完全匹配,请指定文件名
使用ds.files {n}
在哪里n
是文件中文件的索引文件
财产。例如,ds.files {3}
指定数据存储中的第三个文件DS
。
例子:ds.files {3}
例子:'file1.csv'
例子:'../dir/data/file1.csv'
例子:'hdfs:// myserver:7867/data/file1.txt'
数据类型:char
输出参数
子
- 输出数据存储
数据存储
输出数据存储。输出数据存储与输入数据存储相同DS
。
扩展功能
基于线程的环境
使用MATLAB®在后台运行代码背景池
或使用并行计算工具箱加速代码™螺纹池
。
用法注释和限制:
在基于线程的环境中,您可以使用
分割
仅具有以下数据存储:成像
对象组合的datastore
或者变换的达塔斯托尔
您创建的对象成像
通过使用对象结合
或者转换
您可以使用
分割
如果您具有并行计算工具箱™,则使用其他数据存储。为此,请使用流程支持的并行池运行该功能,而不是使用背景池
或者螺纹池
(使用ProcessPool
或者clusterpool
)。
有关更多信息,请参阅在基于线程的环境中运行MATLAB功能。
版本历史记录
matlab命令
您单击了与此MATLAB命令相对应的链接:
通过在MATLAB命令窗口中输入该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您还可以从以下列表中选择一个网站:
如何获得最佳网站性能
选择中国网站(中文或英语)以获得最佳场地性能。其他Mathworks乡村网站未针对您所在的访问进行优化。
美洲
- AméricaLatina(Español)
- 加拿大(英语)
- 美国(英语)