---
title: Speed up your ETL with Pandas UDFs in PySpark
description: ETL-Prozesse sind essentiell für den Betrieb eines Data-Warehouses. Beschleunigen Sie diese durch den Einsatz von Pandas UDFs in PySpark.
---

[Blog ](https://www.five1.de/blog)

# [Speed up your ETL with Pandas UDFs in PySpark](https://www.five1.de/blog/speed-up-your-etl)

 Geschrieben von [Five1](https://www.five1.de/blog/author/five1) | 19.6.2020

## So beschleunigen Sie ETL-Prozesse durch den Einsatz von Pandas UDFs in PySpark auf EMR Clustern in der Amazon Cloud

### Herausforderung

ETL-Prozesse (Extraktion, Transformation, Laden) sind essentiell für den Betrieb eines Data-Warehouses. Um so wichtiger ist es, dass diese Prozesse zuverlässig und schnell laufen. Dabei kommen ggf. komplexe mathematische Funktionen zum Einsatz, um die benötigten Transformationen durchzuführen. Sowohl das Umsetzen als auch das schnelle Ausführen dieser Funktionen kann zu einer Herausforderung werden. Im Falle einer unserer Kunden war der benötigte Zeitraum bis zur möglichen Ausführung des Prozesses so groß, dass ein zeitnahes Reporting auf der Grundlage aktueller Daten nicht möglich schien. 

### Projektbeschreibung - wie hat Five1 dem Kunden weitergeholfen

User Defined Functions (UDFs) ermöglichen es, auch sehr komplexe Funktionen auf die Einträge von Tabellen (in Spark: Dataframes) anzuwenden. Gewöhnliche Spark UDFs können sehr langsam sein und ein Bottleneck in ETL Prozessen darstellen.

Eine Möglichkeit, die Performance um das 3- bis 100-fache zu verbessern, ist ein Umstieg von Spark auf Pandas UDFs. Auf [dieser Seite](https://databricks.com/blog/2017/10/30/introducing-vectorized-udfs-for-pyspark.html) wird dies weiter beleuchtet.

Pandas UDFs führen die Operationen und Berechnungen nicht zeilen- sondern spaltenweise durch, wodurch die Operationen vektorisiert und dadurch beschleunigt werden können. Um von Spark auf Pandas UDFs zu wechseln, muss das pandas package verwendet, aber auch die Logik der UDFs angepasst werden!

 

Technische Highlights:

- ETL Jobs
- PySpark
- Pandas UDFs
- Laufzeitverbesserung

### Lösungen und Ergebnis

Five1 konnte die Funktionen durch die Verwendung von UDFs für die Transformationen kompakt und verständlich umsetzen. Durch einen Umstieg von Spark auf Pandas UDFs konnte zudem die Laufzeit des ETL-Prozesses signifikant verbessert werden, wodurch ein Reporting auf der Grundlage aktuellster Daten ermöglicht werden konnte.

 

Bildquelle: Copyright Emile Guillemot / unsplash.com (Header & Featurebild); alle anderen eigene Darstellungen 

[Vollständigen Beitrag anzeigen](https://www.five1.de/blog/speed-up-your-etl)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Five1"
  },
  "dateModified" : "2025-02-20T13:05:02.036Z",
  "datePublished" : "2020-06-19T10:54:41Z",
  "headline" : "Speed up your ETL with Pandas UDFs in PySpark",
  "image" : {
    "@type" : "ImageObject",
    "height" : 900,
    "url" : "https://f.hubspotusercontent20.net/hubfs/7028971/10-1.png",
    "width" : 1140
  },
  "mainEntityOfPage" : "https://www.five1.de/blog/speed-up-your-etl",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "Five1 – Blog"
  }
}
```