主要内容

分区

分区数据存储

描述

例子

再分=分区(ds,n,指数)分区数据存储ds到指定的零件数量n并返回对应的分区索引指数

例子

再分=分区(ds“文件”,指数)分区的数据存储文件并返回对应的分区索引的文件指数文件财产。

再分=分区(ds“文件”,文件名)分区的数据存储文件并返回指定的分区对应文件文件名

例子

全部折叠

创建一个数据存储大量文件。对于这个示例,使用十份样本文件airlinesmall.csv。处理丢失的表格数据中的字段,指定名称-值对TreatAsMissingMissingValue

文件= repmat ({“airlinesmall.csv”}1 10);ds = tabularTextDatastore(文件,“TreatAsMissing”,“NA”,“MissingValue”,0);

数据存储分割成三个部分,并返回第一个分区。的分区函数返回大约三分之一的数据存储的数据ds

再分=分区(ds, - 3, - 1)
再分= TabularTextDatastore属性:文件:{“…\ matlab \ matlab工具箱\ \ demo \ airlinesmall.csv”;’……\ matlab \ matlab工具箱\ \ demo \ airlinesmall.csv”;“……\ matlab \ matlab工具箱\ \ demo \ airlinesmall。csv”……和1}FileEncoding:“utf - 8”AlternateFileSystemRoots: {} ReadVariableNames:真正的VariableNames:{“年”、“月”、“DayofMonth”……和26}文本格式属性:NumHeaderLines: 0分隔符:”、“RowDelimiter:“\ r \ n”TreatAsMissing:“NA”MissingValue: 0高级文本格式属性:TextscanFormats: {% f ', ' % f ', ' % f '……和26}TextType:“字符”ExponentCharacters: eEdD CommentStyle:”空白:“\ b \ t”MultipleDelimitersAsOne:假控制表的属性返回的预览,阅读,readall: SelectedVariableNames:{“年”、“月”、“DayofMonth”……和26}SelectedFormats: {% f ', ' % f ', ' % f '……和26}ReadSize: 20000行

文件数据存储的属性包含的文件列表包含在数据存储中。检查文件的数量文件的数据存储ds和分区的数据存储再分。数据存储ds包含十个文件和分区再分包含第一个四个文件。

长度(ds.Files)
ans = 10
长度(subds.Files)
ans = 4

从示例文件创建一个数据存储,mapredout.mat的输出文件mapreduce函数。

ds =数据存储(“mapredout.mat”);

得到的默认分区数量ds

n = numpartitions (ds);

分区数据存储在默认的分区并返回对应于第一个分区的数据存储。

再分=分区(n, ds 1);

读取数据中再分

hasdata(再分)数据=阅读(再分);结束

创建一个包含三个图像文件的数据存储。

ds = imageDatastore ({“street1.jpg”,“peppers.png”,“corn.tif”})
ds = ImageDatastore属性:文件:{“…\ matlab \ matlab工具箱\ \ demo \ street1.jpg”;matlab’……\ \ matlab工具箱\ \ imagesci \ peppers.png”;matlab’……\ \ matlab工具箱\ \ imagesci \玉米。tif} ReadSize: 1标签:{}ReadFcn: @readDatastoreImage

分区的数据存储文件并返回对应于第二个文件的一部分。

再分=分区(ds,“文件”,2)
再分= ImageDatastore属性:matlab文件:{'…\ \ matlab工具箱\ \ imagesci \辣椒。png”} ReadSize: 1标签:{}ReadFcn: @readDatastoreImage

再分包含一个文件。

从示例文件创建一个数据存储,mapredout.mat的输出文件mapreduce函数。

ds =数据存储(“mapredout.mat”);

数据存储分割成三个部分在一个平行的三个工人池。

numWorkers = 3;p = parpool (“本地”,numWorkers);n = numpartitions (ds p);parfor2 = 1:n再分=分区(n, ds ii);hasdata(再分)数据=阅读(再分);结束结束

比较一个粗粒度的分区和一个细粒度的子集。

阅读所有的帧的视频文件xylophone.mp4和构造一个ArrayDatastore遍历对象。生成的对象有141帧。

v = VideoReader (“xylophone.mp4”);allFrames =阅读(v);arrds = arrayDatastore (allFrames IterationDimension = 4, OutputType =“细胞”,ReadSize = 4);

提取一组特定的相邻帧,创建四个粗粒度的分区arrds。提取第二个分区,35帧。

partds =分区(arrds 4 2);imshow (imtile (partds.readall ()))

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

提取六不相邻帧arrds在指定的索引使用细粒度的子集。

再分=子集(arrds [67 79 82 69 89 33]);imshow (imtile (subds.readall ()))

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的形象。

输入参数

全部折叠

输入数据存储。您可以使用数据存储从你的数据函数创建一个数据存储对象。

分区数量,指定为一个正整数。

如果指定的分区数量不是一个数值因子数量的文件的数据存储,分区将剩余的每个观测现有分区,从第一个分区。

包含额外的观察现有分区的数量等于剩余时获得的文件数据存储的数量除以分区的数量。例如,如果您的数据存储对象包含23个文件,您希望将其划分为三部分,前两个分区分区创建包含8个文件,最后一个分区将包含7个文件。

例子:3

数据类型:

指数,指定为一个正整数。

例子:1

数据类型:

文件名称,指定为一个特征向量或字符串标量。

的价值文件名必须完全匹配文件名中包含文件数据存储的属性。确保文件的名称完全匹配,指定文件名使用ds.Files {N}在哪里N文件的索引吗文件财产。例如,ds.Files {3}指定第三文件数据存储ds

例子:ds.Files {3}

例子:“file1.csv”

例子:“. . / dir /数据/ file1.csv”

例子:hdfs: / / myserver: 7867 /数据/中

数据类型:字符

输出参数

全部折叠

输出数据存储。相同类型的输出数据存储作为输入数据存储ds

扩展功能

版本历史

介绍了R2015a

另请参阅

||

主题