主要内容

KeyValueDatastore

用于键值对数据的数据存储mapreduce

描述

KeyValueDatastore对象与包含作为的输出或输入的键值对数据的文件相关联mapreduce.使用KeyValueDatastore属性以指定您希望如何访问数据。类的特定属性使用点表示法来查看或修改KeyValueDatastore对象:

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

的值也可以指定KeyValueDatastore属性时使用名称-值参数参数创建数据存储数据存储功能:

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

创建

创建KeyValueDatastore对象的使用数据存储函数。

属性

全部展开

数据存储中包含的文件,指定为n字符向量或字符串数组的-by-1单元格数组,其中每个字符向量或字符串都是文件的完整路径。定义的文件位置参数数据存储函数。的位置参数包含到本地文件系统、网络文件系统或受支持的远程位置(如Amazon S3™、Windows Azure)上的文件的完整路径®Blob Storage和HDFS™。有关更多信息,请参见使用远程数据

生成的mat文件或Sequence文件mapreduce函数。

例子:[" C: \ dir \ data \ file1.mat”;“C: \ dir \ data \ file2.mat”)

例子:[" s3: / / bucketname / path_to_files / your_file01.mat”;“s3: / / bucketname / path_to_files / your_file02.mat”)

数据类型:细胞|字符串

文件类型,指定为任意一种“垫”mat文件或“>”序列文件。的输出mapreduce对运行Hadoop®是包含序列文件的数据存储。默认情况下,所有其他的输出mapreduceoperations是一个包含mat -文件的数据存储。

数据类型:细胞|字符串

类调用中要读取的最大键值对数预览函数,指定为正整数。

可选文件系统根路径,指定为名称-值参数,由“AlternateFileSystemRoots”字符串向量或者单元格数组。使用“AlternateFileSystemRoots”在本地机器上创建数据存储,但需要访问和处理另一台机器(可能是不同的操作系统)上的数据时。此外,在使用并行计算工具箱™和MATLAB®并行服务器™,并且数据存储在本地计算机上,同时在不同平台云或集群计算机上有可用的数据副本,则必须使用“AlternateFileSystemRoots”关联根路径。

  • 要关联一组彼此等价的根路径,请指定“AlternateFileSystemRoots”作为一个字符串向量。例如,

    [" Z: \数据集”、“/ mynetwork /数据集”)

  • 若要关联多个与数据存储等效的根路径集,请指定“AlternateFileSystemRoots”作为包含多行的单元格数组,其中每一行表示一组等价的根路径。将单元格数组中的每一行指定为字符串向量或字符向量的单元格数组。例如:

    • 指定“AlternateFileSystemRoots”作为字符串向量的单元格数组。

      {[Z: \“数据集”、“/ mynetwork /数据集”);…[" Y: \数据集”、“/ mynetwork2 /数据集”、“年代:\数据集”)}

    • 另外,指定“AlternateFileSystemRoots”作为单元格数组的字符向量单元格数组。

      {{“Z: \数据集”、“mynetwork /数据集”},…{“Y: \数据集”,“mynetwork2 /数据集”,年代:\数据集的}}

的价值“AlternateFileSystemRoots”必须满足以下条件:

  • 包含一个或多个行,其中每一行指定一组等价的根路径。

  • 每行指定多个根路径,每个根路径必须包含至少2个字符。

  • 根路径是唯一的,并且不是彼此的子文件夹。

  • 包含指向文件位置的至少一个根路径项。

有关更多信息,请参见为不同机器或集群上的处理设置数据存储

例子:[" Z: \数据集”、“/ mynetwork /数据集”)

数据类型:字符串|细胞

对象的功能

hasdata 确定是否有数据可读
numpartitions 数据存储分区数
分区 分区数据存储
预览 预览数据存储中的数据子集
读取数据存储中的数据
readall 读取数据存储中的所有数据
重置 将数据存储重置为初始状态
变换 变换数据存储
结合 合并来自多个数据存储的数据
isPartitionable 确定数据存储是否可分区
isSubsettable 确定数据存储是否可子设置
isShuffleable 确定数据存储是否可洗牌

例子

全部折叠

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

fs = matlab.io.datastore.FileSet (“mapredout.mat”);ds =数据存储(fs,“类型”“keyvalue”
ds =KeyValueDatastore属性:matlab文件:{“…\ \ matlab工具箱\ \ demo \ mapredout。ReadSize: 1键值对FileType: 'mat' AlternateFileSystemRoots: {}

设置ReadSize财产8所以每次调用read最多读取一次8键值对。

ds。ReadSize = 8
ds =KeyValueDatastore属性:matlab文件:{“…\ \ matlab工具箱\ \ demo \ mapredout。ReadSize: 8键值对FileType: 'mat' AlternateFileSystemRoots: {}

方法一次读取8个键值对函数在一个循环。循环执行,直到没有更多的数据可读取和hasdata (ds)返回

hasdata(ds) T = read(ds);结束

显示读取的最后一组键值对。

T
T =5×2表键值  ______ ________ {' OO”}{[3090]}{' TZ '} {[216]} {XE的}{[2357]}{' 9 e '}{[521]}{“青年志愿”}{[849]}

限制

  • KeyValueDatastore不支持用R2013b编写的序列文件。用R2014a和R2018a之间的MATLAB版本重写序列文件。

版本历史

介绍了R2014b

Baidu
map