Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 获取当前正在运行的reduce任务数_Hadoop_Amazon Web Services_Mapreduce_Amazon Dynamodb_Hadoop Streaming - Fatal编程技术网

Hadoop 获取当前正在运行的reduce任务数

Hadoop 获取当前正在运行的reduce任务数,hadoop,amazon-web-services,mapreduce,amazon-dynamodb,hadoop-streaming,Hadoop,Amazon Web Services,Mapreduce,Amazon Dynamodb,Hadoop Streaming,我正在使用AmazonAWS、DynamoDB和EMR集群进行hadoop流媒体。我的reduce任务写入Dynamo表。我需要建立并遵守写入表的上限,比如写吞吐量的50% 我可以查询表的写吞吐量设置,除以mapred.reduce.tasks,再乘以50%,得到每个任务表的写吞吐量下限。更好的是,我想查询目前正在处理的reduce任务的数量,以获得每个reduce任务的确切写入吞吐量上限,但我不知道如何获得该数量。我在jobtracker中看到它,其中显示了任务总数、待处理任务和正在处理的任务

我正在使用AmazonAWS、DynamoDB和EMR集群进行hadoop流媒体。我的reduce任务写入Dynamo表。我需要建立并遵守写入表的上限,比如写吞吐量的50%

我可以查询表的写吞吐量设置,除以mapred.reduce.tasks,再乘以50%,得到每个任务表的写吞吐量下限。更好的是,我想查询目前正在处理的reduce任务的数量,以获得每个reduce任务的确切写入吞吐量上限,但我不知道如何获得该数量。我在jobtracker中看到它,其中显示了任务总数、待处理任务和正在处理的任务


另一种不太灵活的方法是使用hadoop流参数“-numReduceTasks”设置任务数。

如前所述,您应该使用
JobTracker
API进行设置

特别是,您有兴趣调用
getClusterStatus
,它将返回
ClusterStatus
对象详细信息。从那时起,只需调用
getReduceTasks
,它将为您提供集群中当前正在运行的reduce任务的数量

您还可以使用
getClusterMetrics
方法获得类似的信息