O Apache Spark se conecta ao lakehouse sem fronteiras pelo catálogo do ambiente de execução do lakehouse. Essa integração usa o endpoint do catálogo REST do Apache Iceberg para fornecer uma interface padrão para descobrir e gerenciar tabelas do Apache Iceberg.
Para começar, consulte os seguintes guias:
Criar e consultar uma tabela do Iceberg usando a Google Cloud CLI (guia de início rápido)
Configurar o Spark e o Hive com o catálogo do ambiente de execução do Lakehouse
Propriedades de configuração do Spark
Configure sua sessão do Spark ou o envio de jobs com as seguintes propriedades para se conectar ao endpoint do catálogo REST do Apache Iceberg:
| Propriedade | Valor | Descrição |
|---|---|---|
spark.sql.catalog.CATALOG_NAME |
org.apache.iceberg.spark.SparkCatalog |
Registra a implementação do catálogo do Apache Iceberg Spark. |
spark.sql.catalog.CATALOG_NAME.type |
rest |
Especifica o tipo de catálogo REST. |
spark.sql.catalog.CATALOG_NAME.uri |
https://biglake.googleapis.com/iceberg/v1/restcatalog |
Especifica o URI do endpoint do catálogo REST do Apache Iceberg no catálogo do ambiente de execução do Lakehouse. Para encaminhar solicitações para um endpoint regional, use https://biglake.LOCATION.rep.googleapis.com/iceberg/v1/restcatalog. |
spark.sql.catalog.CATALOG_NAME.warehouse |
bl://projects/PROJECT_ID/catalogs/CATALOG_ID |
Especifica o caminho do warehouse para um catálogo de vários buckets no catálogo do ambiente de execução do Lakehouse. Para um catálogo de bucket único, use gs://CLOUD_STORAGE_BUCKET_NAME. |
spark.sql.catalog.CATALOG_NAME.header.x-goog-user-project |
PROJECT_ID |
Especifica o ID do projeto do Google Cloud para faturamento e cota em solicitações do catálogo do ambiente de execução do Lakehouse. |
spark.sql.catalog.CATALOG_NAME.rest.auth.type |
org.apache.iceberg.gcp.auth.GoogleAuthManager |
Configura a autenticação do Google Cloud para o endpoint do catálogo REST do Apache Iceberg. |
spark.sql.catalog.CATALOG_NAME.io-impl |
org.apache.iceberg.gcp.gcs.GCSFileIO |
Especifica a implementação do Cloud Storage FileIO para o Apache Iceberg. Obrigatório ao usar o modo de fornecimento de credenciais. |
spark.sql.catalog.CATALOG_NAME.header.X-Iceberg-Access-Delegation |
vended-credentials |
Solicita credenciais de armazenamento de curta duração e escopo reduzido do catálogo do ambiente de execução do Lakehouse durante o carregamento da tabela ao usar o modo de distribuição de credenciais. |
spark.sql.extensions |
org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions |
Ativa as extensões e otimizações SQL do Apache Iceberg no Spark. |
spark.sql.defaultCatalog |
CATALOG_NAME |
Opcional: define o catálogo padrão para a sessão do Spark. |
Substitua:
CATALOG_NAME: o identificador do nome do catálogo configurado na sessão do Spark (por exemplo,my_catalog).LOCATION: a região do Google Cloud em que o catálogo está localizado ao usar um endpoint regional (por exemplo,us-central1).PROJECT_ID: o ID do projeto Google Cloud .CATALOG_ID: o ID do seu catálogo no catálogo do ambiente de execução do Lakehouse.CLOUD_STORAGE_BUCKET_NAME: o nome do bucket do Cloud Storage associado a um catálogo de bucket único.
Para mais detalhes de configuração, consulte Configurar aplicativo cliente e a documentação oficial do Apache Iceberg Spark.