Pular para o conteúdo principal

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:

Leia tabelas Delta com Apache Spark usando autenticação PAT.

A seguinte configuração é necessária para ler Unity Catalog gerenciado e tabelas Delta externas com Apache Spark usando autenticação PAT:

"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.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1",
"spark.jars": "/path/to/gcs-connector-3.0.2-shaded.jar"
nota

Você precisa download o arquivo JAR do conectorGCS 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>access token pessoal (PAT) para a entidade principal que configura a integração.

Para habilitar a renovação automática de credenciais para tarefas de longa duração, adicione a seguinte configuração:

"spark.sql.catalog.<catalog-name>.renewCredential.enabled": true
nota

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.

Leia tabelas Delta com Apache Spark usando autenticação OAuth.

O Databricks também oferece suporte à autenticação OAuth de máquina para máquina (M2M). OAuth lida automaticamente com a renovação de tokens para autenticação Unity Catalog . Para trabalhos de longa duração que também exigem renovação automática de credenciais de armazenamento cloud , habilite a configuração spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled em sua configuração Spark .

A autenticação OAuth para clientes Spark externos requer:

A seguinte configuração é necessária para ler tabelas gerenciais Unity Catalog e tabelas Delta externas com Apache Spark usando autenticação OAuth :

"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>.auth.type": "oauth",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.uri": "<oauth-token-endpoint>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientId": "<oauth-client-id>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientSecret": "<oauth-client-secret>",
"spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled": "true",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_2.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1",
"spark.jars": "/path/to/gcs-connector-3.0.2-shaded.jar"
nota

Você precisa download o arquivo JAR do conectorGCS 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:

nota

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 sua versão Spark .