public void SparkStatmentJobLifecycle() { using (var context = MockContext.Start(this.GetType())) using (var client = this.CommonData.GetHDInsightSparkJobClient(context)) { //create session SparkSessionJobRequest createRequest = new SparkSessionJobRequest { Kind = SessionJobKind.Spark }; var createResponse = client.Job.SubmitSparkSessionJob(createRequest); Assert.NotNull(createResponse); Assert.Equal("starting", createResponse.State); TestUtilities.Wait(10000); var originalResponse = client.Job.ListSparkStatementJob((int)createResponse.Id); Assert.NotNull(originalResponse); //create statements SparkStatementRequest statementRequest = new SparkStatementRequest { Code = "1+1" }; var statementResponse = client.Job.SubmitSparkStatementJob((int)createResponse.Id, statementRequest); Assert.NotNull(statementResponse); Assert.Equal("waiting", statementResponse.State); var checkcreateResponse = client.Job.ListSparkStatementJob((int)createResponse.Id); Assert.NotNull(checkcreateResponse); Assert.Equal(originalResponse.Statements.Count + 1, checkcreateResponse.Statements.Count); TestUtilities.Wait(10000); //delete statements var cancelResponse = client.Job.DeleteSparkStatementJob((int)createResponse.Id, (int)statementResponse.Id); Assert.Equal("canceled", cancelResponse.CancelMessage); //delete session client.Job.DeleteSparkSessionJob((int)createResponse.Id); } }
/// <summary> /// Create a statement within a spark session. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='sessionId'> /// Identifier for the session. /// </param> /// <param name='sparkStatementRequest'> /// Livy compatible batch job request payload. /// </param> /// <param name='requestedBy'> /// Add default value for X-Requested-By in header. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <SparkStatement> SubmitSparkStatementJobAsync(this IJobOperations operations, int sessionId, SparkStatementRequest sparkStatementRequest, string requestedBy = "ambari", CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.SubmitSparkStatementJobWithHttpMessagesAsync(sessionId, sparkStatementRequest, requestedBy, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Create a statement within a spark session. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='sessionId'> /// Identifier for the session. /// </param> /// <param name='sparkStatementRequest'> /// Livy compatible batch job request payload. /// </param> /// <param name='requestedBy'> /// Add default value for X-Requested-By in header. /// </param> public static SparkStatement SubmitSparkStatementJob(this IJobOperations operations, int sessionId, SparkStatementRequest sparkStatementRequest, string requestedBy = "ambari") { return(operations.SubmitSparkStatementJobAsync(sessionId, sparkStatementRequest, requestedBy).GetAwaiter().GetResult()); }