运行mapreduce
在一个Hadoop集群
集群的准备
在您可以运行mapreduce
在Hadoop®集群,确保集群并正确配置客户端机器。请咨询您的系统管理员,或看到的配置一个Hadoop集群(MATLAB并行服务器)。
输出格式和秩序
运行时mapreduce
与二进制输出Hadoop集群(默认),由此产生的KeyValueDatastore
指出了Hadoop序列文件,而不是二进制mat文件生成的mapreduce
在其他环境中。有关更多信息,请参见“OutputType”
参数的描述mapreduce
参考页面。
运行时mapreduce
Hadoop集群,键值对输出的顺序是不同的与运行mapreduce
在其他环境中。如果您的应用程序依赖于数据的排列在输出中,你必须根据你自己的需求对数据进行排序。
计算平均延迟
这个例子展示了如何修改MATLAB®示例计算意味着航空公司延误Hadoop集群上运行。
首先,您必须设置环境变量,作为适合于您的特定的Hadoop集群属性配置。看你的系统管理员为这些和其他属性的值将作业提交到集群你所必需的。
setenv (“HADOOP_HOME”,/道路/ / hadoop /安装的)集群= parallel.cluster.Hadoop;
创建一个mapreduce对象指定mapreduce
应该使用您的Hadoop集群。
= mapreduce先生(集群);
创建和预览数据存储。中可用的数据集
。matlabroot
/工具箱/ matlab /演示
ds =数据存储(“airlinesmall.csv”,“TreatAsMissing”,“NA”,…“SelectedVariableNames”,“ArrDelay”,“ReadSize”,1000);预览(ds)
ArrDelay ________ 8 8 21 13 4 59 3 11
接下来,指定输出文件夹,输出outds
并调用mapreduce
执行指定的Hadoop集群先生
。中可用的map和reduce函数
。matlabroot
/工具箱/ matlab /演示
outputFolder =hdfs: / / / home / myuser着干活的;outds = mapreduce (ds, @myMapperFcn @myReducerFcn,“OutputFolder”,outputFolder);meanDelay = mapreduce (ds, @meanArrivalDelayMapper @meanArrivalDelayReducer,先生,…“OutputFolder”outputFolder)
并行执行mapreduce Hadoop集群:* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * mapreduce进展* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *地图0%减少0%地图地图100%减少66% 100% 66%减少0%减少100% meanDelay = KeyValueDatastore属性:文件:{"…/ tmp / alafleur / tpc00621b1_4eef_4abc_8078_646aa916e7d9 / part0。seq的}ReadSize: 1键值对文件类型:seq”
读取结果。
readall (meanDelay)
键值_____________ ________的MeanArrivalDelay [7.1201]
尽管出于演示目的这个示例使用一个本地数据集,很可能在使用Hadoop数据集是存储在一个HDFS™文件系统。同样,你可能需要存储mapreduce
输出在HDFS。关于访问HDFS MATLAB详情,请参阅使用远程数据。