Ler tabelas do Databricks a partir de clientes Delta
Utilize o catálogo REST do Iceberg para ler tabelas registadas 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, consulte Usar o Microsoft Fabric para ler dados registrados no Unity Catalog.
Leitura através da API REST da Unity
A API REST Unity fornece aos clientes externos acesso de leitura às tabelas Delta registradas no Unity Catalog. Alguns clientes também suportam a criação de tabelas e a escrita em tabelas existentes.
Configure o acesso usando o ponto de extremidade /api/2.1/unity-catalog
.
Requerimentos
O Azure Databricks dá suporte ao acesso da API REST Unity a tabelas como parte do Catálogo Unity. Você deve ter o Unity Catalog 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 Unity:
- Tabelas gerenciadas do Unity Catalog.
- Tabelas externas do Unity Catalog armazenadas com Delta Lake.
Você deve concluir as seguintes etapas de configuração para configurar o acesso para ler tabelas Databricks de clientes Delta usando a API REST Unity:
- Ative o acesso a dados externos para o seu metastore. Consulte Ativar o acesso a dados externos no metastore.
- Conceda à entidade principal que configura a integração o privilégio
EXTERNAL USE SCHEMA
no esquema que contém as tabelas. Ver Conceder um EXTERNO principal USE SCHEMA. - Autentique-se usando um token de acesso pessoal Databricks. Consulte Autorizando o acesso aos recursos do Azure Databricks.
Leia tabelas Delta com o Apache Spark
A seguir está um exemplo das configurações para configurar o Apache Spark para ler tabelas Delta gerenciadas e externas do Unity Catalog:
"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 espaço de trabalho do Azure Databricks. -
<token>
: Token PAT para o principal que configura a integração.
Importante
As configurações específicas variam dependendo do tipo de armazenamento de objetos na nuvem que dá suporte ao catálogo. Consulte os documentos do OSS Unity Catalog para obter configurações adicionais.