Delta Lake: partizionamento, ordine Z e clustering di liquidi |  di Vitor Teixeira |  Novembre 2023

 | Intelligenza-Artificiale

Come vengono implementati i diversi metodi di partizionamento/clustering in Delta? Come funzionano in pratica?

fotografato da cornice harirak SU Unsplash

Uno dei problemi che rendono difficili i Big Data è sempre stato nel loro nome, è Big. Il partizionamento, soprattutto se eseguito correttamente, è sempre stato un modo per migliorare i tempi di esecuzione delle query su grandi quantità di dati riducendo i dati da leggere in un sottoinsieme. Tuttavia, il partizionamento dei dati è complesso e richiede un’attenta riflessione e una pianificazione anticipata, poiché ciò che soddisfa i requisiti odierni potrebbe non adattarsi a quelli futuri. Ad esempio, nel partizionamento in stile Hive, potrebbe essere necessario modificare le colonne o addirittura aumentarne la cardinalità e rendere i dati sovrapartizionati (problema dei file di piccole dimensioni), richiedendo una ristrutturazione completa dei dati che non è affatto ideale.

Il clustering Z-Order è un’altra tecnica utilizzata per saltare i dati, evitando anche scansioni complete dei dati. Tuttavia, questa tecnica presenta alcune limitazioni. Uno è che i dati appena inseriti non vengono ordinati per impostazione predefinita e gli utenti sono tenuti a riorganizzarli, il che significa che i dati già raggruppati verranno riorganizzati e riscritti, aumentando il tempo dedicato all’operazione. Gli utenti Z-Order devono inoltre definire le colonne di clustering ogni volta che eseguono il comando poiché non fanno parte di alcuna proprietà della tabella.

È qui che entra in gioco Liquid Clustering. La premessa è che possa adattarsi perfettamente al layout attuale dei dati ed essere anche in grado di adattarsi alle esigenze future senza la necessità di riscrivere i dati già raggruppati.

In questo post spiegheremo i dettagli delle diverse strategie di potatura dei dati in Delta e come vengono applicate.

Partizionamento in stile Hive — Immagine dell’autore

Il partizionamento in stile Hive è un modo di organizzare una tabella in piccole parti. Questi blocchi di dati sono organizzati in diverse sottocartelle che contengono i dati per il valore della partizione.

dbfs://people10m/gender=M/data_0.json
dbfs://people10m/gender=M/data_1.json
dbfs://people10m/gender=F/data_0.json…

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *