分区
分区数据存储
描述
例子
分区数据存储为特定数量的部分
创建一个数据存储大量文件。对于这个示例,使用十份样本文件airlinesmall.csv
。处理丢失的表格数据中的字段,指定名称-值对TreatAsMissing
和MissingValue
。
文件= 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 ()))
输入参数
ds
- - - - - -输入数据存储
数据存储
输入数据存储。您可以使用数据存储
从你的数据函数创建一个数据存储对象。
n
- - - - - -分区数量
正整数
分区数量,指定为一个正整数。
如果指定的分区数量不是一个数值因子数量的文件的数据存储,分区
将剩余的每个观测现有分区,从第一个分区。
包含额外的观察现有分区的数量等于剩余时获得的文件数据存储的数量除以分区的数量。例如,如果您的数据存储对象包含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
。
扩展功能
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
使用笔记和限制:
在一个线程环境,您可以使用
分区
只有以下数据存储:ImageDatastore
对象CombinedDatastore
,SequentialDatastore
,或TransformedDatastore
对象在创建的ImageDatastore
通过使用对象结合
或变换
您可以使用
分区
与其他数据存储并行计算工具箱™。这样做,使用process-backed函数运行并行池而不是使用backgroundPool
或ThreadPool
(使用ProcessPool
或ClusterPool
)。
有关更多信息,请参见MATLAB函数线程环境中运行。
版本历史
介绍了R2015a
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。