这个例子说明了如何修改MATLAB®例如,创建一个高大的表来对星火运行®Hadoop的启用®簇。您可以使用此表高大建立高大的阵列,并计算统计特性。您可以在本地开发代码,然后扩大规模,以充分利用并行计算工具箱提供的功能™和MATLAB并行服务器™而不必重写你的算法。也可以看看大数据工作流程中使用高大的阵列和数据存储和配置Hadoop集群(MATLAB并行服务器)
首先,你必须为你的具体星火启用Hadoop集群的配置设置环境变量和集群特性适当。请参阅您的系统管理员为这些和必要的作业提交到群集的其他属性的值。
SETENV('HADOOP_HOME','/路径/到/ Hadoop的/安装')SETENV('SPARK_HOME',“/路径/到/火花/安装”);簇= parallel.cluster.Hadoop;%或者,如果你想控制工人的确切人数:cluster.SparkProperties('spark.executor.instances')='16';mapreducer(簇);
在设置步骤中,您使用mapreducer
设置集群执行环境。在接下来的步骤中,创建一个高大的阵列。如果您修改或创建一个高大的阵列后删除集群执行环境,那么高大的数组是无效的,你必须重新创建它。
如果你想在串行开发和不使用本地工人,输入以下命令。
mapreducer(0);
设置环境变量和集群属性后,您可以运行MATLAB高大表例子在Spark(MATLAB)启用Hadoop集群,而不是你的本地计算机上。创建数据存储并把它转换成一个高大的表。MATLAB自动启动星火作业运行在高大的桌子后面的计算。
DS =数据存储区('airlinesmall.csv');varnames = {'ArrDelay','DepDelay'};ds.SelectedVariableNames = varnames;ds.TreatAsMissing ='NA';
创建一个高大的表TT
从数据存储。
TT =高(DS)
启动Hadoop集群上的星火工作。这可能需要几分钟的时间...完成。TT = M×2高大表ArrDelay DepDelay ________ 8 12 8 1 21 20 13 12 4 -1 59 63 3 -2 11 -1::::
显示表示该行数中号
,还不知道。中号
是一个占位符,直到完成计算。
提取延迟到货ArrDelay
从高高的桌子。此操作将创建在随后的计算中使用一个新高数组变量。
A = tt.ArrDelay;
您可以在高大的阵列,直到你调用未执行上指定的一系列操作收集
。这样做可以让你批了,可能需要很长时间的命令。作为示例,计算到达延迟的平均值和标准偏差。使用这些值来构建的上部和下部阈值是平均值的1个标准差内的延迟。
M =平均值(一,'omitnan');S = STD(一,'omitnan');one_sigma_bounds = [M-S,M,M + S];
用收集
计算one_sigma_bounds
,并把答案到内存中。
SIG1 =聚集(one_sigma_bounds)
评估使用Spark群集高表达: - 的1遍1:在0.95秒评价完成在1.3秒SIG1 = -23.4572 7.1201 37.6975完成
您可以指定多个输入和输出收集
如果你想在一次评估几件事情。这样做是不是调用更快收集
分别在每个高阵列。例如,计算出最小和最大到达延迟。
[max_delay,min_delay] =聚集(最大的(a),分钟(a))的
max_delay = 1014 min_delay = -64
这些例子需要更多的时间来完成第一次如果MATLAB是在集群工人开始。
当使用上的火花高大阵列启用Hadoop集群,从Hadoop集群计算资源将被保留用于mapreducer执行环境的寿命。要清除这些资源,你必须删除mapreducer:
删除(gcmr);
mapreducer(0);
数据存储
|收集
|mapreducer
|parallel.cluster.Hadoop
|表
|高