主要内容

KeyValueDatastore

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

描述

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

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

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

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

创建

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

属性

全部展开

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

文件必须是mat文件或由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-files的数据存储。

数据类型:细胞|字符串

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

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

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

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

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

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

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

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

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

的价值“AlternateFileSystemRoots”必须满足这些条件:

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

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

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

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

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

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

数据类型:字符串|细胞

对象的功能

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

例子

全部折叠

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

fs = matlab.io.datastore.FileSet(“mapredout.mat”);Ds =数据存储“类型”“keyvalue”
ds =带有属性的KeyValueDatastore:文件:{'…\matlab\toolbox\matlab\demos\mapredout。FileType: 'mat' AlternateFileSystemRoots: {}

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

ds。ReadSize = 8
ds =带有属性的KeyValueDatastore:文件:{'…\matlab\toolbox\matlab\demos\mapredout。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金宝app编写的序列文件。在R2014a和R2018a之间使用MATLAB版本重写序列文件。

版本历史

在R2014b中引入