Usar o Apache Spark com o catálogo de ambientes de execução do Lakehouse

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:

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.