Pular para o conteúdo
Lucas Lessa
Voltar para as notícias
DatabricksGAImpacto: Médio

Motores externos agora podem consultar views do Unity Catalog via REST API

O acesso a views sobre tabelas Delta Lake no Unity Catalog a partir de motores de computação externos agora está em disponibilidade geral (GA) usando a Unity REST API.

O que mudou

Motores de processamento externos agora podem ler views do Unity Catalog sobre tabelas Delta Lake por meio da Unity REST API, recurso que entrou em disponibilidade geral (GA). O acesso correspondente a views compatíveis com Apache Iceberg via Iceberg REST catalog permanece em Beta.

Para que serve

Imagine que a sua organização processa dados em clusters externos de Apache Spark ou em outra ferramenta fora do Databricks, mas você quer centralizar as regras de negócio e governança no Unity Catalog sem duplicar consultas ou exportar tabelas inteiras.

Com esse recurso, é possível:

  • Executar consultas a partir de engines externas diretamente contra views gerenciadas no Unity Catalog.
  • Ler as tabelas Delta Lake de origem resolvendo a definição da view no motor externo.
  • Centralizar os esquemas e permissões no metastore Databricks enquanto processa a carga de trabalho fora dele.

Como usar

Para consultar uma view sobre tabelas Delta em um cluster Apache Spark externo no AWS, configure as seguintes propriedades de sessão:

spark.jars.packages io.unitycatalog:unitycatalog-spark_4.0_2.13:0.6.0,io.delta:delta-spark_4.0_2.13:4.3.0,org.apache.hadoop:hadoop-aws:3.4.1
spark.sql.extensions io.delta.sql.DeltaSparkSessionExtension
spark.sql.catalog.spark_catalog org.apache.spark.sql.delta.catalog.DeltaCatalog
spark.sql.catalog.meu_catalogo io.unitycatalog.spark.UCSingleCatalog
spark.sql.catalog.meu_catalogo.uri https://meu-workspace.cloud.databricks.com
spark.sql.catalog.meu_catalogo.token dapi_seu_token
spark.sql.defaultCatalog meu_catalogo
spark.hadoop.fs.s3.impl org.apache.hadoop.fs.s3a.S3AFileSystem
spark.hadoop.fs.s3a.impl org.apache.hadoop.fs.s3a.S3AFileSystem

O que acontece nesse código:

  1. Carrega as bibliotecas do conector Unity Catalog, do Delta Lake e do conector S3 da AWS.
  2. Registra o catálogo externo apontando para a URL do workspace Databricks e autenticando com token.
  3. Define o catálogo padrão da sessão Spark e inicializa os manipuladores de armazenamento S3.

Após a configuração, a consulta é feita normalmente via SQL no Spark:

SELECT * FROM meu_catalogo.meu_schema.minha_view;

O que acontece nesse código:

  1. O motor Spark consulta a API do Unity Catalog para obter a definição SQL da view.
  2. O Spark executa o plano de consulta lendo diretamente os arquivos das tabelas Delta de apoio.

Limitações e requisitos

  • Estágio: GA para consultas a views Delta Lake via Unity REST API; Beta para acesso via Iceberg REST catalog.
  • Configuração no metastore: O recurso External data access precisa estar explicitamente habilitado no metastore do Unity Catalog.
  • Permissões necessárias: O leitor precisa de USE CATALOG e USE SCHEMA nos catálogos e schemas pais, SELECT na view e em todas as tabelas ou views referenciadas, e EXTERNAL USE SCHEMA nos schemas onde essas tabelas residem.
  • Autenticação: Exige Databricks personal access token (PAT) ou token OAuth.
  • Versões mínimas: Apache Spark 4.0, Unity Catalog Spark connector 0.6.0 e Delta Lake 4.3.0.
  • Operações restritas: Motores externos não podem criar ou alterar views (CREATE ou ALTER). A sintaxe SQL da view precisa ser compatível com o dialeto Spark SQL do motor externo.
Ver nota oficial do Databricks

External access to views through the Unity REST API is generally available

Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.

Relacionadas