Partilhar via


Consultas assíncronas e interrupções com o Databricks Connect for Python

Observação

Este artigo aborda o Databricks Connect for Databricks Runtime 14.0 e superior.

Este artigo descreve como lidar com consultas assíncronas e interrupções com o Databricks Connect for Python. O Databricks Connect permite conectar IDEs populares, servidores de notebook e aplicativos personalizados a clusters do Azure Databricks. Consulte O que é Databricks Connect?. Para obter a versão Scala deste artigo, consulte Consultas assíncronas e interrupções com o Databricks Connect for Scala.

Observação

Antes de começar a usar o Databricks Connect, você deve configurar o cliente Databricks Connect.

Para o Databricks Connect for Databricks Runtime 14.0 e superior, a execução de consultas é mais resiliente à 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 mais tempo (anteriormente apenas 1 hora).

O Databricks Connect agora também vem com a capacidade de interromper consultas em execução, se desejado, como para economia de custos.

O programa Python a seguir interrompe uma consulta de longa execução usando a API interruptTag().

from databricks.connect import DatabricksSession
from time import sleep
import threading

session = DatabricksSession.builder.getOrCreate()

def thread_fn():
  sleep(5)
  session.interruptTag("interrupt-me")

# All subsequent DataFrame queries that use session will have this tag.
session.addTag("interrupt-me")

t = threading.Thread(target=thread_fn).start()

df = <a long running DataFrame query>
df.show()

t.join()