Partilhar via


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

Este artigo fornece exemplos de sintaxe do uso do conector Databricks para se conectar a outro espaço de trabalho Databricks. Esse conector aproveita o driver JDBC Databricks, que está incluído no Databricks Runtime 13.3 LTS e superior.

Importante

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

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

O conector Databricks Spark permite que você se conecte a recursos de computação configurados em outro espaço de trabalho do Databricks e retorne resultados ao seu espaço de trabalho atual do Azure Databricks. Você deve ter acesso à computação ativa em ambos os espaços de trabalho para que as consultas sejam bem-sucedidas.

O driver de JDBC está registado para os URLs jdbc:databricks://. Você deve configurar e usar um token de acesso pessoal que conceda permissões nos recursos do espaço de trabalho que estão sendo acessados remotamente. Consulte a API de gerenciamento de tokens.

Observação

Se você tiver uma biblioteca JDBC Databricks anexada ao cluster, a versão da biblioteca anexada ao cluster 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 quando estiver lendo dados, como no exemplo a seguir:

df = (spark.read
  .format("databricks")
  .option("host", "adb-<workspace-id>.<random-number>.azuredatabricks.net")
  .option("httpPath", "/sql/1.0/warehouses/<warehouse-id>")
  .option("personalAccessToken", "<auth-token>")
  .option("dbtable", "<table-name>")
  .load()
)

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

Você pode registrar uma tabela externa em um espaço de trabalho do Azure Databricks vinculado a um espaço de trabalho 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 mais informações sobre os segredos do Databricks, consulte secret funções.

CREATE TABLE databricks_external_table
USING databricks
OPTIONS (
  host 'adb-<workspace-id>.<random-number>.azuredatabricks.net',
  httpPath '/sql/1.0/warehouses/<warehouse-id>',
  personalAccessToken secret('<scope>', '<token>'),
  dbtable '<table-name>'
);