Consultas assíncronas e interrupções com o Databricks Connect for Scala
Este artigo aborda Databricks Connect para Databricks Runtime 14.0 e acima.
Este artigo descreve como lidar com consultas assíncronas e interrupções com Databricks Connect para Scala. Databricks Connect permite que o senhor conecte os populares IDEs, servidores de notebook e aplicativos personalizados ao clustering Databricks. Consulte O que é o Databricks Connect? Para obter a versão Python deste artigo, consulte Consultas assíncronas e interrupções com Databricks Connect para Python.
Antes de começar a usar o Databricks Connect, o senhor deve configurar o cliente Databricks Connect.
Para Databricks Connect para Databricks Runtime 14.0 e acima, a execução de consultas é mais resistente à rede e a outras interrupções ao executar consultas de longa duração. Quando o programa cliente recebe uma interrupção ou o processo é pausado (até 5 minutos) pelo sistema operacional, como quando a tampa do laptop é fechada, o cliente se reconecta à consulta em execução. Isso também permite que as consultas sejam executadas por períodos mais longos (anteriormente, apenas 1 hora).
O Databricks Connect agora também vem com a capacidade de interromper a execução de consultas, se desejado, por exemplo, para economizar custos.
import com.databricks.connect.DatabricksSession
object InterruptTagExample {
  def main(args: Array[String]): Unit = {
    val session = DatabricksSession.builder.getOrCreate()
    val t = new Thread {
      override def run {
        Thread.sleep(5000)
        session.interruptTag("interrupt-me")
      }
    }
    // All subsequent DataFrame queries that use session will have this tag.
    session.addTag("interrupt-me")
    t.start()
    val df = <a long running DataFrame query>
    df.show()
    t.join()
  }
}