独立的运行MATLABMapReduce应用程序
万博1manbetx支持平台:Linux®只有。
这个例子展示了如何创建一个独立的MATLAB®MapReduce应用程序使用世纪挑战集团
命令对Hadoop并运行它®集群。
目标:计算的最大延误航空公司从给定的数据集。
数据集: | airlinesmall.csv |
描述: | 从1987 - 2008年航空出发和到达信息。 |
地点: | /usr/local/MATLAB/R2023a/工具箱/ matlab /演示 |
先决条件
开始这个例子通过创建一个新的工作文件夹可见的MATLAB搜索路径。
在开始MATLAB之前,在一个终端,设置环境变量
HADOOP_PREFIX
指Hadoop的安装文件夹。例如:壳牌 命令 csh / tcsh % setenv HADOOP_PREFIX /usr/lib/hadoop
bash 美元出口HADOOP_PREFIX = / usr / lib / hadoop
请注意
这个示例使用
/usr/lib/hadoop
Hadoop的安装目录。您的Hadoop安装目录可能不同。如果你忘记设置
HADOOP_PREFIX
环境变量在MATLAB开始之前,使用MATLAB函数设置它setenv
在MATLAB命令提示符一旦你开始MATLAB。例如:setenv (“HADOOP_PREFIX”,“/ usr / lib / hadoop”)
安装MATLAB运行时在一个文件夹访问的每一个工人在Hadoop集群节点。这个示例使用
/usr/local/MATLAB/MATLAB_Runtime /R2023a
的位置MATLAB运行时文件夹中。如果你没有MATLAB运行时,你可以从网站下载:
//www.tianjin-qmedu.com/s manbetx 845products/compiler/mcr
。请注意
和有关信息。MATLAB运行时版本号对应MATLAB版本中,看到这个列表。
副本地图功能
maxArrivalDelayMapper.m
从/usr/local/MATLAB/R2023a/工具箱/ matlab /演示
文件夹的工作文件夹。有关更多信息,请参见编写一个映射函数。
reduce函数副本
maxArrivalDelayReducer.m
从
文件夹的工作文件夹。matlabroot
/工具箱/ matlab /演示有关更多信息,请参见编写一个减少函数。
创建目录
/ user /
HDFS™和复制文件<用户名>
/数据集airlinesmall.csv
该目录。在这里
是指您的用户名在HDFS。<用户名>
美元hadoop。/ fs -copyFromLocal airlinesmall。csv hdfs: / /主持人:54310 / user /
<用户名>
/数据集
过程
开始MATLAB和验证
HADOOP_PREFIX
环境变量设置。在命令提示符下,类型:> > getenv (“HADOOP_PREFIX”)
如果
答
是空的,回顾一下吗先决条件以上部分,看看你可以设置HADOOP_PREFIX
环境变量。创建一个新的MATLAB脚本名称
depMapRedStandAlone.m
。你将会列在下面列出的步骤的代码添加到该脚本文件。创建一个
数据存储
指向该航空公司数据Hadoop分布式文件系统(HDFS)。ds =数据存储(hdfs: / / /用户/用户名/数据/ airlinesmall.csv”,…“TreatAsMissing”,“NA”,…“SelectedVariableNames”,{“UniqueCarrier”,“ArrDelay”});
有关更多信息,请参见使用远程数据。
配置应用程序对Hadoop部署使用默认设置。
配置= matlab.mapreduce.DeployHadoopMapReducer;
类
matlab.mapreduce.DeployHadoopMapReducer
可用于配置一个独立的应用程序基于Hadoop环境中,它将被部署。例如,如果您想要指定的位置MATLAB运行时在每个职工的节点在集群上,包括类似的一行代码:
配置= matlab.mapreduce.DeployHadoopMapReducer (' MCRRoot ', ' / opt / MATLAB / MATLAB_Runtime /R2023a”);
/ opt / MATLAB / MATLAB_Runtime
工作者节点。指定额外的集群特定属性的信息,请参阅
matlab.mapreduce.DeployHadoopMapReducer
。请注意
指定一个MATLAB运行时位置作为类的一部分
matlab.mapreduce.DeployHadoopMapReducer
将会覆盖任何MATLAB运行时在独立应用程序的执行指定的位置。定义执行环境使用
mapreduce
。= mapreduce先生(配置);
应用
mapreduce
函数。结果= mapreduce (…ds,…@maxArrivalDelayMapper @maxArrivalDelayReducer,…先生,…“OutputType”,“二元”,…“OutputFolder”,hdfs: / / / user / <用户名> /结果/ myresults ');
请注意
一个HDFS目录等
…/ myresults
只可以写一次。如果你打算运行您的Hadoop集群多次独立应用程序,确保你删除…/ myresults
每个执行前目录HDFS。另一个选择是改变的名称…/ myresults
目录在MATLAB代码并重新编译应用程序。从得到的数据存储读取结果。
myAppResult = readall(结果)
使用
世纪挑战集团
命令- m
国旗来创建一个独立的应用程序。世纪挑战集团- mdepMapRedStandAlone.m
的
- m
标记创建一个标准的可执行文件,可以从命令行运行。然而,世纪挑战集团
命令不能在一个安装程序包的结果。运行独立的应用程序从一个Linux shell使用以下命令:
美元/ run_depMapRedStandAlone。sh /usr/local/MATLAB/MATLAB_Runtime /R2023a
/usr/local/MATLAB/MATLAB_Runtime /R2023a
是一个参数指示的位置MATLAB运行时。执行上面的命令之前,验证
HADOOP_PREFIX
环境变量中设置终端通过键入:美元echo $ HADOOP_PREFIX
回声
是空的,看到的先决条件以上部分,看看你可以设置HADOOP_PREFIX
环境变量。如果您的应用程序将无法执行
HADOOP_PREFIX
环境变量没有设置。您将看到以下输出:
myAppResult =键值_________________ ______“MaxArrivalDelay”[1014]
其他的例子地图
和减少
功能是可以在工具箱/ matlab /演示
文件夹中。您可以使用其他的例子对Hadoop原型相似的独立运行的应用程序。有关更多信息,请参见建立有效的MapReduce算法。
独立应用程序的完整代码depMapRedStandAlone
可以在这里找到:
另请参阅
数据存储
|TabularTextDatastore
|KeyValueDatastore
|matlab.mapreduce.DeployHadoopMapReducer
|世纪挑战集团