public void CancelSparkSessionStatement(string workspaceName, string sparkPoolName, int sessionId, int statementId) { if (sessionId == SynapseConstants.UnknownId) { var session = this.ListSparkSessions(detailed: false) .FirstOrDefault(s => { try { var stmt = this.GetSparkSessionStatement(s.Id, statementId); return(SparkSessionStatementLivyState.CancellableStates.Contains(stmt.State)); } catch { // TODO: should only handle not found exception return(false); } }); if (session == null) { throw new AzPSInvalidOperationException(string.Format( Properties.Resources.FailedToDiscoverSparkStatement, statementId, workspaceName, sparkPoolName)); } sessionId = session.Id; } _sparkSessionClient.CancelSparkStatement(sessionId, statementId); }
public void ExecuteSparkStatementSync() { // Environment variable with the Synapse workspace endpoint. string endpoint = TestEnvironment.EndpointUrl; // Environment variable with the Synapse Spark pool name. string sparkPoolName = TestEnvironment.SparkPoolName; #region Snippet:CreateSparkSessionClient SparkSessionClient client = new SparkSessionClient(new Uri(endpoint), sparkPoolName, new DefaultAzureCredential()); #endregion #region Snippet:CreateSparkSession SparkSessionOptions request = new SparkSessionOptions(name: $"session-{Guid.NewGuid()}") { DriverMemory = "28g", DriverCores = 4, ExecutorMemory = "28g", ExecutorCores = 4, ExecutorCount = 2 }; SparkSession sessionCreated = client.CreateSparkSession(request); // Waiting session creation completion sessionCreated = PollSparkSession(client, sessionCreated); #endregion #region Snippet:GetSparkSession SparkSession session = client.GetSparkSession(sessionCreated.Id); Debug.WriteLine($"Session is returned with name {session.Name} and state {session.State}"); #endregion #region Snippet:CreateSparkStatement SparkStatementOptions sparkStatementRequest = new SparkStatementOptions { Kind = SparkStatementLanguageType.Spark, Code = @"print(""Hello world\n"")" }; SparkStatement statementCreated = client.CreateSparkStatement(sessionCreated.Id, sparkStatementRequest); // Wait operation completion statementCreated = PollSparkStatement(client, sessionCreated.Id, statementCreated); #endregion #region Snippet:GetSparkStatement SparkStatement statement = client.GetSparkStatement(sessionCreated.Id, statementCreated.Id); Debug.WriteLine($"Statement is returned with id {statement.Id} and state {statement.State}"); #endregion #region Snippet:CancelSparkStatement SparkStatementCancellationResult cancellationResult = client.CancelSparkStatement(sessionCreated.Id, statementCreated.Id); Debug.WriteLine($"Statement is cancelled with message {cancellationResult.Msg}"); #endregion #region Snippet:CancelSparkSession Response operation = client.CancelSparkSession(sessionCreated.Id); #endregion }
public void ExecuteSparkStatementSync() { #region Snippet:CreateSparkSessionClient // Replace the strings below with the spark and endpoint information string sparkPoolName = "<my-spark-pool-name>"; /*@@*/ sparkPoolName = TestEnvironment.SparkPoolName; string endpoint = "<my-endpoint-url>"; /*@@*/ endpoint = TestEnvironment.EndpointUrl; SparkSessionClient client = new SparkSessionClient(new Uri(endpoint), sparkPoolName, new DefaultAzureCredential()); #endregion #region Snippet:CreateSparkSession SparkSessionOptions request = new SparkSessionOptions(name: $"session-{Guid.NewGuid()}") { DriverMemory = "28g", DriverCores = 4, ExecutorMemory = "28g", ExecutorCores = 4, ExecutorCount = 2 }; SparkSessionOperation createSessionOperation = client.StartCreateSparkSession(request); while (!createSessionOperation.HasCompleted) { System.Threading.Thread.Sleep(2000); createSessionOperation.UpdateStatus(); } SparkSession sessionCreated = createSessionOperation.Value; #endregion #region Snippet:GetSparkSession SparkSession session = client.GetSparkSession(sessionCreated.Id); Debug.WriteLine($"Session is returned with name {session.Name} and state {session.State}"); #endregion #region Snippet:CreateSparkStatement SparkStatementOptions sparkStatementRequest = new SparkStatementOptions { Kind = SparkStatementLanguageType.Spark, Code = @"print(""Hello world\n"")" }; SparkStatementOperation createStatementOperation = client.StartCreateSparkStatement(sessionCreated.Id, sparkStatementRequest); while (!createStatementOperation.HasCompleted) { System.Threading.Thread.Sleep(2000); createStatementOperation.UpdateStatus(); } SparkStatement statementCreated = createStatementOperation.Value; #endregion #region Snippet:GetSparkStatement SparkStatement statement = client.GetSparkStatement(sessionCreated.Id, statementCreated.Id); Debug.WriteLine($"Statement is returned with id {statement.Id} and state {statement.State}"); #endregion #region Snippet:CancelSparkStatement SparkStatementCancellationResult cancellationResult = client.CancelSparkStatement(sessionCreated.Id, statementCreated.Id); Debug.WriteLine($"Statement is cancelled with message {cancellationResult.Message}"); #endregion #region Snippet:CancelSparkSession Response operation = client.CancelSparkSession(sessionCreated.Id); #endregion }
public async Task ExecuteSparkStatementSync() { #region Snippet:CreateSparkSessionClientAsync #if SNIPPET // Replace the strings below with the spark and endpoint information string sparkPoolName = "<my-spark-pool-name>"; string endpoint = "<my-endpoint-url>"; #else string sparkPoolName = TestEnvironment.SparkPoolName; string endpoint = TestEnvironment.EndpointUrl; #endif SparkSessionClient client = new SparkSessionClient(new Uri(endpoint), sparkPoolName, new DefaultAzureCredential()); #endregion #region Snippet:CreateSparkSessionAsync SparkSessionOptions request = new SparkSessionOptions(name: $"session-{Guid.NewGuid()}") { DriverMemory = "28g", DriverCores = 4, ExecutorMemory = "28g", ExecutorCores = 4, ExecutorCount = 2 }; SparkSessionOperation createSessionOperation = await client.StartCreateSparkSessionAsync(request); SparkSession sessionCreated = await createSessionOperation.WaitForCompletionAsync(); #endregion #region Snippet:GetSparkSessionAsync SparkSession session = await client.GetSparkSessionAsync(sessionCreated.Id); Debug.WriteLine($"Session is returned with name {session.Name} and state {session.State}"); #endregion #region Snippet:CreateSparkStatementAsync SparkStatementOptions sparkStatementRequest = new SparkStatementOptions { Kind = SparkStatementLanguageType.Spark, Code = @"print(""Hello world\n"")" }; SparkStatementOperation createStatementOperation = await client.StartCreateSparkStatementAsync(sessionCreated.Id, sparkStatementRequest); SparkStatement statementCreated = await createStatementOperation.WaitForCompletionAsync(); #endregion #region Snippet:GetSparkStatementAsync SparkStatement statement = await client.GetSparkStatementAsync(sessionCreated.Id, statementCreated.Id); Debug.WriteLine($"Statement is returned with id {statement.Id} and state {statement.State}"); #endregion #region Snippet:CancelSparkStatementAsync SparkStatementCancellationResult cancellationResult = client.CancelSparkStatement(sessionCreated.Id, statementCreated.Id); Debug.WriteLine($"Statement is cancelled with message {cancellationResult.Message}"); #endregion #region Snippet:CancelSparkSessionAsync Response operation = client.CancelSparkSession(sessionCreated.Id); #endregion }