Saltar para o conteúdo principal
Versão 3.0

Configuração do Iceberg

ChartVersion3.0.1TypeapplicationAppVersion1.10.0
CompatibilidadeKubernetes1.32+OpenShift4.19+Rancher2.10.x+
Suporte a recursosS3suportado

O que é o Apache Iceberg e por que ele precisa de manutenção?

O Apache Iceberg é um formato de tabela aberta para grandes datasets, projetado para superar limitações do Hive. Assim como o Delta Lake, o Iceberg mantém snapshots: versões imutáveis da tabela a cada operação de escrita. Com o uso contínuo, isso tende a acumular:

  • snapshots antigos;
  • arquivos órfãos;
  • arquivos pequenos que prejudicam a performance de leitura.

O chart tdp-iceberg cria CronJobs Kubernetes para executar essas rotinas de manutenção de forma agendada, usando Apache Spark como motor de processamento.

Para saber mais

Consulte Apache Iceberg — Conceitos para uma visão completa do formato, snapshots e casos de uso.

Estrutura de valores (Helm)

O chart tdp-iceberg distribui a configuração em dois blocos principais:

  • maintenance: — habilita os jobs, define o Spark dos CronJobs, configurações Spark (catálogo, S3) e agendamentos de cada job.
  • spark: — controla o subchart upstream Spark (pods master/worker). Independente da imagem usada pelos CronJobs.
maintenance:
enabled: true
spark:
enabled: true
image:
repository: "registry.tecnisys.com.br/tdp-dev/images/spark"
tag: "4.0.2-0"
jobs:
expireSnapshots:
enabled: true

spark:
image:
registry: registry.tecnisys.com.br
repository: tdp-dev/images/spark
tag: 4.0.2-0

Visão geral

PropriedadeValor
Charttdp-iceberg
Versão do Iceberg (runtime)1.10.0
Versão do chart3.0.1
Registry (OCI)oci://registry.tecnisys.com.br/tdp/charts/tdp-iceberg
Tipomaintenance — CronJobs Kubernetes
Exposição HTTP externaNão se aplica

Compatibilidade de runtime

ComponenteVersão
Spark4.0.2
Iceberg (Spark runtime)1.10.0
Scala2.13

O chart não substitui o catálogo nem o warehouse: ele agenda tarefas que atuam sobre tabelas Iceberg já existentes. Você continua responsável por garantir que os comandos nos CronJobs apontem para o catálogo, metastore e bucket corretos.

Páginas relacionadas

Pré-requisitos

  • Kubernetes 1.32+, Red Hat OpenShift 4.19+ ou Rancher Manager 2.10.x+
  • Helm 3.2.0+
  • Registry OCI da Tecnisys acessível pelo ambiente de instalação
  • Secret s3-credentials criado no namespace antes do deploy (ver Segurança — Iceberg)
  • Endpoint S3/MinIO acessível a partir do cluster
  • Hive Metastore acessível via Thrift, se o catálogo Iceberg usar type: hive

Sem esses itens, os comandos Spark dos CronJobs falham ao resolver warehouse, credenciais ou metadados. Confirme que o metastore e o bucket referenciados nos valores apontam para o catálogo real das tabelas a serem mantidas.

Instalação

Terminal input
helm upgrade --install <RELEASE_NAME> \
oci://registry.tecnisys.com.br/tdp/charts/tdp-iceberg \
--version <CHART_VERSION> \
-n <NAMESPACE> --create-namespace
PlaceholderDescrição
<RELEASE_NAME>Nome do release Helm
<NAMESPACE>Namespace Kubernetes de instalação
<CHART_VERSION>Versão do chart

OpenShift

O chart configura adaptSecurityContext: force por padrão, adequando os contextos de segurança aos requisitos do OpenShift automaticamente. Nenhum parâmetro adicional é necessário para a maioria dos ambientes OpenShift.

global:
compatibility:
openshift:
adaptSecurityContext: force

Verificar instalação

Terminal input
kubectl -n <NAMESPACE> get cronjobs
kubectl -n <NAMESPACE> get jobs
kubectl -n <NAMESPACE> logs job/<JOB_NAME>