Ho un grande set di dati su S3 sotto forma di poche centinaia di file CSV che sono ~ 1,7 TB in totale (non compressi). Sto provando a copiarlo su una tabella vuota su un cluster Redshift.Perché le query di Redshift COPY utilizzano (molto) più spazio su disco per le tabelle con una chiave di ordinamento
Il cluster è vuoto (nessun'altra tabella) e ha 10 nodi dw2.large. Se imposto una chiave di ordinamento sulla tabella, i comandi di copia utilizzano tutto lo spazio disponibile su disco circa il 25% del percorso e interrompe. Se non è presente alcuna chiave di ordinamento, la copia viene completata correttamente e non utilizza mai più del 45% dello spazio disponibile su disco. Questo comportamento è coerente anche se imposto o meno una chiave di distribuzione.
Non so davvero perché questo accada, o se è previsto. Qualcuno ha visto questo comportamento? Se sì, hai qualche suggerimento su come aggirarlo? Un'idea sarebbe provare a importare ogni file singolarmente, ma mi piacerebbe trovare un modo per consentire a Redshift di gestire quella parte stessa e fare tutto in una sola query.
2.5 volte la dimensione dei dati in arrivo? Sembra ridicolo. Non è un numero costante di volte il numero di righe che stai inserendo, ma in realtà dipende dalla dimensione delle righe? – michaelsnowden
Abbiamo anche avuto grossi problemi con questo. Il nostro cluster era al 40% di utilizzo del disco all'inizio dell'importazione e andava fino al 100% e talvolta persino l'importazione si interrompeva, il che sembra ridicolo. –