Dictionary

Data skew

Data skew betekent dat data ongelijk verdeeld is over waarden, partities of workers. Eén klant, sleutel of categorie krijgt dan veel meer records dan de rest.

Wat is data skew?

Data skew betekent dat data scheef verdeeld is. Eén waarde, klant, product, land of partitie bevat veel meer records dan de rest.

Dat lijkt onschuldig, tot je data parallel verwerkt. Een Spark-job kan honderd workers hebben, maar als één worker bijna alle records voor klant "Amazon" krijgt, wacht iedereen op die ene zware taak.

Data skew is dus geen fout in de data. Het is een verdeling die technische verwerking oneerlijk maakt.

Voorbeeld

Een SaaS-bedrijf verwerkt events per klant. De meeste klanten sturen enkele duizenden events per dag. Eén enterprise-klant stuurt er honderd miljoen. Als de pipeline partitioneert op customer_id, krijgt één partitie extreem veel werk.

De job lijkt dan bijna klaar, maar blijft hangen op één taak. In monitoring zie je veel snelle taken en één of enkele taken die veel langer lopen.

Waar merk je data skew?

  1. Joins. Eén join key komt veel vaker voor dan de rest en veroorzaakt een zware partitie.

  2. Group by. Eén groep verzamelt veel meer rijen dan andere groepen.

  3. Partitionering. Bestanden of partities worden ongelijk groot.

  4. Queryplannen. De optimizer schat gemiddelden, terwijl de werkelijkheid scheef is.

Data skew versus class imbalance

Data skew gaat breed over scheve verdeling in data en verwerking. Class imbalance is een specifiek machine learning-probleem waarbij één klasse veel zeldzamer is dan een andere.

Een fraudedataset met weinig fraudegevallen heeft class imbalance. Een Spark-join waarbij één klant bijna alle rijen heeft, heeft data skew. Soms komen ze samen voor, maar ze vragen andere oplossingen.

Wat kan je doen aan data skew?

De oplossing hangt af van de oorzaak. Soms helpt een andere partitioneringssleutel. Soms voeg je salting toe: je verdeelt een zware sleutel kunstmatig over meerdere buckets. Bij kleine lookup-tabellen kan een broadcast join helpen.

In analytische modellen helpt het om scheve categorieën zichtbaar te maken. Een "onbekend" of "overig" die 80 procent van de rijen bevat, is vaak een datakwaliteitsvraag.

Waar moet je op letten bij data skew

  • Kijk naar verdelingen, niet alleen gemiddelden. Gemiddelde partitiegrootte verbergt extreme waarden.

  • Meet taakduur per worker. Eén langlopende taak wijst vaak op skew.

  • Los niet alles met meer capaciteit op. Meer workers helpen weinig als alle data naar één worker gaat.

  • Documenteer zware sleutels. Bekende uitzonderingen horen in runbooks en pipeline-ontwerp.

Laatst Bijgewerkt: July 9, 2026 Terug naar Woordenboek
Trefwoorden
data skew apache spark partitionering datapijplijn data warehouse class imbalance query optimizer performance