Ler tabelas do Databricks a partir de clientes Delta
Esta página fornece uma visão geral sobre como utilizar o Unity REST API para acessar Unity Catalog gerenciar e tabelas externas a partir de clientes Delta externos. Para criar tabelas Delta externas a partir de clientes externos, consulte Criar tabelas Delta externas a partir de clientes externos.
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.
Para obter uma lista completa das integrações compatíveis, consulte Integrações do Unity Catalog.
Ler e gravar usando a API REST do Unity
A API REST do Unity fornece aos clientes externos acesso de leitura às tabelas registradas no Unity Catalog. Alguns clientes também oferecem suporte à criação de tabelas e à gravação em tabelas existentes.
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.
O senhor deve concluir as seguintes etapas de configuração para configurar o acesso à leitura de objetos 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 SCHEMAno esquema que contém os objetos. Consulte Conceder privilégios de administrador principal do Unity Catalog. - Autentique usando um access token pessoal Databricks . Veja Autorizar acesso ao recurso Databricks.
Ler tabelas Delta com o Apache Spark
A seguinte configuração é necessária para ler Unity Catalog gerenciado e tabelas Delta externas com Apache Spark:
"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>",
"spark.hadoop.fs.gs.impl": "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem",
"spark.hadoop.fs.AbstractFileSystem.gs.impl": "com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS",
"spark.jars.packages": "io.delta:delta-spark_2.12:3.2.1,io.unitycatalog:unitycatalog-spark_2.12:0.2.0",
"spark.jars": "/path/to/gcs-connector-3.0.2-shaded.jar"
Você precisa download o arquivo JAR do conector GCS separadamente. Atualize o caminho spark.jars para apontar para o arquivo de downloads gcs-connector-3.0.2-shaded.jar .
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.
As versões dos pacotes mostradas acima são as atuais até a última atualização desta página. Versões mais recentes podem estar disponíveis. Verifique se as versões dos pacotes são compatíveis com a versão Databricks Runtime e a versão Spark .
Para obter mais detalhes sobre como configurar Apache Spark para armazenamento de objetos cloud , consulte a documentação OSSUnity Catalog.