主要内容

KeyValueDatastore

键-值对数据的存储和使用mapreduce

描述

KeyValueDatastore对象包含键-值对数据与文件相关联的输出或输入mapreduce。使用KeyValueDatastore属性来指定如何访问数据。使用点符号来查看或修改的特定属性KeyValueDatastore对象:

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

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

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

创建

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

属性

全部展开

文件中包含的数据存储,指定为一个n1单元阵列特征向量或字符串数组,其中每个字符向量或字符串是一个文件的完整路径。这是定义的文件位置参数数据存储函数。的位置参数包含本地文件系统上的文件的完整路径,一个网络文件系统,或受支持的远程位置如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®是一个包含序列的数据存储文件。默认情况下,所有其他的输出mapreduce操作是一个包含mat文件的数据存储。

数据类型:细胞|字符串

最大数量的键-值对阅读的一个调用预览函数,指定为一个正整数。

替代的文件系统根路径,指定为名称参数组成的“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 确定是否subsettable数据存储
isShuffleable 确定是否shuffleable数据存储

例子

全部折叠

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

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

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

ds。ReadSize = 8
ds =KeyValueDatastore属性:matlab文件:{“…\ \ matlab工具箱\ \ demo \ mapredout。垫”}ReadSize: 8键值对文件类型:“垫”AlternateFileSystemRoots: {}

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

hasdata (ds) T =阅读(ds);结束

显示最后一组键值对阅读。

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

限制

  • KeyValueDatastore不支持用R2013金宝appb序列文件。重写的序列文件使用MATLAB R2014a和R2018a之间的一个版本。

版本历史

介绍了R2014b