Saltar para o conteúdo principal
Versão 3.0

Configuração do Delta Lake

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

O que é o Delta Lake?

O Delta Lake é um formato de tabela aberta que adiciona transações ACID ao armazenamento de objetos (S3/Ozone). Em vez de gravar arquivos Parquet diretamente, o Delta Lake mantém um transaction log — um histórico de todas as operações (INSERT, UPDATE, DELETE, MERGE) realizadas na tabela.

Com o tempo, esse modelo gera dois tipos de acúmulo que precisam de limpeza periódica:

  1. Arquivos órfãos: arquivos Parquet que existem no S3 mas não são mais referenciados por nenhuma versão ativa da tabela
  2. Versões antigas: o transaction log mantém histórico indefinidamente; sem limpeza, ele cresce sem limite

O chart tdp-deltalake não é uma aplicação contínua — ele cria Kubernetes CronJobs que rodam periodicamente para realizar essa manutenção automaticamente, utilizando Apache Spark 4.0.2.

Para saber mais

Consulte Delta Lake — Conceitos para uma visão completa do formato, transações ACID e casos de uso.

Jobs de manutenção fornecidos

JobDescrição
VACUUMRemove arquivos antigos não referenciados pelo transaction log
OPTIMIZECompacta arquivos pequenos em arquivos maiores
OPTIMIZE Z-ORDEROtimiza o layout dos dados para consultas com filtros específicos
DESCRIBE HISTORYRegistra histórico de alterações para auditoria

Estrutura de valores (Helm)

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

  • maintenance: — jobs de manutenção (VACUUM, OPTIMIZE, Z-ORDER, DESCRIBE HISTORY), agendamento (cron), retenção e configuração Spark dos jobs.
  • spark: — valores do chart upstream do Spark: imagem base, labels, configuração de master e workers.
maintenance:
enabled: true
spark:
enabled: true
image:
repository: "registry.tecnisys.com.br/tdp-dev/images/spark"
tag: "4.0.2-0"
jobs:
vacuum:
enabled: true
schedule: "0 2 * * *"
retentionHours: 168

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

Visão geral

PropriedadeValor
Charttdp-deltalake
Tipomaintenance (CronJobs)
Versão do Delta Lake4.0.1
Versão do chart3.0.1
Registry (OCI)oci://registry.tecnisys.com.br/tdp/charts/tdp-deltalake
Spark4.0.2
Scala2.13

Páginas relacionadas

Pré-requisitos

  • Kubernetes 1.32+, Red Hat OpenShift 4.19+ ou Rancher Manager 2.10.x+
  • Helm 3.2.0+
  • Secret s3-credentials com as chaves access-key e secret-key criado no namespace antes do deploy. Consulte Segurança — Delta Lake para instruções.

Instalação

Terminal input
helm upgrade --install <RELEASE_NAME> \
oci://registry.tecnisys.com.br/tdp/charts/tdp-deltalake \
--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

No OpenShift, o chart aplica force no Security Context por padrão:

global:
compatibility:
openshift:
adaptSecurityContext: force

Esse valor já vem pré-configurado no values.yaml. A justificativa desse padrão está na página Configuração Geral, aba Decisões de ambiente que afetam a configuração, no tópico Compatibilidade do orquestrador e ajustes de segurança.

Verificação pós-instalação

Terminal input
# Listar CronJobs criados
kubectl get cronjobs -n <NAMESPACE>

# Verificar últimas execuções
kubectl get jobs -n <NAMESPACE>

# Logs de um job específico
kubectl logs -n <NAMESPACE> -l job-name=<JOB_NAME>