Pular para o conteúdo principal

Leia tabelas do Databricks de clientes Delta Lake.

Esta página fornece uma visão geral de como usar a API REST do Unity para acessar Unity Catalog e tabelas externas a partir de clientes Delta Lake externos. Para criar tabelas Delta Lake 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 URL do seu workspace . O cliente Spark do Unity Catalog encaminha automaticamente as solicitações para o endpoint da API do Unity Catalog apropriado.

importante

A URL workspace usada para o endpoint API REST do Unity deve incluir o ID workspace . Sem o ID workspace , as solicitações API podem retornar um redirecionamento 303 para uma página de login em vez da resposta esperada.

Para encontrar o URL e o ID do seu espaço workspace workspace , consulte Nomes, URLs e IDs de instâncias de espaço de trabalho.

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.

Você deve concluir as seguintes etapas de configuração para configurar o acesso de leitura de objetos Databricks a partir de clientes Delta Lake usando a API REST do Unity:

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

O Databricks 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 externos do Apache Spark requer:

A seguinte configuração é necessária para ler tabelas Unity Catalog e tabelas externas Delta Lake 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>",
"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 .

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

importante

Databricks recomenda o uso OAuth em vez de PATs para autenticação account de usuário, pois OAuth oferece maior segurança. Para aprender como autenticar com uma account de usuário Databricks usando OAuth, consulte Autorizar o acesso do usuário ao Databricks com OAuth.

Configuração

Os seguintes pacotes ou arquivos JAR devem ser incluídos na sua configuração Spark :

  • Delta Lake Spark (io.delta:delta-spark): Fornece suporte Delta Lake para Apache Spark.
  • Conector Spark do Unity Catalog (io.unitycatalog:unitycatalog-spark): Conecta o Apache Spark ao Unity Catalog.
  • Conector de armazenamento em nuvem : necessário para acessar o armazenamento de objetos cloud que dá suporte às suas tabelas. O conector depende do seu provedor cloud :
    • AWS : org.apache.hadoop:hadoop-aws — fornece suporte ao sistema de arquivos S3.
    • Azure : org.apache.hadoop:hadoop-azure — fornece suporte ao Azure Data Lake Storage Gen2.
    • GCP : gcs-connector JAR — fornece suporte ao Google Cloud Storage. Baixe o JAR separadamente e faça referência a ele usando spark.jars.

Para configurações adicionais específicas cloud , consulte a documentação OSSUnity 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>",
"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

Baixe o JARdo conectorGCS e atualize o caminho spark.jars para apontar para o arquivo de downloads gcs-connector-3.0.2-shaded.jar .

:::

Variáveis

Substitua as seguintes variáveis na configuração:

  • <uc-catalog-name>: O nome do catálogo Unity Catalog que contém suas tabelas.

  • <token>access token pessoal (PAT) para a entidade principal que configura a integração.

  • <workspace-url>: O URLworkspace Databricks , incluindo o ID workspace . Por exemplo, cust-success.cloud.databricks.com/?o=6280049833385130.

Renovação de credenciais

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 as versões Databricks Runtime e Spark .