Ingeniero de Datos: pregunta de entrevista
¿Cómo eliges una estrategia de particionamiento de datos?
Particiona por columnas que coincidan con filtros frecuentes y distribuyan volumen, evitando particiones minúsculas y skew. Planifica retención, compactación, datos tardíos, metadatos y pruning.
Respuesta directa
Qué debe cubrir una buena respuesta
Cómo funciona
Particionar divide una tabla en piezas que el motor puede saltarse. La clave de partición debe coincidir con los predicados que usan la mayoría de consultas, normalmente una fecha de evento o un tenant, para que una consulta de una semana lea una semana de ficheros y no todo. Las particiones deben ser lo bastante grandes para evitar la sobrecarga de metadatos y ficheros pequeños, y lo bastante equilibradas para que un valor caliente no concentre la mayoría de los datos. El diseño también cubre datos tardíos que pertenecen a una partición antigua, la compactación de ficheros pequeños escritos por streaming, la retención eliminando particiones enteras y el clustering u ordenación dentro de particiones para filtros secundarios.
Ejemplo
Una tabla de eventos particionada por event_date con clustering por customer_id permite que el informe diario lea una partición y que la búsqueda de soporte se salte casi todo. Un intento anterior particionó por customer_id y produjo 40.000 particiones diminutas y una enorme para el cliente más grande; las consultas se ralentizaron y el metastore sufrió hasta que se cambió el esquema.
Errores frecuentes
- Particionar por una columna de alta cardinalidad y crear miles de particiones diminutas.
- Elegir una clave por la que las consultas nunca filtran, de modo que nada se poda.
- Ignorar los datos tardíos y descartar en silencio eventos que llegan cuando la partición ya se cerró.
Una estructura útil para responder
Responde desde tu propia experiencia.
No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.
Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.