Exemple #1
0
        public Task <JobCreationResults> CreateSqoopJobAsync(SqoopJobCreateParameters sqoopJobCreateParameters)
        {
            var factory    = ServiceLocator.Instance.Locate <IRemoteHadoopJobSubmissionPocoClientFactory>();
            var pocoClient = factory.Create(this.credentials, this.Context, this.IgnoreSslErrors, this.userAgentString);

            sqoopJobCreateParameters = this.PrepareQueryJob(sqoopJobCreateParameters);
            return(pocoClient.SubmitSqoopJob(sqoopJobCreateParameters));
        }
        /// <summary>
        ///     Creates a SDK object from the PSCmdlet object type.
        /// </summary>
        /// <returns>A SDK Sqoop job definition object.</returns>
        internal SqoopJobCreateParameters ToSqoopJobCreateParameters()
        {
            var soopJobDefinition = new SqoopJobCreateParameters { Command = this.Command, File = this.File, StatusFolder = this.StatusFolder };

            if (this.Files.IsNotNull())
            {
                soopJobDefinition.Files.AddRange(this.Files);
            }

            return soopJobDefinition;
        }
        public void CanCreateNewSqoopDefinition_WithFile()
        {
            var pigJobDefinition = new SqoopJobCreateParameters { File = "my local file" };

            INewAzureHDInsightSqoopJobDefinitionCommand newSqoopJobDefinitionCommand =
                ServiceLocator.Instance.Locate<IAzureHDInsightCommandFactory>().CreateNewSqoopDefinition();
            newSqoopJobDefinitionCommand.File = pigJobDefinition.File;
            newSqoopJobDefinitionCommand.EndProcessing();

            AzureHDInsightSqoopJobDefinition pigJobFromCommand = newSqoopJobDefinitionCommand.Output.ElementAt(0);

            Assert.AreEqual(pigJobDefinition.File, pigJobFromCommand.File);
        }
        public void CanCreateNewSqoopDefinition()
        {
            var pigJobDefinition = new SqoopJobCreateParameters
            {
                Command = "load 'passwd' using SqoopStorage(':'); B = foreach A generate $0 as id;"
            };

            INewAzureHDInsightSqoopJobDefinitionCommand newSqoopJobDefinitionCommand =
                ServiceLocator.Instance.Locate<IAzureHDInsightCommandFactory>().CreateNewSqoopDefinition();
            newSqoopJobDefinitionCommand.Command = pigJobDefinition.Command;
            newSqoopJobDefinitionCommand.EndProcessing();

            AzureHDInsightSqoopJobDefinition pigJobFromCommand = newSqoopJobDefinitionCommand.Output.ElementAt(0);

            Assert.AreEqual(pigJobDefinition.Command, pigJobFromCommand.Command);
        }
        public void ICanCallThe_New_HDInsightSqoopJobDefinitionCmdlet()
        {
            var sqoopJobDefinition = new SqoopJobCreateParameters { Command = "show tables" };

            using (IRunspace runspace = this.GetPowerShellRunspace())
            {
                IPipelineResult results =
                    runspace.NewPipeline()
                            .AddCommand(CmdletConstants.NewAzureHDInsightSqoopJobDefinition)
                            .WithParameter(CmdletConstants.Command, sqoopJobDefinition.Command)
                            .Invoke();
                Assert.AreEqual(1, results.Results.Count);
                AzureHDInsightSqoopJobDefinition SqoopJobFromPowershell = results.Results.ToEnumerable<AzureHDInsightSqoopJobDefinition>().First();

                Assert.AreEqual(sqoopJobDefinition.Command, SqoopJobFromPowershell.Command);
            }
        }
        public void ICanCallThe_New_HDInsightSqoopJobDefinitionCmdlet_WithFileParameter()
        {
            var sqoopJobDefinition = new SqoopJobCreateParameters { File = TestConstants.WabsProtocolSchemeName + "filepath.hql" };

            using (IRunspace runspace = this.GetPowerShellRunspace())
            {
                IPipelineResult results =
                    runspace.NewPipeline()
                            .AddCommand(CmdletConstants.NewAzureHDInsightSqoopJobDefinition)
                            .WithParameter(CmdletConstants.File, sqoopJobDefinition.File)
                            .Invoke();
                Assert.AreEqual(1, results.Results.Count);
                AzureHDInsightSqoopJobDefinition SqoopJobFromPowershell = results.Results.ToEnumerable<AzureHDInsightSqoopJobDefinition>().First();

                Assert.AreEqual(sqoopJobDefinition.File, SqoopJobFromPowershell.File);
            }
        }
 public Task<JobCreationResults> SubmitSqoopJob(SqoopJobCreateParameters sqoopJobCreateParameters)
 {
     this.SubmitSqoopJobCalled = true;
     var job = new JobCreationResults() { JobId = JobId };
     return Task.Run(() => job);
 }
        public void CanSerializeValidSqoopJobRequest_File()
        {
            var sqoopJob = new SqoopJobCreateParameters()
            {
                File = "file.sqoop"
            };

            var payloadConverter = new PayloadConverterBase();
            var payload = payloadConverter.SerializeSqoopRequest("hadoop", sqoopJob);
            Assert.IsTrue(payload.Contains(string.Format("{0}={1}", WebHCatConstants.File, Uri.EscapeDataString(sqoopJob.File))));
        }
        public Task<JobCreationResults> SubmitSqoopJob(SqoopJobCreateParameters sqoopJobCreateParameters)
        {
            if (sqoopJobCreateParameters == null)
            {
                throw new ArgumentNullException("sqoopJobCreateParameters");
            }

            var retval = this.CreateJobSuccessResult(new JobDetails()
            {
                Query = sqoopJobCreateParameters.Command,
                StatusDirectory = sqoopJobCreateParameters.StatusFolder
            },
            string.Empty);
            return Task.FromResult(retval);
        }
        public void ShouldNotSerializeSqoopJobName()
        {
            var sqoopJob = new SqoopJobCreateParameters();
            sqoopJob.Command = "show tables";

            var payloadConverter = new PayloadConverterBase();
            var payload = payloadConverter.SerializeSqoopRequest("hadoop", sqoopJob);
            Assert.IsFalse((payload.Contains(WebHCatConstants.DefineJobName)));
        }
        public void CanSerializeValidSqoopJobRequest_Command()
        {
            var sqoopJob = new SqoopJobCreateParameters()
            {
                Command = "show tables"
            };

            var payloadConverter = new PayloadConverterBase();
            var payload = payloadConverter.SerializeSqoopRequest("hadoop", sqoopJob);
            Assert.IsTrue(payload.Contains(string.Format("{0}={1}", WebHCatConstants.Command, Uri.EscapeDataString(sqoopJob.Command))));
        }
 public JobCreationResults CreateSqoopJob(SqoopJobCreateParameters sqoopJobCreateParameters)
 {
     return this.CreateSqoopJobAsync(sqoopJobCreateParameters).WaitForResult();
 }
        public virtual void ICanCallThe_NewSqoopJob_Then_Start_HDInsightJobsCmdlet()
        {
            var sqoopJobDefinition = new SqoopJobCreateParameters { Command = "load table from 'A'" };

            using (IRunspace runspace = this.GetPowerShellRunspace())
            {
                IPipelineResult results =
                    runspace.NewPipeline()
                            .AddCommand(CmdletConstants.NewAzureHDInsightSqoopJobDefinition)
                            .WithParameter(CmdletConstants.Command, sqoopJobDefinition.Command)
                            .Invoke();
                Assert.AreEqual(1, results.Results.Count);
                AzureHDInsightSqoopJobDefinition sqoopJobFromPowershell = results.Results.ToEnumerable<AzureHDInsightSqoopJobDefinition>().First();

                RunJobInPowershell(runspace, sqoopJobFromPowershell);
            }
        }
 public JobCreationResults CreateSqoopJob(SqoopJobCreateParameters sqoopJobCreateParameters)
 {
     this.PrepareQueryJob(sqoopJobCreateParameters);
     return this.CreateSqoopJobAsync(sqoopJobCreateParameters).WaitForResult();
 }
        public void ICannotCallThe_New_HDInsightSqoopJobDefinitionCmdlet_WithoutFileOrCommandParameter()
        {
            var sqoopJobDefinition = new SqoopJobCreateParameters { File = TestConstants.WabsProtocolSchemeName + "filepath.hql" };

            try
            {
                using (IRunspace runspace = this.GetPowerShellRunspace())
                {
                    runspace.NewPipeline().AddCommand(CmdletConstants.NewAzureHDInsightSqoopJobDefinition).Invoke();
                    Assert.Fail("test failed.");
                }
            }
            catch (CmdletInvocationException invokeException)
            {
                var psArgumentException = invokeException.GetBaseException() as PSArgumentException;
                Assert.IsNotNull(psArgumentException);
                Assert.AreEqual("Either File or Command should be specified for Sqoop jobs.", psArgumentException.Message);
            }
        }
        public void ICanCallThe_New_HDInsightSqoopJobDefinitionCmdlet_WithResources()
        {
            var sqoopJobDefinition = new SqoopJobCreateParameters { Command = "show tables" };
            sqoopJobDefinition.Files.Add("pidata.txt");
            sqoopJobDefinition.Files.Add("pidate2.txt");

            using (IRunspace runspace = this.GetPowerShellRunspace())
            {
                IPipelineResult results =
                    runspace.NewPipeline()
                            .AddCommand(CmdletConstants.NewAzureHDInsightSqoopJobDefinition)
                            .WithParameter(CmdletConstants.Command, sqoopJobDefinition.Command)
                            .WithParameter(CmdletConstants.Files, sqoopJobDefinition.Files)
                            .Invoke();
                Assert.AreEqual(1, results.Results.Count);
                AzureHDInsightSqoopJobDefinition SqoopJobFromPowershell = results.Results.ToEnumerable<AzureHDInsightSqoopJobDefinition>().First();

                Assert.AreEqual(sqoopJobDefinition.Command, SqoopJobFromPowershell.Command);

                foreach (string file in sqoopJobDefinition.Files)
                {
                    Assert.IsTrue(
                        SqoopJobFromPowershell.Files.Any(arg => string.Equals(file, arg)),
                        "Unable to find File '{0}' in value returned from powershell",
                        file);
                }
            }
        }
Exemple #17
0
 /// <inheritdoc />
 public JobCreationResults CreateSqoopJob(SqoopJobCreateParameters sqoopJobCreateParameters)
 {
     sqoopJobCreateParameters = this.PrepareQueryJob(sqoopJobCreateParameters);
     return(this.CreateSqoopJobAsync(sqoopJobCreateParameters).WaitForResult());
 }
        public Task<JobCreationResults> CreateSqoopJobAsync(SqoopJobCreateParameters sqoopJobCreateParameters)
        {
            if (sqoopJobCreateParameters == null)
            {
                throw new ArgumentNullException("sqoopJobCreateParameters");
            }

            this.PrepareQueryJob(sqoopJobCreateParameters);
            JobCreationResults retval =
                this.CreateJobSuccessResult(
                    new JobDetails { Query = sqoopJobCreateParameters.Command, StatusDirectory = sqoopJobCreateParameters.StatusFolder }, string.Empty);
            return TaskEx2.FromResult(retval);
        }
        public void CanCreateNewSqoopDefinition_WithResources()
        {
            var pigJobDefinition = new SqoopJobCreateParameters
            {
                Command = "load 'passwd' using SqoopStorage(':'); B = foreach A generate $0 as id;"
            };
            pigJobDefinition.Files.Add("pidata.txt");
            pigJobDefinition.Files.Add("pidate2.txt");

            INewAzureHDInsightSqoopJobDefinitionCommand newSqoopJobDefinitionCommand =
                ServiceLocator.Instance.Locate<IAzureHDInsightCommandFactory>().CreateNewSqoopDefinition();
            newSqoopJobDefinitionCommand.Command = pigJobDefinition.Command;
            newSqoopJobDefinitionCommand.Files = pigJobDefinition.Files.ToArray();
            newSqoopJobDefinitionCommand.EndProcessing();

            AzureHDInsightSqoopJobDefinition pigJobFromCommand = newSqoopJobDefinitionCommand.Output.ElementAt(0);

            Assert.AreEqual(pigJobDefinition.Command, pigJobFromCommand.Command);

            foreach (string resource in pigJobDefinition.Files)
            {
                Assert.IsTrue(
                    pigJobFromCommand.Files.Any(arg => string.Equals(resource, arg)),
                    "Unable to find File '{0}' in value returned from command",
                    resource);
            }
        }
 /// <inheritdoc />
 public async Task<JobCreationResults> SubmitSqoopJob(SqoopJobCreateParameters sqoopJobCreateParameters)
 {
     var remoteClient = ServiceLocator.Instance.Locate<IRemoteHadoopJobSubmissionPocoClientFactory>().Create(this.remoteCreds, this.context, this.ignoreSslErrors, this.GetUserAgentString());
     return await remoteClient.SubmitSqoopJob(sqoopJobCreateParameters);
 }