Ler tabelas do Databricks a partir de clientes Delta
Use o catálogo REST do Iceberg para ler tabelas registradas no Unity Catalog em Databricks a partir de clientes Iceberg compatíveis, incluindo Apache Spark e DuckDB.
Leia 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 oferecem suporte à criação de tabelas e à gravação em tabelas existentes.
Aviso
Para evitar possíveis problemas de corrupção e perda de dados, a Databricks recomenda que o senhor não modifique a mesma tabela Delta armazenada no S3 a partir de diferentes clientes de gravação.
Configure o acesso usando o endpoint /api/2.1/unity-catalog
.
Requisitos
O Databricks oferece suporte ao acesso à API REST do Unity para tabelas como parte do Unity Catalog. O senhor deve ter o Unity Catalog ativado em seu workspace para usar esses endpoints. Os tipos de tabela a seguir são elegíveis para leituras da API REST do Unity:
Unity Catalog Gerenciar tabelas.
Tabelas externas do Unity Catalog armazenadas com o Delta Lake.
O senhor deve concluir as seguintes etapas de configuração para configurar o acesso à leitura de tabelas do Databricks de clientes Delta usando a API REST do Unity:
Ative o acesso externo a dados para sua metastore. Consulte Habilitar o acesso externo a dados no metastore.
Conceda ao principal que configura a integração o privilégio
EXTERNAL USE SCHEMA
no esquema que contém as tabelas. Consulte Conceder um principal EXTERNAL USE SCHEMA.Autenticar usando um Databricks tokens de acesso pessoal. Consulte Autenticar o acesso a Databricks recurso.
Ler tabelas Delta com o Apache Spark
A seguir, um exemplo das definições para configurar o site Apache Spark para ler as tabelas Unity Catalog gerenciar e Delta externas:
"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 site Databricks workspace.<token>
: Tokens PAT para o principal que está configurando a integração.
Importante
As configurações específicas variam de acordo com o tipo de armazenamento de objetos em nuvem que respalda o catálogo. Consulte os documentos do OSS Unity Catalog para obter configurações adicionais.