主要内容

阅读和分析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

另请参阅

|||

相关的话题

Baidu
map