mapreducer

定义MapReduce和高大阵列并行执行环境

描述

mapreducer定义了执行环境MapReduce的或高大阵列。使用mapreducer函数来改变所述执行环境使用不同的群集或以串联和并联的发展之间切换。

默认执行环境使用在本地MATLAB®会话,或者如果你有并行计算工具箱™并行池。如果您有并行计算工具箱安装,当您使用要么MapReduce的功能,MATLAB自动启动的工人平行池,除非你已经改变了默认的首选项。默认情况下,并行池使用本地工人,通常一名工人在您的机器每个核心。如果你关闭自动创建一个并行池选项,则必须明确,如果你想使用并行启动资源池。看到指定并行首

当高大的数组时,使用mapreducer到执行环境中设置创建高大阵列之前。高大的阵列绑定到当前全球执行环境,他们构造时。如果随后更改了全球执行环境,那么高大的数组是无效的,你必须重新创建它。

注意

在MATLAB中,你并不需要使用指定的配置设置mapreducer因为MapReduce的算法和高大的阵列计算仅在本地MATLAB会话自动运行。如果你也有并行计算工具箱,那么你可以使用附加mapreducer配置选项此页面上列出的并行运行。如果你有MATLAB编译器™,那么你可以使用不同的mapreducer在部署环境中运行的配置选项。

看到:mapreducerMATLAB的文档中,或mapreducer在MATLAB编译文档。

mapreducer没有输入参数创建一个新的mapreducer执行环境与所有默认设置,并设置这是当前MapReduce的或高大阵列执行环境。您可以使用gcmr得到当前mapreducer配置。

  • 如果您有默认的偏好(自动创建一个并行池启用),并且您还没有开通并行池,然后mapreducer打开使用默认的群集配置文件,集水池gcmr基于此池,并返回该mapreducer一个mapreducer。

  • 如果你已经打开了平行池,然后mapreducergcmr基于当前的游泳池和回报这个mapreducer一个mapreducer。

  • 如果已禁用自动创建一个并行池,并且您还没有开通并行池,然后mapreducergcmr基于本地MATLAB会话mapreducer,和mapreducer返回此mapreducer。

mapreducer(0)该指定MapReduce的要么阵列计算在MATLAB客户端会话,而无需使用任何并行资源运行。

mapreducer(poolobj规定了并行执行并行池MapReduce的或高大阵列。poolobjparallel.Pool目的。默认池是返回或打开当前池GCP

mapreducer(hadoopCluster指定一个Hadoop®簇为并行执行MapReduce的或高大阵列。hadoopClusterparallel.cluster.Hadoop目的。

mapreducer(先生集全球执行环境MapReduce的或高大阵列,使用先前创建的MapReducer对象,先生, 如果它是ObjectVisibility属性'上'

先生= mapreducer(___返回MapReducer对象到指定的执行环境。你可以通过一个作为输入参数来定义几个MapReducer对象,这使您可以交换执行环境MapReduce的要么mapreducer

先生= mapreducer(___'ObjectVisibility', '关')皮的MapReducer对象的可见性,先生,使用任何以前的语法。使用此语法,而不影响的全球执行环境来创建新的对象MapReducerMapReduce的

例子

串再使用本地工人或集群发展

如果你想在串行开发和不使用本地工人或您指定的集群,请输入:

mapreducer(0);
如果您使用mapreducer创建一个高大的阵列后更改执行环境,那么高大的数组是无效的,你必须重新创建它。要再次使用本地工人或您指定的集群,请输入:
mapreducer(GCP);

mapreducer自动创建一个并行池关闭

如果您已经关闭了自动创建一个并行池选项,则必须明确,如果你想使用并行启动资源池。看到指定并行首了解详情。

下面的代码演示了如何使用mapreducer无需输入参数执行环境设置为本地MATLAB会话,然后指定一个本地并行池:

>> mapreducer >> parpool('本地',1);
开始使用“本地”的个人资料...连接到1名工人并行池(parpool)。
>>聚集(分钟(高(兰特(1000,1))))
评估使用本地MATLAB会话高表达:评价0秒完成ANS = 5.2238e-04

输入参数

全部收缩

池为并行执行,指定为parallel.Pool目的。

例:poolobj = GCP

Hadoop集群为并行执行,指定为parallel.cluster.Hadoop目的。

例:hadoopCluster = parallel.cluster.Hadoop

输出参数

全部收缩

执行环境MapReduce的和高大阵列,返回为MapReducer对象。

如果ObjectVisibility财产先生设定为'上', 然后先生定义了默认执行环境为所有MapReduce的算法和高大阵列的计算。如果ObjectVisibility属性“关”,你可以通过先生作为输入参数,以MapReduce的明确指定为特定呼叫的执行环境。

你可以通过一个作为输入参数来定义几个MapReducer对象,这使您可以交换执行环境MapReduce的要么mapreducer

提示

一个高大的阵列开发的算法的好处是,你只需要编写一次代码。您可以在本地开发代码,然后使用mapreducer以扩大项目,并利用并行计算工具箱提供的能力,MATLAB并行服务器™或MATLAB编译器,而无需重写你的算法。

介绍了在R2014b