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