Exemplo n.º 1
0
        /// <summary>Get job corresponding to jobid.</summary>
        /// <param name="jobId"/>
        /// <returns>
        /// object of
        /// <see cref="Job"/>
        /// </returns>
        /// <exception cref="System.IO.IOException"/>
        /// <exception cref="System.Exception"/>
        public virtual Job GetJob(JobID jobId)
        {
            JobStatus status = client.GetJobStatus(jobId);

            if (status != null)
            {
                JobConf conf;
                try
                {
                    conf = new JobConf(status.GetJobFile());
                }
                catch (RuntimeException ex)
                {
                    // If job file doesn't exist it means we can't find the job
                    if (ex.InnerException is FileNotFoundException)
                    {
                        return(null);
                    }
                    else
                    {
                        throw;
                    }
                }
                return(Job.GetInstance(this, status, conf));
            }
            return(null);
        }
Exemplo n.º 2
0
        public virtual void TestFromYarnApplicationReport()
        {
            ApplicationId mockAppId = Org.Mockito.Mockito.Mock <ApplicationId>();

            Org.Mockito.Mockito.When(mockAppId.GetClusterTimestamp()).ThenReturn(12345L);
            Org.Mockito.Mockito.When(mockAppId.GetId()).ThenReturn(6789);
            ApplicationReport mockReport = Org.Mockito.Mockito.Mock <ApplicationReport>();

            Org.Mockito.Mockito.When(mockReport.GetTrackingUrl()).ThenReturn("dummy-tracking-url"
                                                                             );
            Org.Mockito.Mockito.When(mockReport.GetApplicationId()).ThenReturn(mockAppId);
            Org.Mockito.Mockito.When(mockReport.GetYarnApplicationState()).ThenReturn(YarnApplicationState
                                                                                      .Killed);
            Org.Mockito.Mockito.When(mockReport.GetUser()).ThenReturn("dummy-user");
            Org.Mockito.Mockito.When(mockReport.GetQueue()).ThenReturn("dummy-queue");
            string jobFile = "dummy-path/job.xml";

            try
            {
                JobStatus status = TypeConverter.FromYarn(mockReport, jobFile);
            }
            catch (ArgumentNullException)
            {
                NUnit.Framework.Assert.Fail("Type converstion from YARN fails for jobs without "
                                            + "ApplicationUsageReport");
            }
            ApplicationResourceUsageReport appUsageRpt = Org.Apache.Hadoop.Yarn.Util.Records.
                                                         NewRecord <ApplicationResourceUsageReport>();
            Resource r = Org.Apache.Hadoop.Yarn.Util.Records.NewRecord <Resource>();

            r.SetMemory(2048);
            appUsageRpt.SetNeededResources(r);
            appUsageRpt.SetNumReservedContainers(1);
            appUsageRpt.SetNumUsedContainers(3);
            appUsageRpt.SetReservedResources(r);
            appUsageRpt.SetUsedResources(r);
            Org.Mockito.Mockito.When(mockReport.GetApplicationResourceUsageReport()).ThenReturn
                (appUsageRpt);
            JobStatus status_1 = TypeConverter.FromYarn(mockReport, jobFile);

            NUnit.Framework.Assert.IsNotNull("fromYarn returned null status", status_1);
            NUnit.Framework.Assert.AreEqual("jobFile set incorrectly", "dummy-path/job.xml",
                                            status_1.GetJobFile());
            NUnit.Framework.Assert.AreEqual("queue set incorrectly", "dummy-queue", status_1.
                                            GetQueue());
            NUnit.Framework.Assert.AreEqual("trackingUrl set incorrectly", "dummy-tracking-url"
                                            , status_1.GetTrackingUrl());
            NUnit.Framework.Assert.AreEqual("user set incorrectly", "dummy-user", status_1.GetUsername
                                                ());
            NUnit.Framework.Assert.AreEqual("schedulingInfo set incorrectly", "dummy-tracking-url"
                                            , status_1.GetSchedulingInfo());
            NUnit.Framework.Assert.AreEqual("jobId set incorrectly", 6789, status_1.GetJobID(
                                                ).GetId());
            NUnit.Framework.Assert.AreEqual("state set incorrectly", JobStatus.State.Killed,
                                            status_1.GetState());
            NUnit.Framework.Assert.AreEqual("needed mem info set incorrectly", 2048, status_1
                                            .GetNeededMem());
            NUnit.Framework.Assert.AreEqual("num rsvd slots info set incorrectly", 1, status_1
                                            .GetNumReservedSlots());
            NUnit.Framework.Assert.AreEqual("num used slots info set incorrectly", 3, status_1
                                            .GetNumUsedSlots());
            NUnit.Framework.Assert.AreEqual("rsvd mem info set incorrectly", 2048, status_1.GetReservedMem
                                                ());
            NUnit.Framework.Assert.AreEqual("used mem info set incorrectly", 2048, status_1.GetUsedMem
                                                ());
        }
Exemplo n.º 3
0
 public static Org.Apache.Hadoop.Mapred.JobStatus Downgrade(Org.Apache.Hadoop.Mapreduce.JobStatus
                                                            stat)
 {
     Org.Apache.Hadoop.Mapred.JobStatus old = new Org.Apache.Hadoop.Mapred.JobStatus(JobID
                                                                                     .Downgrade(stat.GetJobID()), stat.GetSetupProgress(), stat.GetMapProgress(), stat
                                                                                     .GetReduceProgress(), stat.GetCleanupProgress(), stat.GetState().GetValue(), JobPriority
                                                                                     .ValueOf(stat.GetPriority().ToString()), stat.GetUsername(), stat.GetJobName(),
                                                                                     stat.GetQueue(), stat.GetJobFile(), stat.GetTrackingUrl(), stat.IsUber());
     old.SetStartTime(stat.GetStartTime());
     old.SetFinishTime(stat.GetFinishTime());
     old.SetSchedulingInfo(stat.GetSchedulingInfo());
     old.SetHistoryFile(stat.GetHistoryFile());
     return(old);
 }