Ler tabelas do Databricks de clientes Delta
Use o catálogo REST do Iceberg para ler tabelas registradas no Unity Catalog no Azure Databricks a partir de clientes Iceberg compatíveis, incluindo Apache Spark e DuckDB.
Dica
Para obter informações sobre como ler dados do Azure Databricks usando o Microsoft Fabric, veja Use o Microsoft Fabric para ler dados registrados no Unity Catalog.
Ler usando a API REST do Unity
A API REST do Unity fornece aos clientes externos acesso de leitura às tabelas Delta registradas no Unity Catalog. Alguns clientes também dão suporte à criação de tabelas e gravação em tabelas existentes.
Configurar o acesso usando o endpoint /api/2.1/unity-catalog
.
Requisitos
O Azure Databricks oferece suporte ao acesso da API REST do Unity às tabelas como parte do Catálogo do Unity. Você deve ter o Catálogo do Unity habilitado em seu espaço de trabalho para usar esses endpoints. Os seguintes tipos de tabela são elegíveis para leituras da API REST do Unity:
- Tabelas gerenciadas pelo Catálogo do Unity.
- Tabelas externas do Catálogo do Unity armazenadas com o Delta Lake.
Você deve concluir as seguintes etapas de configuração para configurar o acesso para ler tabelas do Databricks de clientes Delta usando a API REST do Unity:
- Habilite o Acesso a dados externos no seu metastore. Confira Habilitar o acesso a dados externos no metastore.
- Conceda à entidade de segurança que configura a integração o privilégio
EXTERNAL USE SCHEMA
no esquema que contém as tabelas. Confira Conceder a uma entidade de segurança EXTERNAL USE SCHEMA. - Autentique usando um token de acesso pessoal do Databricks. Consulte Autorizando o acesso aos recursos do Azure Databricks.
Ler tabelas Delta com Apache Spark
Veja a seguir um exemplo das configurações do Apache Spark para ler tabelas Delta, gerenciadas e externas, do Catálogo Unity.
"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>/api/2.1/unity-catalog",
"spark.sql.catalog.<uc-catalog-name>.token":"<token>",
"spark.sql.defaultCatalog":"<uc-catalog-name>"
Substitua as seguintes variáveis:
<uc-catalog-name>
: o nome do catálogo no Unity Catalog que contém suas tabelas.<workspace-url>
: URL do workspace do Azure Databricks.<token>
: token PAT para a entidade de segurança que está configurando a integração.
Importante
As configurações específicas variam dependendo do tipo de armazenamento de objetos em nuvem que dá suporte ao catálogo. Confira a documentação do Catálogo do Unity de software de código aberto para obter configurações adicionais.