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", "<workspace-id>.<random-number>.gcp.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 '<workspace-id>.<random-number>.gcp.databricks.com',
httpPath '/sql/1.0/warehouses/<warehouse-id>',
personalAccessToken secret('<scope>', '<token>'),
dbtable '<table-name>'
);