Use o conector do Databricks para se conectar a outro espaço de trabalho do Databricks

Este artigo fornece exemplos de sintaxe do uso do conector Databricks para conectar-se a outro Databricks workspace. Esse conector aproveita o driver Databricks JDBC , que está incluído em Databricks Runtime 13.3 LTS e acima.

Importante

Para a maioria das operações de compartilhamento de dados, a Databricks recomenda o Delta Sharing. Consulte O que é Delta Sharing? O senhor também pode preferir o Lakehouse Federation para gerenciar consultas de dados em outro espaço de trabalho Databricks. Veja o que é Lakehouse Federation?

Conectando-se a outro espaço de trabalho do Databricks

O conector Databricks Spark permite que você se conecte ao recurso compute configurado em outro workspace do Databricks e retorne resultados para seu workspace atual do Databricks. Você deve ter acesso à compute ativa em ambos workspace para que query seja bem-sucedida.

O driver JDBC está registrado para jdbc:databricks:// URLs. Você deve configurar e utilizar um access token pessoal que conceda permissões no recurso workspace que está sendo acessado remotamente. Consulte a API de gerenciamento de tokens.

Observação

Se você tiver uma biblioteca JDBC do Databricks anexada aos seus clusters, a versão da biblioteca anexada aos seus clusters será usada em vez da versão incluída no Databricks Runtime.

Ler dados de outro espaço de trabalho do Databricks

Você pode especificar o formato databricks para usar o conector Databricks Spark ao ler dados, como no exemplo a seguir:

df = (spark.read
  .format("databricks")
  .option("host", "<host-name>.cloud.databricks.com")
  .option("httpPath", "/sql/1.0/warehouses/<warehouse-id>")
  .option("personalAccessToken", "<auth-token>")
  .option("dbtable", "<table-name>")
  .load()
)

Crie uma tabela externa em outro espaço de trabalho do Databricks

Você pode registrar uma tabela externa em um espaço de trabalho do Databricks vinculado a um espaço de trabalho do Databricks separado.

O exemplo a seguir demonstra essa sintaxe, usando a função secret para obter credenciais armazenadas com segredos do Databricks:

Observação

Para obter mais informações sobre os segredos do Databricks, consulte função secreta.

CREATE TABLE databricks_external_table
USING databricks
OPTIONS (
  host '<host-name>.cloud.databricks.com',
  httpPath '/sql/1.0/warehouses/<warehouse-id>',
  personalAccessToken secret('<scope>', '<token>'),
  dbtable '<table-name>'
);