主要内容

分割

分区数据存储

描述

例子

=分区(DS,,,,n,,,,指数分区数据存储DS进入指定的零件数n并返回与索引相对应的分区指数

例子

=分区(DS,“文件”,指数通过文件对数据存储进行分区,并返回与索引文件相对应的分区指数在里面文件财产。

=分区(DS,“文件”,文件名通过文件对数据存储进行分区,并返回与与文件指定的文件相对应的分区文件名

例子

全部收缩

创建一个数据存储,用于大量文件集合。在此示例中,使用示例文件的十本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);结尾结尾

输入参数

全部收缩

输入数据存储。您可以使用数据存储功能以从数据创建数据存储对象。

分区数,指定为正整数。

如果指定许多分区,这些分区不是数据存储中文件数量的数值因素,则分割将从第一个分区开始,将其余的每个观测值放在现有分区中。

包含额外观察的现有分区数量等于将数据存储中的文件数量除以分区数时获得的剩余数量。例如,如果您的数据存储对象包含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

扩展功能

版本历史记录

在R2015a中引入

也可以看看

|

话题