对象上使用高数组火花启用Hadoop集群
创建和使用高桌子
这个例子展示了如何修改MATLAB®创建一个在Spark上运行的高表的例子®启用Hadoop®集群。您可以使用这个高表创建高数组并计算统计属性。您可以在本地开发代码,然后进行扩展,以利用并行计算工具箱™和提供的功能MATLAB分布式计算服务器™不需要重写算法。另请参阅使用高阵列和数据存储的大数据工作流而且配置Hadoop集群(MATLAB分布式计算服务器)
首先,您必须针对特定的Spark支持的Hadoop集群配置设置环境变量和集群属性。请向系统管理员了解这些属性的值以及向集群提交作业所需的其他属性。
setenv (“HADOOP_HOME”,/道路/ / hadoop /安装的setenv ()“SPARK_HOME”,/道路/ /火花/安装的);cluster = parallel.cluster.Hadoop;如果你想控制工人的确切数量,可以选择:%集群。火花Properties(“spark.executor.instances”) =“16”;mapreduce(集群);
请注意
在设置步骤中,使用mapreduce
设置集群执行环境。在下一步中,您将创建一个tall数组。如果在创建高数组后修改或删除集群执行环境,则该高数组无效,必须重新创建。
请注意
如果您想在串行中开发而不使用本地工作者,请输入以下命令。
mapreduce (0);
在设置环境变量和集群属性之后,就可以运行MATLAB了高桌的例子(MATLAB)在Spark启用的Hadoop集群上,而不是在本地机器上。创建一个数据存储并将其转换为一个高表。MATLAB自动启动Spark作业,在高表上运行后续计算。
数据存储(“airlinesmall.csv”);Varnames = {“ArrDelay”,“DepDelay”};ds。SelectedVariableNames = varnames;ds。TreatAsMissing =“NA”;
制作一张高桌子tt
从数据存储。
Tt =高(ds)
在Hadoop集群上启动Spark Job。这可能要花几分钟,搞定。tt = M×2 tall table ArrDelay DepDelay ________ ________ 8 12 8 1 21 20 13 12 4 -1 59 63 3 -2 11 -1::::
显示显示行数,米
,目前尚不清楚。米
是一个占位符,直到计算完成。
提取到达延迟ArrDelay
从高高的桌子上。此操作将创建一个新的tall数组变量以用于后续计算。
a = tt.ArrDelay;
您可以在tall数组上指定一系列操作,这些操作在调用之前不会执行收集
.这样做可以批处理可能需要很长时间的命令。以计算到达延迟的均值和标准差为例。使用这些值构建与平均值相差1个标准偏差内的延迟的上限和下限阈值。
M = mean(a,“omitnan”);S = std(a,“omitnan”);One_sigma_bounds = [m-s m m+s];
使用收集
计算one_sigma_bounds
,并将答案带入记忆。
Sig1 = gather(one_sigma_bounds)
使用Spark Cluster计算tall表达式:0秒内完成计算sig1 = -23.4572 7.1201 37.6975
可以指定多个输入和输出收集
如果你想同时评估几件事。这样做比打电话要快收集
分别在每个高数组上。例如,计算最小和最大到达延迟。
[max_delay, min_delay] = collect (max(a),min(a))
使用Spark Cluster计算tall表达式:—通过1 / 1:完成1秒计算1秒完成max_delay = 1014 min_delay = -64
请注意
如果MATLAB在集群worker上启动,那么第一次完成这些示例需要更多的时间。
当在一个支持Spark的Hadoop集群上使用高阵列时,Hadoop集群中的计算资源将为mapreducer执行环境的生命周期保留。若要清除这些资源,必须先删除mapreducer:
删除(gcmr);
mapreduce (0);
另请参阅
数据存储
|收集
|mapreduce
|parallel.cluster.Hadoop
|表格
|高
相关的例子
- 使用高阵列和数据存储的大数据工作流
- 在并行池上使用高数组
- 配置Hadoop集群(MATLAB分布式计算服务器)
- 高大的数组(MATLAB)
- 读取和分析Hadoop序列文件(MATLAB)
更多关于
- 数据存储(MATLAB)