这个例子展示了如何为包含键值数据的Sequence文件创建数据存储。然后,您可以一次读取和处理一个块的数据。序列文件是mapreduce
使用Hadoop的操作®。
将适当的环境变量设置为安装Hadoop的位置。在本例中,设置MATLAB_HADOOP_INSTALL
环境变量。
setenv(“MATLAB_HADOOP_INSTALL”,“/ mypath / hadoop-folder”)
hadoop-folder
是Hadoop安装的文件夹和mypath
是该文件夹的路径。
从示例文件创建一个数据存储,mapredout.seq
,使用数据存储
函数。示例文件包含表示航空公司代码的惟一键和表示该航空公司运营航班数量的相应值。
ds =数据存储(“mapredout.seq”)
matlab工具箱matlab演示程序mapredout. ds = KeyValueDatastore with properties:FileType: 'seq'} ReadSize: 1键值对
数据存储
返回一个KeyValueDatastore
。的数据存储
函数自动确定要创建的数据存储的适当类型。
设置ReadSize
属性设置为6,以便每次调用读
最多读取6个键值对。
ds。ReadSize = 6;
中读取数据的子集ds
使用读
函数在一个而
循环。对于每个数据子集,计算这些值的和。将每个子集的和存储在一个名为总结
。的而
循环执行,直到hasdata (ds)
返回假
。
金额= [];而hasdata(ds) T = read(ds);T.Value = cell2mat (T.Value);金额(终端+ 1)=总和(T.Value);结束
查看键值对读取的最后一个子集。
T
T =键值 ________ _____ ' WN 15931 XE 2357“青年志愿”849毫升(1)“69”(1)318年
计算所有航空公司运营的航班总数。
numflights =笔(金额)
numflights = 123523
数据存储
|KeyValueDatastore
|mapreduce
|高